安装tesseract , java , jTessBoxEditor
二.准备样本图片 (
二三四可以用下面红色部分代替)
同样文字的不同字体图片
白底黑子
可以在word里面写,然后保存图片,注意设置字体大小和字体间距
三.png图片合并成tif文件
tif文件命名格式 [lang].[fontname].exp[num].tif
根据国际标准lang一般是3个字母的
四.根据tif生成box文件
tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox
这个地方加上-l chi_sim --psm 7 效果会好一些,方便下面纠正
纠正数据,官方完全是文本编辑的,这个地方可以用jTessBoxEditor
PS:可以用“text2image --fonts_dir ~/.fonts --text training_text.txt --min_coverage .9 --outputbase result ”生成tif和box文件,这样的文件不用纠正
这种方式训练很快的,基本5分钟一次,而且准确率还可以,尤其十一些特殊字体的识别,会比原来 的chi_sim效果好多了
可以参考我的github上的laowu的目录(这个是用的laowu的字体)
五.生成train文件
tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] box.train
这个地方对输出结果的分析,可能会影响最终的识别准确率
六.生成字符集
unicharset_extractor [lang].[fontname].exp[num].box lang.fontname.exp1.box
这个文件可以用vi查看
七.生成font_properties文件(这个是3.01新增的)
八.聚类生成字符特征原型
shaoeclustering mftraining cntraining 三个命令
九.字典数据(directory data) 这个是可选的
十.最终文件unicharambigs的介绍,这个可以看一下
十一.合并文件
一共有5个文件需要合并 abc.shapetable , abc.normproto , abc.inttemp , abc.pffmtable , abc.unicharset
十二.验证测试
我这个测试发现1个字被识别成2个字,还有多识别了2个空格,其他的识别还可以
这个运行之后的github地址
https://github.com/asysbang/tesseract.git
======待研究问题
1.补充github地址
2.num多个时怎么处理
3.手动纠正和jTessBoxEditor是否对最终的识别结果有影响