当前位置:首页 >> 计算机软件及应用 >>

如何提高Tesseract-OCR的识别精度


如何提高 Tesseract-OCR 的识别精度
概述: 本文介绍了提高 Tesseract-OCR 识别精度的步骤及注意事项。 通过对 Tesseract-OCR 的训练能有效提高 Tesseract-OCR 的识别精度,特别是对与验证码识别方面有很 大帮助。 关键字: Tesseract-OCR,验证码,自动识别,手册,教程

1. 使用步骤
1.1. Make Box Files 1.1.1. command
tesseract [lang].[fontname].exp[num].tif specifiedLang] batch.nochop makebox [lang].[fontname].exp[num] [-l

1.1.2. output
[lang].[fontname].exp[num].box

1.2. Fix Box 1.2.1. command
jTessBoxEditor

1.2.2. output 1.3. Run Tesseract for Training 1.3.1. command
tesseract box.train [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] nobatch

1.3.2. output
[lang].[fontname].exp[num].tr [lang].[fontname].exp[num].txt

1.4. Compute the Character Set 1.4.1. command
unicharset_extractor [lang].[fontname].exp[num].box

1.4.2. output
unicharset

1.5. Clustering 1.5.1. command1
mftraining -F font_properties -U unicharset [lang].[fontname].exp[num].tr

1.5.2. output1
inttemp mfunicharset Microfeat pffmtable

1.5.3. command2
cntraining [lang].[fontname].exp[num].tr

1.5.4. output2
normproto

1.6. Combine 1.6.1. command
combine_tessdata [dir/]lang.

1.6.2. output
[lang].traineddata

1.7. Test 1.7.1. command
tesseract specifiedTif output -l specifiedLang -psm 7

1.7.2. output
output.txt

2. 使用说明
2.1. 关于名称的说明
在 各 个 步 骤 中 多 处 出 现 类 似 [lang].[fontname].exp[num] 的 名 称 , 这个 是 按 照 tesseract 的使用说明写的,但在实际使用过程中并不是必须的,可以从简。 例如:my.calibri.exp0.tif 写成 my.tif 也是可以的。

2.2. 关于步骤的说明 2.2.1. Make Box File
[-l specifiedLang]个人认为主要是为了减少步骤 2(Fix Box)的工作量而使用的。 选择合适的文件可以让生成的 box 更加准确,减少修改工作量。

2.2.2. Fix Box
jTessBoxEditor 是一个 tesseract-OCR 的辅助工具,主要用来修改生成的 Box。它还 有 2 个不错的功能就是:1、合并 tif 文件;2、利用一个文本和设置的字体生成 一个 tif 图片。 在用 jTessBoxEditor 修改生成的 Box 过程中需要注意,如果 tesseract-OCR 没有认 出某个 tif 图片上的文字,最好不要自行添加,也不要对粘连的字符进行 split 或 对分开的字符进行 merge。 因为很可能即使这么做了, 在步骤 3 (Run Tesseract for Training)里也只是会收到一个错误提示。 通过用 jTessBoxEditor 对识别错误的 Box 进行修改,可以有效提高 Tesseract-OCR 的识别精度,特别是在图片中的字符出现粘连的情况下。 jTessBoxEditor 的下载地址是: http://sourceforge.net/projects/vietocr/files/jTessBoxEditor/

2.2.3. Clustering
按照 tesseract-OCR 的说明,在这个步骤里是可以一次对多个 tr 进行操作的,但 我每次都提示程序出错,所以我采取合并文件的方式来变通。

2.2.4. Combine
这个步骤所生成的 traineddata 文件就是 tesseract-OCR 进行识别的关键。在执行 combine_tessdata 命令前, 请将步骤 4 Compute the Character Set) 5 Clustering) ( 和( 中生成的 6 个文件重命名,在文件名前加上“lang.” 。 例如:lang 是 my, 则对应的文件名就是 my. unicharset my.inttemp my.mfunicharset my.Microfeat my.pffmtable my.normproto) 如果命令参数中用 dir 指定了目录, 请将上述 5 个文件一起复制到指定的目录中。

2.2.5. Test
生成 traineddata 后,就可以用训练所使用的 tif 图片进行测试。可以通过-l 命令 指定使用新生成的 traineddata。例如:my. traineddata 则在使用时就输入“-l my” (即不带后缀的文件名) 。测试的结果将会输出到 output.txt 中,可以和 tif 图片 进行比较。 如果发现识别率不高,请重新进行步骤 2(Fix Box) 。 如果无法识别,请注意检查是否有遗漏上述步骤的哪一步,或是在执步骤 6 (Combine)时是否有遗漏什么文件没有重命名或复制到指定目录下。


相关文章:
VS2010调用tesseract-OCR API步骤
增加指向安装目录下 lib 的 路径,比如 D: \Tesseract-OCR\lib ,以便 exe ...(); //输出到命令行中 } 然后运行文件,可以发现将识别出的文字显示在了命令...
tesseract使用方法
tesseract使用方法_计算机软件及应用_IT/计算机_专业资料。tesseract 配置过程: 1...ocr tesseract使用方法 暂无评价 1页 免费 如何提高Tesseract-OCR的... 5页 ...
Tesseract_3_语言数据的训练方法
生成第一个 box 文件 演示中将 Tesseract 解压到了 E:\tesseract-ocr 目录。...中途生成 traineddata 的目的只是为了提高文字识别的准确 率,使后面生成的 box ...
Tesseract字库训练说明
my.traineddata 便是最终生成的语言文件,将生成的 my.traineddata 拷贝到 Tesseract-OCR-->tessdata 目录下。可以用它来进行字符识别了。 ...
Tesseract-OCR 介绍
它是 1995 年 UNLV 精度测试中排名前 3 的引擎之一。1995 年至 2006 年间...如何提高Tesseract-OCR的... 5页 3下载券 Web验证码的生成与识别 67页 免费...
Tesseract3.02中文字库训练
Tesseract3.02中文字库训练_计算机软件及应用_IT/计算机_专业资料。[转]Tesseract 3.02 中文字库训练下载 chi_sim.traindata 字库 下载 tesseract-ocr-setup-3.02....
Tesseract简介
OCR 引擎, 曾 经在 1995 UNLV 精确度测试中名列...执行识别图像的命令格式为: tesseract .exe <imagename...Tesseract 6页 1下载券 如何提高Tesseract-OCR的.....
tesseract-ocr的编译
tesseract-ocr的编译_计算机软件及应用_IT/计算机_专业资料。基于Andriod的文字识别系统,运用了开源项目tesseract-ocr,本文主要介绍了如何git该项目,以及如何用Android-...
windows环境下编译Tesseract-OCR
windows 环境下编译 Tesseract-OCR 概述最 近要用 java 实现一个验证码识别系统,选了半天之后最终决定用 Tesseract-OCR 作为识别引擎。既然是 java+Tesseract-OCR,...
OCR开源代码以及OCR公开训练测试数据集汇总
OCR开源代码以及OCR公开训练测试数据集汇总_计算机软件及应用_IT/计算机_专业资料...提高Tesseract-ocr识别精... 5页 免费 tesseract ocr engine 中... 9页 ...
更多相关标签: