有道词典中的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功能:第三方库的变化的更多相关文章
- Bing词典vs有道词典比对测试报告——功能篇之核心功能
必应词典vs有道词典 核心功能对比 从应用的UI布局来看,这两款软件的功能如下: 相同 不同 必应词典 词典.例句.翻译 百科 有道词典 词典.例句.翻译 应用 就词典类软件来说,词典是最核心的功能. ...
- 命令行窗口中使用pip安装第三方库成功之后,在pycharm中仍不能使用
在学习廖老师的Python教程的时候,遇到命令行窗口中使用pip安装第三方库成功之后,在pycharm中仍不能使用的情况, 这种情况可能是由于在本地安装了多个Python版本的缘故(只是可能的情况之一 ...
- Bing词典vs有道词典比对测试报告——功能篇之辅助功能,差异化功能及软件的效能
1.辅助功能: 和有道相比,必应的词典加入了换肤功能,用户可以选择喜欢的颜色,而且必应的皮肤也比较多,这一点设计给必应增色不少. 相对而言,有道则加入了调节客户端字体的大小,如下,也比较人性化 2.差 ...
- Swift中混编OC第三方库
现在Swift的第三方库还比较少,有时候需要使用OC的第三方库,其实也是很容易的. 我们使用如下步骤: 1.新建的Swift项目,第一次创建OC文件时会询问是否生成 桥接头,选择是的话会生成一个桥 ...
- Robot Framework中经常用的第三方库的安装方法
pip升级:python -m pip install --upgrade pip 一.安装robotframework-selenium2library,相当于python中的selenium ...
- Python:在cmd中使用pip安装第三方库时出现SyntaxError
原因:pip安装库时不需要进入Python环境,在Python环境下安装就会出现SyntaxError 解决方法:输入exit(),退出Python环境,然后就可以pip安装了
- Teamwork-Week2真对必应词典和有道词典的软件分析和用户需求调查(桌面版)
经调查,现在有道词典在该领域拥有很大程度的市场占有率,所以我们将有道词典与必应词典进行对比. 核心功能一:单词本 有道词典中的单词本都只能是由用户手动添加不会的单词,而必应词典中的单词 不仅可以被自己 ...
- Python 标准库、第三方库
Python 标准库.第三方库 Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写 ...
- [置顶] android利用jni调用第三方库——第三篇——编写库android程序整合第三方库libhello.so到自己的库libhelloword.so
0:前言: 在第二篇中,我们主要介绍了丙方android公司利用乙方C++公司给的动态库,直接调用库中的方法,但是这样方式受限于: 乙方C++公司开发的动态库是否符合jni的规范,如果不规范,则不能直 ...
随机推荐
- uva1422 二分法+优先队列贪心
题意:有n个任务,每个任务必须在在时刻[r, d]之内执行w的工作量(三个变量都是整数).处理器执行的速度可以变化,当速度为s时,一个工作量为w的任务需要 执行的时间为w/s个单位时间.另外不一定要连 ...
- Linux命令之---find
命令简介 find明林用于查找目录下的文件,同时也可以调用其他命令执行相应的操作 命令格式 find pathname -options [-print -exec -ok ...] find [选项 ...
- Asp.net页面生命周期详解任我行(2)-WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用
摘要 页面类是如何结合后台文件类生成整个页面的HTML的代码和后台输出的代码输出到浏览器中呢?这就牵扯到Asp.net页面生命周期中一个很重要的概念控件树.服务器以反射的方式创建了页面类对象 内容 我 ...
- Windows网络编程笔记4 -- Winsock 协议相关知识
Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1. 面向消息 2. 面向连接和无线接 3. 可靠性和次序性 4. ...
- cookie注意事项
cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式. 四种会话跟踪技术(URL重写.隐藏表单域.Cookie.Session) 服务端技术:URL重写,Session, ...
- Spring boot 整合jsp、thymeleaf、freemarker
1.创建spring boot 项目 2.pom文件配置如下: <dependencies> <dependency> <groupId>org.springfra ...
- 误删除pycharm项目中的文件,如何恢复?
如果写代码的时候,不小心删除来某个文件夹或者文件,而且删除后回收站也找不到, 可以使用如下方法恢复: 选择 Local History -> Show History : 选中需要reset到的 ...
- 后缀数组(SA)学习记录
一只只会后缀自动机却不会后缀数组的弱鸡做了一下HDU - 1403,结果SAM被卡内存了,然后学习了一下SA. 以下两道题都是求LCS,区别在于字符串长度. 参考blog:https://www.cn ...
- [oldboy-django][2深入django]cookies + session
1.1 cookies - 初识cookie a.cookie是保留在浏览器端的键值对 b.服务端可以向客户端写cookie c.客户端每次发送请求,会携带cookie一起发送过去,而且cookie是 ...
- Func<T, TResult> 委托
Func<T, TResult> 委托 Visual Studio 2008 命名空间: System程序集: System.Core(在 System.Core.dll 中) 语 ...