實際的操作步驟如下。
先把訓練用樣本圖像準備好。
1、打開 jTessBoxEditor ,選擇 Tools -> Merge TIFF,打開對話框,選擇訓練樣本所在文件夾,並選中所有要參與訓練的樣本圖片,注意對話框中“文件類型”的選取png
2、之後有打開對話框,輸入“chi_my.font.exp0.tif”,格式爲tiff。其中chi_my可改爲自己定義。
會生成chi_my.font.exp0.tif文件。
3、在命令行下執行
tesseract chi_my.font.exp0.tif chi_my.font.exp0 -l chi_sim batch.nochop makebox
tesseract chi_my.font.exp0.tif chi_my.font.exp0 -l eng batch.nochop makebox
會生成“chi_my.font.exp0.box” 文件。
4、打開 jTessBoxEditor ,點擊 Box Editor -> Open,選擇chi_my.font.exp0.tif文件。
5、調整識別錯誤的情況
會是慘絕人寰的過程。尤其是圖像,字符比較多的情況。
注意、修改後的保存需點擊界面上charater後的標識爲設置圖標的button後,再點擊save按鈕。
6、創建字體特徵文件
echo font 0 0 0 0 0>font_properties
會生成“font_properties” 文件。文件size顯示爲0字節。其實裏面有‘“font 0 0 0 0 0”’內容。
7、訓練
tesseract chi_my.font.exp0.tif chi_my.font.exp0 -l eng -psm 7 nobatch box.train
8、生成字符集文件
unicharset_extractor chi_my.font.exp0.box
生成 “unicharset” 文件。
9、生成shape文件,聚集字符特徵文件,字符正常化特徵文件等四個文件。
9.1、命令 shapeclustering -F font_properties -U unicharset -O langyp.unicharset langyp.fontyp.exp0.tr
生成 “shapetable”“inttemp”“pffmtable” 文件。
9.2、命令 mftraining -F font_properties -U unicharset -O langyp.unicharset langyp.fontyp.exp0.tr
生成 “pinyin.unicharset” 文件。
9.3、命令 cntraining langyp.fontyp.exp0.tr
生成 “normproto” 文件。
10、更名,合併訓練文件
更名
rename normproto langyp.normproto
rename inttemp langyp.inttemp
rename pffmtable langyp.pffmtable
rename unicharset langyp.unicharset
rename shapetable langyp.shapetable
合併訓練文件,
combine_tessdata langyp.
生成langyp.traineddata文件。
就可以用它來進行中文字符識別了。
G:\Program Files (x86)\jTessBoxEditorFX\samples\pinyin>unicharset_extractor pinyin.font.exp0.box
Extracting unicharset from pinyin.font.exp0.box
Wrote unicharset file ./unicharset.
Reading pinyin.font.exp0.tr ...
Read shape table shapetable of 27 shapes
Reading pinyin.font.exp0.tr ...
Clustering ...
Combining tessdata files