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

Posted 星云的彼岸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有道词典中的OCR功能:第三方库的变化相关的知识,希望对你有一定的参考价值。

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

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

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

  

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

  

  根据搜索结果可知,该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功能:第三方库的变化的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu12.10安装的有道词典为啥不能打开

网易有道词典下载|网易有道词典app下载

python实现查有道词典

网络爬虫技术创建属于自己的有道词典

有道词典怎么在谷歌浏览器屏幕取词

英语学习/词典app行业top5简要分析