• 有道词典中的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进行处理。

  • 相关阅读:
    UWP 2018 新版 NavigationView 尝鲜
    UWP 五星评价(不跳转到龟速商店)
    UWP 查找模板中的控件
    Win10版本号区分
    基于Windows 机器学习(Machine Learning)的图像分类(Image classification)实现
    海瑞菌的web前端学习直播间
    【javascript】对原型对象、原型链的理解
    公众号【海瑞菌】的近期总结
    我的2018年【年末总结】--2019年初计划
    【js操作url参数】获取指定url参数值、取指定url参数并转为json对象
  • 原文地址:https://www.cnblogs.com/wurui1994/p/6914589.html
Copyright © 2020-2023  润新知