Tesseract OCR 3.05.01 VS2015编译 及 字库训练

tesseract-ocr 源码 https://github.com/tesseract-ocr/tesseract tesseract-ocr build it from source for windows(windows 源码编译) https://github.com/tesseract-ocr/tesseract/wiki/Compiling#windows Tesseract OCR 3.05.01 exe安装文件下载地址 下面说正事

一、最新版本 Tesseract OCR EXE文件生成 1、下载vs2015工程文件 https://github.com/peirick/VS2015_Tesseract 2、下载对应版本的tesseract ocr源码并放入vs2015工程对应文件夹 https://github.com/tesseract-ocr/tesseract或https://github.com/UB-Mannheim/tesseract 3、下载leptonica 源码并放入vs2015工程对应文件夹内 https://github.com/DanBloomberg/leptonica 4、用vs2015或更高版本打开工程进行编译 注意:如果出现缺少文件请查看tesseract ocr或leptonica 源码版本是否匹配, 如果缺少strcasestr.cpp请到tesseract ocr4.0源码中对应文件下获取, 如遇到乱码问题将乱码文件重新保存为工程编码格式GB2312或UTF-8 5、添加变量TESSDATA_PREFIX指向tessdata上级目录 注:如果不添加此步骤在图片识别过程中可能报错 6、添加PATH指向tesseract.exe所在文件夹 7、编译成功后运行test_tesseract.bat进行测试。

二、字符识别基础及训练字库 1、下载jTessBoxEditor(需要安装jdk才能使用) 2、准备好需训练的图片 3、将每个需训练的图片进行识别查看识别效果

tesseract 1.jpg 1 // 后面的1为文本文件名称

4、用jTessBoxEditor将jpg转换为tif文件

tesserocr训练 tesseract训练字库下载_tesseract

tesserocr训练 tesseract训练字库下载_OCR_02

5、将生成所有的tif文件合成一个tif图片集文件,并规范命名

例如red.font.exp0

重复第四步操作,这次选得是tif文件,记得将所有需要训练的tif文件都选上。

tesserocr训练 tesseract训练字库下载_3-05-01_03

6、生成box文件

tesseract red.font.exp0.tif red.font.exp0 batch.nochop makebox

tesserocr训练 tesseract训练字库下载_tesseract_04

7、调整,因为 tesseract 识别的不准确,所以我们用 jTessBoxEditor来调整识别文字的位置、结果

用 jTessBoxEditor打开生成的图片集red.font.exp0.tif ,注意red.font.exp0.tif 对应的box文件一定要和他处于同一个文件夹下(请保持文件名),否则,用jTessBoxEditor打开没有 位置、识别结果等信息,然后就可以调整了,调整完之后保存;注意多个tif文件生成的tif图片集在打开后是分页的。

tesserocr训练 tesseract训练字库下载_3-05-01_05

8、生成.tr文件

tesseract red.font.exp0.tif  red.font.exp0   nobatch box.train

tesserocr训练 tesseract训练字库下载_字库训练_06

9、计算字符集,从生成的 box文件中提取

unicharset_extractor red.font.exp0.box

tesserocr训练 tesseract训练字库下载_OCR_07

注意:unicharset_extractor在vs2015项目中是没有的,请下载tesseract3.05.exe安装文件,解压缩exe文件后将除tesseract.exe外的exe文件复制到vs2015中tesseract.exe文件路径下即PATH下。

10、生成字体特征文件

在tif文件夹下创建font_properties.txt 内容

定义字体特征文件,Tesseract-OCR 3.01 以上的版本在训练之前需要创建一个名称为 font_properties 的字体特征文件。font_properties 不含有 BOM 头,文件内容格式如下:

font 0 0 0 0 0

创建后执行命令

mftraining -F font_properties.txt -U unicharset red.font.exp0.tr

tesserocr训练 tesseract训练字库下载_tesseract_08

11、聚集tesseract 识别的训练文件

cntraining red.font.exp0.tr

tesserocr训练 tesseract训练字库下载_tesseract_09

执行完这一步之后发现文件夹下生产了许多文件,把unicharset, inttemp, normproto, pfftable,shapetable这几个文件加上前缀 red.

12、最后一步,合并相关文件,生成字典文件

combine_tessdata red.

tesserocr训练 tesseract训练字库下载_OCR_10

好了,至此字典文件就生产了,我们把生成的字典文件red.traineddata放入到 vs2015中 tessdata文件夹下开始使用我们训练过得字体库,找到之前的jpg图片测试一下识别成功率

如果想更好的识别图片,可以试试将图片二值化处理,可以提高识别率