jTessBoxEditor工具
![在这里插入图片描述](https://img-blog.csdnimg.cn/809748cc07914980b490aae1281d54e5.png)
训练步骤
- 准备样本图片
准备100张验证码图片,名字后缀.png - 合并样本图片
tool->Merges Till,将之前的100张图片选中,然后合并,命名为num.font.exp0.tif。
备注:num是语言名称,font是字体名称 - 生成box文件
tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox - 修改box文件
切换到jTessBoxEditor工具的Box Editor页,点击open,打开前面的tiff文件num.font.exp0.tif,工具会自动加载对应的box文件。
检查box数据,将识别错误的数据进行调整和修正。逐个核对tif文件的box数据,全部检查结束并保存 - 生成font_properties文件
定义字体特征文件。创建一个名称为font_properties的字体特征文件。font_properties不含有BOM头,文件内容格式如下:
fontname italic bold fixed serif fraktur
其中fontname为字体名称,必须与[lang].[fontname].exp[num].box中的名称保持一致。italic 、bold 、fixed 、serif、 fraktur的取值为1或0,表示字体是否具有这些属性。
这里在样本图片所在目录下创建一个名称为font_properties的文件,用记事本打开,输入以下下内容:
font 0 0 0 0 0
这里全取值为0,表示字体不是粗体、斜体等等 - 生成语言文件
通过bat脚本生成语言文件
echo Run Tesseract for Training..
tesseract.exe num.font.exp0.tif num.font.exp0 nobatch box.train
echo Compute the Character Set..
unicharset_extractor.exe num.font.exp0.box
mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr
echo Clustering..
cntraining.exe num.font.exp0.tr
echo Rename Files..
rename normproto num.normproto
rename inttemp num.inttemp
rename pffmtable num.pffmtable
rename shapetable num.shapetable
echo Create Tessdata..
combine_tessdata.exe num.
- num.traineddata便是最终生成的语言文件
- 将num.traineddata拷贝到tessdata目录
- python代码
import tesserocr
from PIL import Image
image = Image.open('C:\\Users\\Administrator\\Desktop\\1.png')
text = tesserocr.image_to_text(image,lang='num')
print(text)