工具
- JDK,jTessBoxEditor是运行在java环境上的
- jTessBoxEditor:下载链接http://down2.opdown.com:8019/opdown/jTessBoxEditor.zip,下载解压,双击train.bat
准备训练数据
两份字体文件的数字图像
操作步骤
Tools -> Merge TIFF
-
生成tif文件
全选,点击打开
tif文件的命名规范:[lang].[fontname].exp[num].tif lang为语言名称,fontname为字体名称,num为序号
-
生成box文件
进入tif文件所在目录,打开cmd,执行
tesseract num.font.exp1.tif num.font.exp1 batch.nochop makebox
-
修改box
点击Open,代开刚刚生成的tif文件,调整char的值
-
生成tr文件
tesseract num.font.exp1.tif num.font.exp1 nobatch box.train
-
计算字符集
unicharset_extractor num.font.exp1.box
会产生一个unicharset文件
-
创建字体特征文件
创建名为font_properties的文件,没有后缀,写入
font 0 0 0 0 0
表示普通字体
-
聚集字符特征
shapeclustering -F font_properties -U unicharset num.font.exp1.tr
mftraining -F font_properties -U unicharset -O unicharset num.font.exp1.tr
cntraining num.font.exp1.tr
-
重命名文件
将产生的五个文件shapetable,normproto,inttemp,pffmtable,unicharset加上前缀num
-
合并五个文件
combine_tessdata num.
会生成num.traineddata文件
到此,训练已完成,将生成的num.traineddata文件放在Tesseract-OCR的tessdata下,便可以用自己训练的字体库识别数字了
pytesseract.image_to_string(img, lang="num")