因爲tesseract的中文語言包「chi_sim」對中文字體或者環境比較複雜的圖片,識別正確率不高,所以須要針對特定狀況用本身的樣本進行訓練,提升識別率,經過訓練,也能夠造成本身的語言庫。html
工具:java
Java虛擬機,因爲jTessBoxEditor的運行依賴Java運行時環境,因此須要安裝Java虛擬機。下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmloracle
jTessBoxEditor2.0工具,用於調整圖片上文字的內容和位置,下載地址:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/工具
第一步:合成圖片集測試
點擊 「打開」 後彈出保存對話框,選擇保存在當前路徑下,文件命名爲: 「demo.test.exp0.tif」 ,格式只有一種 「TIFF」 可選。字體
第二步:生成box文件spa
第三步:矯正.box文件的錯誤.net
第四步:生成font_properties文件(該文件沒有後綴名)命令行
也能夠手動在該文件夾下創建一個名爲 「font_properties」 的文件,這個文件沒有後綴名稱,輸入內容 「font 0 0 0 0 0」 , 表示字體 font 的粗體、傾斜等共計5個屬性全都設置爲0。注意 : 這裏輸入的 「font」 名稱必須與 「demo.test.exp0.box」 中兩個點號之間的 「test」 名稱保持一致。3d
第五步:生成.tr訓練文件
第六步:生成字符集文件
第七步:生成shape文件
第八步:生成聚字符特徵文件
第九步:生成字符正常化特徵文件
第十步:文件重命名
rename normproto demo.normproto rename inttemp demo.inttemp rename pffmtable demo.pffmtable rename shapetable demo.shapetable rename unicharset demo.unicharset
第十一步:合併訓練文件
測試
import pytesseract from PIL import Image as img class Languages: CHS = 'chi_sim' CHT = 'chi_tra' ENG = 'eng' DM = 'demo' text = pytesseract.image_to_string(img.open('demo.jpg'), lang=Languages.DM) print(text)
參考資料: