有道词典中的OCR功能:第三方库的变化

摘要:
版本>LangName=“OCRLe”>StringName=“es”Value=“1”Size=“15580”ReName=“spa”UPDATE=“0”LOAD=“0“/>StringName=“pt”Value=“2”Size=“12612”ReName=“por”UPDATE=“0”LOAD=“0“/>

  之前有点好奇有道词典中的OCR功能,具体来说就是强力取词功能。我知道的最有名的OCR库是tesseract,这个库是惠普在早些年前开源的。

  在用python做爬虫处理验证码的时候,就会用到这个库,对应的python封装版本名字叫pytesseract。在github上可以找到tesseract的源码

  不过,此前在有道词典安装之后的文件夹中,我并未找到tesseract库。直到最近,更新了有道词典,换了新版本,才意外在文件下找到一个名叫tessdll.dll的文件。

  有道词典中的OCR功能:第三方库的变化第1张

  与此同时,我对照了一下旧版本,其中有一个叫XDLL.dll的库。查看其属性可以看到,名字叫ksense:

  有道词典中的OCR功能:第三方库的变化第2张

  根据搜索结果可知,该XDLL.dll库来源于一款名叫"逍遥笔手写输入"的国产软件。值得注意的是,在加入tessdll.dll之后依然保留了XDLL.dll。

  要推断其中的原因。还有一个文件值得注意,那就是OcrInfo.xml,其内容为:

<?xml version="1.0" encoding="UTF-8" ?>
<Strings>
    <Version>1.0</Version>
    <Lang Name="OCRLe">
        <String Name="en" Value="0" Size="3470" ReName="eng" UPDATE="0"  LOAD="1"/>
        <String Name="es" Value="1" Size="15580" ReName="spa" UPDATE="0" LOAD="0"/>
        <String Name="pt" Value="2" Size="12612" ReName="por" UPDATE="0" LOAD="0"/>
        <String Name="de" Value="3" Size="13054" ReName="deu" UPDATE="0" LOAD="0"/>
        <String Name="fr" Value="4" Size="13715" ReName="fra" UPDATE="0" LOAD="0"/>
        <String Name="ru" Value="5" Size="15774" ReName="rus" UPDATE="0" LOAD="0"/>
        <String Name="ja" Value="6" Size="32298" ReName="jpn" UPDATE="0" LOAD="0"/>
        <String Name="ko" Value="7" Size="12998" ReName="kor" UPDATE="0" LOAD="0"/>
    </Lang>
    <Lang Name="MultiLeSelect">
        <String Name="英汉互译 " Value="eng" QueryName="en" ReName="英文"      LeHint ="(英语)"     />
        <String Name="法汉互译 " Value="fra" QueryName="fr" ReName="法文"      LeHint ="(法语)"     />
        <String Name="日汉互译 " Value="jpn" QueryName="ja" ReName="日文"      LeHint ="(日语)"     />
        <String Name="德汉互译 " Value="deu" QueryName="de" ReName="德文"      LeHint ="(德语)"     />
        <String Name="韩汉互译 " Value="kor" QueryName="ko" ReName="韩文"      LeHint ="(韩语)"     />
        <String Name="葡汉互译 " Value="por" QueryName="pt" ReName="葡萄牙文"  LeHint ="(葡萄牙语)" />
        <String Name="西汉互译 " Value="spa" QueryName="es" ReName="西班牙文"  LeHint ="(西班牙语)" />
        <String Name="俄汉互译 " Value="rus" QueryName="ru" ReName="俄文"      LeHint ="(俄语)"     />
    </Lang>
</Strings>

  据此可以推断,新版的有道词典加入tesseract库,主要为了支持更多的语言,而中文的OCR可能依然是使用ksense进行处理。

免责声明:文章转载自《有道词典中的OCR功能:第三方库的变化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【BIM】BIMFACE中创建矢量文本[上篇]用systemtap分析磁盘写入操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

简单搭建 @vue-cli3.0 及常用sass使用

  1,在安装了Node.js后使用其中自带的包管理工具npm。或者使用淘宝镜像cnpm(这里不做说明) 1-1,下载vue3.0脚手架(如果之前装vue-cli3x之前的版本,先卸载 npm uninstall vue-cli -g) npm install -g @vue/cli 1-2,下载sass npm install node-sass -...

es6中class类的全方面理解(二)------继承

继承是面向对象中一个比较核心的概念。ES6 class的继承与java的继承大同小异,如果学过java的小伙伴应该很容易理解,都是通过extends关键字继承。相较于ES5当中通过原型链继承要清晰和方便许多。先上代码: class Cucurbit{ constructor(name,color){ console.log("far...

CRC-16校验C#代码

[csharp] view plaincopyprint? using System;   using System.Collections.Generic;   using System.Text;   using System.Runtime.Serialization.Formatters.Binary;   using Sys...

php发送get、post请求的几种方法

方法1: 用file_get_contents 以get方式获取内容 1 <?php 2 $url='http://www.domain.com/'; 3 $html = file_get_contents($url); 4 echo $html; 5 ?> 方法2: 用fopen打开url, 以get方式获取内容 1 &l...

Uni-app基础实战富文本框解析 WordPress rest api实例(二)

Uni-app基础实战富文本框解析 WordPress rest api实例 文本是更具上篇文章uni-app上下拉刷新的续文有需要了解上文的请点击下面连接访问 传送门: Uni-app实战上加载新下拉刷新 WordPress rest api实例 那么我们就开始了,主要的要是去介绍了以下一个插件的使用方式。官方的富文本框有markdown和html两种方...

C#实现向excel中插入行列,以及设置单元格合并居中效果

插入空行: Microsoft.Office.Interop.Excel.Workbook xlsWorkbook; Microsoft.Office.Interop.Excel.Worksheet xlsSheet = xlsWorkbook.Worksheets[1]; Microsoft.Office.Interop.Excel.Range xlsR...