tesseract训练中文备忘录

来源:互联网 发布:淘宝上的传奇霸业辅助 编辑:程序博客网 时间:2024/05/07 09:32

        最新用OCR识别身份证,用的tesseract引擎。但是google自带的中文库是在太慢了,尤其是对于性别、民族这样结果可以穷举的特征信息而言,完全可以自己训练字库。自己训练字库不仅可以提高识别速度,而且可以提高识别精度!


在训练过程中,常见的error有以下几种:

1)index >= 0 && index<size_used_:Error:Assert failed in genericvector.h, line 512

原因:
检查一下训练后type 13的数值。如果为0,说明shapetable没有配置进去。

2)empty page
原因:版面分析没有做好,没有找到字符。最好手动设置以下版面格式。如:
-psm 7 单行模式
-psm 10 单字符模式

3)用的时候找不到语言包
原因:自己训练完的语言数据要放在../tessdata中,因为tesseract源码里把这个文件路径写进环境变量里了!

4)fail to load font_properties
原因:有些教程没有加.txt。需要写成font_properties.txt这样的格式。


------------------------------训练-------------------------------------------------------------------
1、图片命名规则:lang.fond.exp0.jpg

2、生成box文件:
tesseract chi.test.exp0.jpg chi.test.exp0 batch.nochop makebox

3、用jTessBoxEditor校正文字

4、生成tr文件:
tesseract chi.test.exp0.jpg chi.test.exp0 box.train

5、生成unicharset文件:
unicharset_extractor chi.test.exp0.box

6、新建字体特征文件
font_properties不含有BOM头,文件内容格式如<fontname> <italic> <bold> <fixed> <serif> <fraktur>  
font_properties 文件内容为test 0 0 0 0 0

7、生成shapetable文件
shapeclustering -F font_properties -U unicharset chi.test.exp0.tr

8、生成chi.unicharset inttemp文件
mftraining -F font_properties -U unicharset -O chi.unicharset chi.test.exp0.tr

9、生成normproto文件
cntraining chi.test.exp0.tr

10、合并文件
在inttemp normproto pffmtable shapetable加上前缀chi.
运行combine_tessdata chi.



0 0