jTessBoxEditor训练中文字库简易版

1. 安装jTessBoxEditor(需安装java,中文识别需要FX版本)
2.双击打开,如果打不开(java -jar  jar的路径)
3.打开 jTessBoxEditor ,选择 Tools -> Merge TIFF,选择要训练的图片,保存.tif的路径
4.在tifi的路径下cmd:tesseract chi_my.font.exp0.tif chi_my.font.exp0 -l chi_sim batch.nochop makebox
5.jTessBoxEditorFX开打.box文件,调整文字位置和文字内容


6.目录路径下cmd:echo font 0 0 0 0 0>font_properties 
7.tesseract chi_my.font.exp0.tif chi_my.font.exp0 nobatch box.train
8. 生成之后手工修改 Clustering 过程生成的 4 个文件(inttemp、pffmtable、normproto、shapetable)的名称为 [lang].xxx。这里改为 chi_my.inttemp、chi_my.pffmtable、chi_my.normproto、chi_my.shapetable

mv inttemp chi_my.inttemp
mv pffmtable chi_my.pffmtable
mv normproto chi_my.normproto
mv shapetable chi_my.shapetable

9.合并:combine_tessdata chi_my.
10.把chi_my.traineddata 放到tesseract-ocr\tessdata下面
 

 

 

 

一、素材准备
1.图片转tif:jtessBoxEditor
2.tif生成Box:tesseract xxx.tif  xxx batch.nochop makebox(如果是中文加参数 -l chi_sim,即:tesseract xxx.tif  xxx -l chi_sim batch.nochop makebox)
3.jtessBoxEditor 打开box文件矫正
二、合并字库
1.生成.tr文件
tesseract xxx.tif xxx nobatch box.train  (中文最好加参数 -l chi_sim tesseract xxx.tif xxx -l chi_sim nobatch box.train)
2.提取特征
unicharset_extractor  文件1.box 文件2.box 文件3.box
3.生成字体特征格式为:
字体名称  取值0 或1 例如:新建一个font.txt
dx 0 0 0 0 0
fs 0 0 0 0 0
dg 0 0 0 0 0
4.执行命令 mftraining -F font.txt -U unicharset dx.tr fs.tr yh.tr
5.聚集 tr文件
cntraining dx.tr fs.tr yh.tr
三、生成字库
6.unicharset, inttemp, normproto, pfftable,shapetable  几个文件加前缀
7.combine_tessdata xxxx.

 

在原有训练数据的基础上,如果有新的字符训练信息需要加入,所有数据重新校准一遍就累死人了。。。。

经研究找到实用合并方法(红色部分为示例,实际应为你自己生成的文件名):

在新的训练数据生成.box 和.tr文件后,

生成字符集 unicharset_extractor add.font.exp0.box new.font.exp0.box

合并训练数据(.tr)

mftraining -F font_properties -U unicharset -O added.unicharset add.font.exp0.tr new.font.exp0.tr

聚合所有的tr文件:

cntraining add.font.exp0.tr new.font.exp0.tr 

重命名文件,我把unicharset, inttemp, normproto, pfftable ,shapetable这几个文件加了前缀added.(注:added.只是我给合成的字典的命名,个人随意)

合并所有文件,生成一个大的资库文件。

命令:combine_tessdata added.

你可能感兴趣的:(jTessBoxEditor训练中文字库简易版)