1. 程式人生 > >Python3.x:pytesseract識別率提高(樣本訓練)

Python3.x:pytesseract識別率提高(樣本訓練)

校正 rom nbsp 地址 tin rac elf div .net

Python3.x:pytesseract識別率提高(樣本訓練)

1,下載並安裝3.05版本的tesseract

 地址:https://sourceforge.net/projects/tesseract-ocr/

2,如果你的訓練素材是很多張非tif格式的圖片,首先要做的事情就是將這麽圖片合並(個人覺得素材越多,基本每個字母和數字都覆蓋了訓練出來的識別率比較好)

 下載這個工具:VietOCR.NET-3.3.zip

 地址:http://sourceforge.net/projects/vietocr/files/latest/download?source=files

 首先進行jpg,gif,bmp到tif的轉換,這個用自帶的畫圖就可以。然後使用VietOCR.NET-3.3進行多張 tif的merge。

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

 C:\Program Files\Tesseract-OCR>tesseract.exe lang.jhy.exp8.TIF lang.jhy.exp8 batch.nochop makebox

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

 下載jTessBoxEditor工具進行每個自的糾正(註意有nextpage逐頁進行糾正)

 地址:http://sourceforge.net/projects/vietocr/files/

5,Run Tesseract for Training。輸入命令:

 C:\Program Files\Tesseract-OCR>tesseract.exe lang.jhy.exp8.TIF lang.jhy.exp8 nob

 atch box.train

6,Compute the Character Set。輸入命令:

 C:\Program Files\Tesseract-OCR>unicharset_extractor.exe lang.jhy.exp8.box

 Extracting unicharset from lang.jhy.exp8.box

 Wrote unicharset file ./unicharset.

7,新建文件“font_properties”。如果是3.01版本,那麽需要在目錄下新建一個名字為“font_properties”的文件,並且輸入文本:(這裏的jhy就是lang.jhy.exp8的中間字段)

 jhy 1 0 0 1 0

8,Clustering。輸入命令:

 C:\Program Files\Tesseract-OCR>cntraining.exe lang.jhy.exp8.tr

 Reading lang.jhy.exp8.tr ...

 Clustering ...

 Writing normproto ...

9, 此時,在目錄下應該生成若幹個文件了,把unicharset, inttemp, normproto, pfftable這幾個文件加上前綴“selfverify.”。然後輸入命令:

必須確定的是1、3、4、5、13行的數據不是-1,那麽一個新的字典就算生成了。

此時目錄下“selfverify.traineddata”的文件拷貝到tesseract程序目錄下的“tessdata”目錄。

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

tesseract.exe test.jpg out –l selfverify

Python3.x:pytesseract識別率提高(樣本訓練)