<a href="http://files.cnblogs.com/brooks-dotnet/2010.10.05_Mr.Brooks_OCR_TesseractGUI.rar">测试代码下载</a>
1、Tesseract概述
Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。
数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生--2005年,Tesseract由美国内华达州信息技术研究所获得,并求诸于Google对Tesseract进行改进、消除Bug、优化工作。
1.1、首先到Tesseract项目主页下载命令行工具、源代码、中文语言包:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIzY1MWYiVDOxUjNiNWMjdTZwUTZ0cTNwUTYyUTZwAjYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
1.2、命令行工具解压缩后如下(不含1.jpg、1.txt):
1.3、为了进行中文OCR,将简体中文语言包复制到【tessdata】目录下:
1.4、在DOS下切换到Tesseract的命令行目录,查看一下tesseract.exe的命令格式:
Imagename为待OCR的图片,outputbase为OCR后的输出文件,默认是文本文件(.txt),lang为使用的语言包,configfile为配置文件。
1.5、下面来测试一下,准备一张jpg格式的图片,这里我是放到了和Tesseract同一个目录中:
输入:tesseract.exe 1.jpg 1 -l chi_sim,然后回车,几秒钟就OCR完成了:
这里注意命令的格式:imagename要加上扩展名.jpg,输出文件和语言包不需要加扩展名。
OCR结果:
可以看到结果不是很理想,中文识别还说的过去,但是英文、数字大都乱码。不过作为老牌的OCR引擎,能做到这种程度已经相当不错了,期待Google的后续升级吧,支持一下。
2、使用WPF封装Tesseract命令行
2.1、鉴于命令行书写容易出错,且对最终用户很不友好,我做了一个简单的WPF小程序,将Tesseract的命令行封装了一下:
左边选择图片、预览,右边选择输出目录,显示OCR结果,支持本地及网络图片的预览。
图片缩放、移动工具类
2.3、除了使用鼠标。还可以使用滚动条调节图片预览效果:
数据绑定
2.4、由于Tesseract命令行不支持直接OCR网络图片,故先下载:
图片下载
2.5、使用Process来调用Tesseract命令行:
调用Tesseract命令行
2.6、测试本地图片:
2.7、测试网络图片:
小结: