Tesseract开源图片文字识别项目

Tesseract最初是在1985年至1994年间在Hewlett-Packard Laboratories Bristol和Greeley Colorado的Hewlett-Packard Co开发的,1996年进行了一些更改,移植到Windows,以及1998年的一些C ++。2005年Tesseract开放惠普采购。自2006年以来,它由谷歌开发。
运行Tesseract
基本命令行用法:

tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]
有关各种命令行选项的更多信息,请使用tesseract --help或man tesseract。

Tesseract具有unicode(UTF-8)支持,可以“开箱即用” 识别100多种语言。

Tesseract支持各种输出格式:纯文本,特殊(html),pdf,tsv,仅隐形文本pdf。

您应该注意,在许多情况下,为了获得更好的OCR结果,您需要提高您给Tesseract 的图像质量。

适用于Tesseract 3.05-02和Tesseract 4.00-beta的Windows安装程序可从UB Mannheim的Tesseract获得。其中包括培训工具。32位和64位安装程序都可用。页面链接是https://github.com/UB-Mannheim/tesseract/wiki
tesseract-ocr-setup-3.05.02-20180621.exe下载地址:
https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.02-20180621.exe
tesseract-ocr-w64-setup-v4.0.0-rc3.20181014.exe下载地址:
https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0-rc3.20181014.exe
命令示例:
>tesseract D:\\sql.PNG D:\\read -l eng --psm

识别中文字体需要chi_sim.traineddata
https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/chi_sim.traineddata

tesseract 的好处就在能够自己训练需要识别的字符,如果只是识别印刷字体这样的需求还是调用 API 比较方便,比如说百度云的文字识别 API。
要进行训练就下载 jTessBoxEditor 样本训练工具
https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/jTessBoxEditorFX-2.1.0.zip/download
解压下载压缩包,在解压后的文件夹中双击打开train.bat
在弹出窗口的Trainer选项卡中设置对应参数,模式选择Make Box File Only,点Run生成Box文件
,然后打开Box Editor选项卡取调整识别字符
重新进入Trainer选项卡,选择Train with Existing Box模式,将之前说的三个文件添加到训练所在的文件夹中。点击运行,生成结果
最终生成的traineddata文件最终要拷贝tesseract安装目录的tessdata目录下
3
分享 2019-01-22

5 个评论

我也不太懂
说实话不太好用,不同平台一般有二次包装的方案。
必须另外训练样本,否则识别率很低。
无为而治 新注册用户
不太好用,需要改进完善。
习歪头熊 新注册用户
用过这个, tesseract 比较适合规整的文字, 如果文字不够规整,需要先把文字或编码如车牌或护照号等先定位,然后使用ROI (region of interest ) 后再用tesseract 识别。

要发言请先登录注册

要发言请先登录注册