Python3.x:pytesseract識別率提高(樣本訓練)
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識別率提高(樣本訓練)