赞
踩
1、生成box文件:组织训练集,并生成对应的box标注文件。
- ./tesseract {image_path} {output_path} -l chi_sim makebox
-
- tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox
生成的box文件为num.font.exp0.box,box文件为Tesseract识别出的字符及其坐标。
注:Make Box File 文件名有一定的格式,不能随便乱取名字,命令格式为:
tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox
其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。
-l chi_sim 选择中文简体, 需要在jTessBoxEditor/tesseract-ocr/tessdata文件夹下放入下载好的中文字库chi_sim.traineddata
如果上述命令省略-l chi_sim 表示默认使用引文字符集
使用jTessBoxEditor gui 修正字体
在目标文件夹内生成一个名为font_properties的文本文件,内容为: font 00000
【语法】: <fontname> <italic> <bold> <fixed> <serif> <frakture>
fontname为字体名称,italic为斜体,bold为黑体字,fixed为默认字体,serif为衬线字体,fraktur德文黑字体,1和0代表有和无,精细区分时可使用
2、合并box文件:将多个box文件进行合并。
cat *.box > font.box
3、生成训练集:通过box文件生成对应的训练集。
./tesseract {image_path} {output_path} nobatch box.train
4、生成字符集:通过训练集计算生成字符集文件。
unicharset_extractor train/ampersand.box train/A.box ...train/Y.box
5、生成向量文件:通过字符集和训练集生成向量文件。
mftraining -F font_properties -U unicharset -O output unicharset
6、生成分类器文件:通过向量文件生成分类器文件。
cntraining output/ampersand.tr output/A.tr ... output/Y.tr
7、生成Tesseract字库:将向量文件和分类器文件合并,生成Tesseract OCR引擎所需的字库文件。
combine_tessdata output/{fontname}.traineddata
最后将num.trainddata复制到Tesseract-OCR中tessdata文件夹即可。
测试:
tesseract test.png output_2 -l num
总结批命令:
- rem 执行改批处理前先要目录下创建font_properties文件
- 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.
- echo. & pause

参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。