OCR 訓練 中文語言包

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文件夾中,就可以使用訓練生成的語言包進行圖像文字識別了。

 

 

 

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