1.下載tesseract安裝配置環境變量
環境變量:將OCR根目錄配置到環境path裏
添加 TESSDATA_PREFIX 爲語言包的路徑
2.修改tif 文件名稱
tif文件命名格式[lang].[fontname].exp[num].tif
lang是語言,fontname是字體,num爲自定義數字。
比如我們要訓練自定義字庫 hyfontlab,字體名normal,那麼我們把圖片文件命名hyfontlab.normal.exp0.tif
3.訓練圖片
cmd 到圖片路徑並執行
tesseract hyfontlab.normal.exp0.tif hyfontlab.normal.exp0 -l chi_sim batch.nochop makebox
問題:Error opening data file D:\Program Files (x86)\Tesseract-OCR\chi_sim.traineddata
需要將chi_sim 中文包放到tessdata 下
chi_sim 資源:https://download.csdn.net/download/mp295345033/12272864
4.使用jTessBoxEditor糾正錯誤,
打開jTessBoxEditor點擊Box Editor ->Open,打開步驟三中生成的“hyfontlab.normal.exp0.tif”,會自動關聯到“hyfontlab.normal.exp0.box”文件,這兩文件要求在同一目錄下。調整完點擊“save”保存修改。
5.生成font_properties文件(此文件沒有後綴名)
執行命令: echo normal 0 0 0 0 0 > font_properties
<fontname> <italic> <bold> <fixed> <serif> <fraktur>
其中fontname爲字體名稱,必須與[lang].[fontname].exp[num].box中的名稱保持一致。<italic> 、<bold> 、<fixed> 、<serif>、 <fraktur>的取值爲1或0,表示字體是否具有這些屬性。
6.使用tesseract生成tr訓練文件
執行命令: tesseract hyfontlab.normal.exp0.tif hyfontlab.normal.exp0 nobatch box.train
執行完之後,會在當前目錄生成hyfontlab.normal.exp0.tr文件。
7.生成字符集文件
執行命令: unicharset_extractor hyfontlab.normal.exp0.box
執行下面命令:執行完之後會在當前目錄生成一個名爲“unicharset”的文件。
8.生成shape文件
執行命令: shapeclustering -F font_properties -U unicharset -O hyfontlab.unicharset hyfontlab.normal.exp0.tr
執行完之後,會生成 shapetable 和 hyfontlab.unicharset 兩個文件
問題:Failed to load font_properties from font_propertie
1、 新建一個txt文件。命名爲:font_properties>>>>>>>>>>>>>>>>>>font_properties.txt 文件
2、重命名: 把txt 後綴名去掉>>>>>>>>>>>>>font_properties 文件
3、右擊》》打開方式》》文本方式打開》》》寫 xxxxx 0 0 0 0 0 (xxx指的是你的字體名稱)
9.生成聚字符特徵文件
執行命令: mftraining -F font_properties -U unicharset -O hyfontlab.unicharset hyfontlab.normal.exp0.tr
會生成 inttemp、pffmtable、shapetable和hyfontlab.unicharset四個文件。
10.生成字符正常化特徵文件
執行命令: cntraining hyfontlab.normal.exp0.tr
會生成 normproto 文件。
11.文件重命名
重新命名inttemp、pffmtable、shapetable和normproto這四個文件的名字爲[lang].xxx。
這裏修改爲 hyfontlab.inttemp、hyfontlab.pffmtable、hyfontlab.shapetable、hyfontlab.normproto
rename normproto zwp.normproto
12.合併訓練文件
執行下面命令,會生成hyfontlab.traineddata文件
執行命令: combine_tessdata hyfontlab.
Log輸出中的Offset 1、3、4、5、13這些項不是-1,表示新的語言包生成成功。
將生成的“hyfontlab.traineddata”語言包文件複製到Tesseract-OCR 安裝目錄下的tessdata文件夾中,就可以使用訓練生成的語言包進行圖像文字識別了。