tesseract-ocr訓練方法


tesseract-ocr有2和3兩個版本,不一樣版本訓練方法稍有不一樣。html

第3版本的訓練方法官版教程在這裏:TrainingTesseract3java

第2版的訓練方法官版教程在這裏:TrainingTesseractweb

我使用的是最新的3.01版本的。訓練所需準備:windows

1.下載並安裝3.01版本的tesseract。事實上並不須要安裝這步驟,我下載的是壓縮包版,解壓便可,這裏我解壓到E:\Tesseract-ocr目錄。工具

2.下載並安裝jTessBoxEditor 工具,這是一個Box file editors,用來編輯訓練文件的,直接下載地址在這裏。這個軟件是用java寫的,運行須要安裝jre,好在這個東西比.net好裝多了,怎麼運行能夠見它的readme文件。學習

3.一張用來訓練的tiff格式圖片。字體

 

 

在不經過訓練的前提下,使用tesseract來識別一個訂單號的內容,如圖1發現錯誤率很高,但願經過訓練來提升準確率。ui

訓練過程:google

1.經過合併10張如上圖的圖片合併爲一張tiff格式的圖片,如何合併呢?經過jTessBoxEditor的Merge Tiff 來完成,不過他的小缺點就是隻能合併多張tiff格式的,若是你的圖片是jpg的,須要先轉換。生成後的tiff圖片叫作orderNo.tiflua

2.Make Box Files。在orderNo.tif所在的目錄下打開一個命令行,輸入:

E:\Tesseract-ocr\tesseract.exe orderNo.tif orderNo batch.nochop makebox

來生成一個box文件,該文件記錄了tesseract識別出來的每個字和其位置座標。

3.使用jTessBoxEditor打開orderNo.tif文件,須要記住的是第2步生成的orderNo.box要和這個orderNo.tif文件同在一個目錄下。逐個校訂文字,後保存。

4.Run Tesseract for Training。輸入命令:

E:\Tesseract-ocr\tesseract.exe orderNo.tif orderNo nobatch box.train

5.Compute the Character Set。輸入命令:

E:\Tesseract-ocr\unicharset_extractor.exe orderNo.box

6.新建文件「font_properties」。若是是3.01版本,那麼須要在目錄下新建一個名字爲「font_properties」的文件,而且輸入文本 :

orderNo 0 0 0 0 0

大體意思就是說orderNo這個語言的字體爲普通字體。

並執行命令:

E:\Tesseract-ocr\mftraining.exe -F font_properties -U unicharset orderNo.tr

7.Clustering。輸入命令:

E:\Tesseract-ocr\cntraining.exe orderNo.tr

8.此時,在目錄下應該生成若干個文件了,把unicharset, inttemp, normproto, pffmtable這四個文件加上前綴「orderNo.」。而後輸入命令:

E:\Tesseract-ocr\combine_tessdata.exe orderNo.

會顯示一個結果如:

Combining tessdata files
TessdataManager combined tesseract data files.
Offset for type 0 is -1
Offset for type 1 is 108
Offset for type 2 is -1
Offset for type 3 is 1660
Offset for type 4 is 327545
Offset for type 5 is 327781
Offset for type 6 is -1
Offset for type 7 is -1
Offset for type 8 is -1
Offset for type 9 is -1
Offset for type 10 is -1
Offset for type 11 is -1
Offset for type 12 is –1

必須肯定的是第二、四、五、6行的數據不是-1,那麼一個新的字典就算生成了。

此時目錄下「orderNo.traineddata」的文件拷貝到tesseract程序目錄下的「tessdata」目錄。

之後就可使用該該字典來識別了,例如:

tesseract.exe test.jpg result –l orderNo

 

經過訓練出來的新語言,識別率提升了很多。



 
 
 

 Posted by lixin at 下午 6:46 Tagged with: ocr

 28 Responses to 「tesseract-ocr訓練方法」

  1. 有學習能力的?

  2. 您好,個人步驟跟你的同樣,可到mftraining這一步怎麼都過不去,總是windows彈出提示,mftraining.exe已中止工做。該怎麼解決呢。

    E:\Tesseract-ocr3.01\build>..\mftraining -F font_properties -U unicharset cnlp.lpft.exp0.tr

相關文章
相關標籤/搜索