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.生成字體特徵格式爲:
字體名稱 <fontname> <italic> <bold> <fixed> <serif> <fraktur>  取值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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章