天天看點

tesseract系列(3) -- tesseract訓練

tessract的訓練有個工具叫 jTessBoxEditor

1、jTessBoxEditor是用java寫的,首先要裝java的環境

      jdk-8u191-windows-x64.exe 這個我想從官網下載下傳來的,但是一直失敗,直接從搞java的同僚那裡要來的。

      裝完以後要配置一些環境變量:

系統環境變量  --》 path ---》建立 

然後重新開機電腦。。。

2、安裝jTessBoxEditor:

     下載下傳位址:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/

3、啟動jTessBoxEditor:

 輕按兩下顯示:

然後進入tools 點選merge tif 

如果你加入的模型是tif的格式,直接找到那個tif即可。

如果你加入的圖檔格式是png的,

修改加入的檔案格式,點選打開會顯示儲存的界面,将檔案儲存為:num.font.exp0.tif 其中,num是你自己定義的,圖檔要儲存到tesseract的目錄下。

cmd進入tesseract目錄,執行指令  tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox 

指令解析,

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

其中lang為語言名稱,fontname為字型名稱,num為序号,可以随便定義。

然後:

點選open打開上面儲存的num.font.exp0.tif檔案

這我的demo的一張圖。

 每一個char都要和左邊的圖相對應。如果不對應就一一修改,建議大家把這上面的所有的操作按鈕都熟悉下再使用,其實很簡單。

修改完以後點選save儲存。

定義字型特征檔案。建立一個名稱為font_properties的字型特征檔案。font_properties不含有BOM頭,檔案内容格式如下:

<fontname> <italic> <bold> <fixed> <serif> <fraktur>  

其中fontname為字型名稱,必須與[lang].[fontname].exp[num].box中的名稱保持一緻。<italic> 、<bold> 、<fixed> 、<serif>、 <fraktur>的取值為1或0,表示字型是否具有這些屬性。

這裡在樣本圖檔所在目錄下建立一個名稱為font_properties的檔案,用記事本打開,輸入以下下内容:

font 0 0 0 0 0

這裡全取值為0,表示字型不是粗體、斜體等等。

簡單的說就是在tesseract的目錄下建立一個font_properties,txt,然後寫内容:   font 0 0 0 0 0

将下面指令儲存成一個批處理的bat檔案,放在tesseract的目錄下,輕按兩下執行。

echo Run Tesseract for Training..

tesseract.exe num.font.exp0.tif num.font.exp0 nobatch box.train

echo Compute the Character Set..

unicharset_extractor.exe num.font.exp0.box

mftraining -F font_properties.txt -U unicharset -O num.unicharset num.font.exp0.tr

echo Clustering..

cntraining.exe num.font.exp0.tr

echo Rename Files..

rename normproto num.normproto

rename inttemp num.inttemp

rename pffmtable num.pffmtable

rename shapetable num.shapetable

echo Create Tessdata..

combine_tessdata.exe num.

pause

指令視窗會有一些錯誤,請看錯誤的解決辦法:

傳送門:https://www.cnblogs.com/132818Creator/p/11811841.html

something from:https://blog.csdn.net/sylsjane/article/details/83751297