在之前已经说明过Tessract-OCR识别(手写|通用字体)中文了,只不过使用的是官方的汉字库,
https://blog.csdn.net/weixin_37794901/article/details/83343092;
若想提高针对几个汉字的识别,可以自己训练文字库生成语言包,这里采用的是比较智障的方式手动机器训练哈;
1.工具:
1)安装好Tesseract-OCR 2)训练工具 jTessBoxEditor (需Java环境),具体如何使用可以网上捞;
2.demo(window10环境)
1)将测试的图片(带有中文的)转换成tiff格式:https://www.aconvert.com/cn/image/jpg-to-tiff/
2)文件命名的格式:
tif文面命名格式[lang].[fontname].exp[num].tif,
lang是语言 fontname是字体,比如我们要训练自定义字库 mjorcen字体名normal,那么我们把图片文件重命名 mjorcen.normal.exp0.jpg在转tif。
3)生成box文件
进入tesseract安装目录,dos命令:
tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l chi_sim batch.nochop makebox
4)打开校验工具,训练文字
dos命令:
tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 nobatch box.train
unicharset_extractor mjorcen.normal.exp0.box
5)新建一个font_properties文件
dos命令:echo normal 0 0 0 0 0 >fileName_properties
6) 生成语言包
dos命令:
shapeclustering -F font_properties -U unicharset mjorcen.normal.exp0.tr
mftraining -F font_properties -U unicharset -O unicharset mjorcen.normal.exp0.tr
cntraining mjorcen.normal.exp0.tr
将生成的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上normal. 方便合成
combine_tessdata normal.
最后得到: