我们通常使用jTessBoxEditor训练工具进行训练,由于该工具是用Java开发的,所以在安装这个软件之前要保证电脑中有Java环境,这里就不介绍了。
安装jTessBoxEditor
可以在这里下载到最新版安装包
把下载得到的压缩包解压到任意位置,双击其中的train.bat
文件,等待一会,弹出窗口就可以开始训练了
制作训练样本
生成tif文件
打开软件,选择Tools
->Merge TIFF
,文件类型选择ALL Image Files
,选择所有要训练的样本图片,打开
之后会又弹出窗口,文件名需要自己设定,注意要按照格式设置:
[lang].[fontname].exp[num].tif
其中lang为语言名称,fontname为字体名称,num为序号。这三项都可以自己定义
这里我们设置为captcha.font.exp0.tif
,文件类型TIFF
,保存
生成box文件
将之前生成的captcha.font.exp0.tif
复制到Tesseract-OCR的安装目录
打开cmd进入安装目录,执行命令
tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox
将.box文件和.tif文件放在同一文件夹
手动调整
打开jTessBoxEditor工具,点击Box Editor
->Open
,选择打开之前生成的.box文件
软件中便会显示Tesseract自动标记识别的字符,接下来就需手动调整每一张的字符框和识别结果
全部修改完成后,选择Save保存即可
训练
先新建一个名为font_properties的文件,注意,只是文件,没有后缀!打开后,内容输入
captcha 0 0 0 0 0
这里全取值为0,表示字体不是粗体、斜体等等
之后在命令行分别运行命令:
shapeclustering.exe -F font_properties -U unicharset captcha.font.exp0.tr
mftraining.exe -F font_properties -U unicharset captcha.font.exp0.tr
cntraining.exe captcha.font.exp0.tr
之后给文件 inttemp,normproto,pffmtable,shapetable,unicharset 添加前缀captcha.
,也就是我们的字体名
生成语言库
命令
combine_tessdata.exe captcha.
会生成一个captcha.traineddata
文件,将其复制到Tesseract-OCR安装目录中的tessdata文件夹即可
使用训练结果
在调用tesseract或pytesseract时,只需添加参数lang=“captcha”(我们的字体名),程序就会自动调用啦