Tesseract 训练自己的模型步骤
1 获取大量验证码图片
2 进行验证码图片预处理(降噪、二值化等)并且生成 tiff 格式图片
可以用画图进行图片另存为 tiff 格式,也可以用下列代码批量进行图片转换
from PIL import Image
im = Image.open(path)
im.save('xxxx.tiff')
3 使用 jTessBoxEditor 中的 merge tiff 将所有 tiff 图片生成一份 tif 文件
jTessBoxEditor 软件下载:ef8b7c1eb08b40a49b943e64be4bf22a_jTessBoxEditor.zip
tif 文件命名格式:[language].[fontname].exp[num].tif
例如 eng.yzm.exp0.tif
注意这个格式是 Tesseract 官方定义的,如果不按照这个格式来定义,那么生成的语言库不会生效
4 打开命令行并切换到 tif 文件所在的目录下
输入tesseract.exe eng.yzm.exp0.tif eng.yzm.exp0 batch.nochop makebox
这个步骤的目的是生成 eng.yzm.exp0.box 文件,box 文件的命名规范与 tif 命名规范一致
命令行不要关闭
5 将 tif 文件和 box 文件放在同一个路径下
打开 jTessBoxEditor,在 box editor 中打开 tif 并对自动标注的结果进行纠正后保存
6 生成字符特征文件
在命令行中输入tesseract.exe eng.yzm.exp0.tif eng.yzm.exp0 nobatch box.train
7 产生字符集
unicharset_extrator.exe eng.yzm.exp0.box
8 定义字体特征文件
新建文件命名为 font_properties(类型为文件,如果不知道怎么新建可以在 Tesseract-OCR\tessdata\configs 文件夹中复制一个文件并改名为 font_properties)
在文件中写入yzm 0 0 0 0 0
表示字体名为 yzm,是普通字体,不加粗,不倾斜
9 生成字体形状特征文件
shapeclustering.exe -F font_properties -U unicharset eng.yzm.exp0.tr
10 聚集字符特征
mftraining.exe -F font_properties -U unicharset eng.yzm.exp0.tr
11 生成字符形状正常变化特征文件 normproto
cntraining.exe eng.yzm.exp0.tr
12 文件重命名
给 inttemp,normproto,pffmtable,shapetable,unicharset 添加前缀“yzm”,也就是我们的字体名
13 生成语言库
combine_tessdata.exe yzm.
注意最后有个点
回帖内容已被屏蔽。
雷老板厉害
好东西,不知道能不能用在发票识别上
学习 👍
好炫才好夺目,厉害
啊?这个我年前就写好了,工作太忙一直忘了发
中午刚提到,你这会就出来了,速度可以啊👍👍😂