训练流程
- 创建training_text.txt文件
- 利用text2image工具将training_text.txt文件生成对应的图像文件eng.freemono.exp0.tif和box信息文件eng.freemono.exp0.box
text2image –text=training_text.txt –outputbase=[lang].[fontname].exp0 –font='Font Name' –fonts_dir=/path/to/your/fonts
3.利用tessrect来训练
act [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] box.train.stderr
生成两个文本文件:eng.freemono.exp0.tr和eng.freemono.exp0.txt。
4.生成字符集信息,这需要用到一个叫unicharset_extractor的训练工具
用法为:
unicharset_extractor lang.fontname.exp0.box lang.fontname.exp1.box …
这一步会生成一个名为unicharset的文本文件,正如其名字表明的,这个文件记录的是一个字符集,它存有box文件里面不重复的字符信息,每个单独字符占一行。
5.创建字体信息文件font_properties
6.聚合
shapeclustering, mftraining及cntraining的用法:
shapeclustering -F font_properties -U unicharset lang.fontname.exp0.tr lang.fontname.exp1.tr …
mftraining -F font_properties -U unicharset -O lang.unicharset lang.fontname.exp0.tr lang.fontname.exp1.tr …
cntraining lang.fontname.exp0.tr lang.fontname.exp1.tr …
shapeclustering 会生成一个shapetable文件
mftraining会生成三个文件:eng.unicharset, inttemp, pffmtable
cntraining会生成一个normproto文件
7.合成,生成.traineddata文件:利用combine_tessdata工具来生成:
combine_tessdata eng.
combine_tessdata
Usage for combining tessdata components:
combine_tessdata language_data_path_prefix
(e.g. combine_tessdata tessdata/eng.)Usage for extracting tessdata components:
combine_tessdata -e traineddata_file [output_component_file…]
(e.g. combine_tessdata -e eng.traineddata eng.unicharset)Usage for overwriting tessdata components:
combine_tessdata -o traineddata_file [input_component_file…]
(e.g. combine_tessdata -o eng.traineddata eng.unicharset)Usage for unpacking all tessdata components:
combine_tessdata -u traineddata_file output_path_prefix
(e.g. combine_tessdata -u eng.traineddata tmp/eng.)