tesseract 3 02 訓練字型檔全解

2021-06-22 21:16:41 字數 1636 閱讀 1055

最近看到google的tesseract ocr 的文章,深感興趣,就試了試具體實現方法。

如果要識別非常規範的字母和數字,直接使用自帶的字型檔就足夠;但是若要識別一些非規則或者手寫的,就要訓練自己的字型檔。

下面是我的一些步驟:

1、首先準備兩個軟體:

jtessboxeditor:

2、建立乙個test資料夾,儲存本次專案的所有檔案。

將字型檔檔案放到資料夾下,字型檔越多越好,最好是tif格式的,因為下面用到的jtessboxeditor只能合併tif。

3、開啟jtessboxeditor軟體選擇tool->merge,選擇多張,確定,在之後的視窗中輸入合併之後的檔案的名稱

執行完命令後,目錄下會出現.box檔案。

5、修正box檔案:用jtessboxeditor檔案開啟eng.test.exp0.tif檔案,其對應的box檔案會自動載入;如下圖所示,然後就手動修改其中的錯誤,修改char值;全部修改後儲存;

6、生成.tr字元特徵檔案:在cmd中鍵入命令:tesseract eng.test.exp0.tif eng.test.exp0 nobatch box.train, 如下圖所示,完畢後,在目錄下生成.tr和.txt檔案;

ps:此步之前一直出錯,提示"couldn't find a matching blob",就是說在box檔案中找不到匹配的字元,查詢原因,有人說需要調整字元的位置,但是經嘗試後,發現還是出錯,不知我調正的不夠還是無效。後來在google論壇上,發現此帖: ;發現這種現象很普遍,說啥的都有,啥招都有,有說google這玩意不成熟啊,要耐心等待啊;還有說應該回去改box檔案啊。。。。也沒有個解決方案,最後又瀏覽了一些別的帖子,就嘗試使用3.02版本的,之前用的是3.01版,3.02版的明顯比3.01版的效果好,生成box檔案都能框出數字,只需做一些修改即可。

7、計算字符集:在cmd中:unichatset_extractor eng.test.exp0.box ;圖中是執行的另乙個檔案。執行完命令後,生成unicharset檔案;

8、合併檔案: 在此之前,要現在目錄下,新建乙個font_properties檔案,此檔案是設定字型檔案,沒有字尾。用txt開啟,寫入:test 0 0 0 0 0 

儲存,然後在cmd中鍵入shapeclustering -f font_properties -u unicharset eng.test.exp0.tr, 執行如下圖。

ps:可能出現錯誤,是有與你的font_properties檔案中的字型名稱,或者配置不正確導致;見連線:

之後在cmd中執行:mftraining -f font_properties -u unicharset eng.test.exp0.tr,

最後,把目錄下的檔案inttemp、normproto、pffmtable、shapetable、unicharset 五個檔案,重新命名,在之前新增font. ,變成如下圖所示;那個font.traineddata是執行完結合命令後產生的字型檔檔案;然後cmd中執行:combine_tessdata font.  這個font之後的.是必須的。就會產生乙個font.traineddata檔案。即我們訓練的字型檔檔案。

9、執行,-l font是指用你生成的那個庫,庫需放在安裝資料夾下的tessdata裡;

ps;在執行tesseract時,如出現如下錯誤,是由於在上步裡,沒有把全部的五個檔案都結合一起;

Tesseract 3 02中文字庫訓練

為了方便 tif文面命名格式 lang fontname exp num tif lang是語言 fontname是字型 比如我們要訓練自定義字型檔 image 字型名myfont 那麼我們把tif檔案重新命名 image.myfont.exp0.tif 下面開始訓練字型檔 1 tesseract ...

Tesseract 資料訓練

1.merge合併樣本檔案生成字尾為.tif格式檔案khm.font.exp0.tif tool merge tiff jtessboxeditor工具 2.生成.box檔案khm.font.exp0.box 注意 l khm psm tesseract khm.font.exp0.tif khm....

tesseract訓練新字型檔

今天我要講一下如何生成新的識別庫 請注意 在您的電腦上安裝有tesseract軟體 和 jtessboxeditor軟體 系統為ubuntu jtessboxeditor 1.新建乙個資料夾test 該資料夾會儲存本次專案所有的檔案 將需要的字型檔放到test 目錄下,檔名為 lang 為語言 fo...