-
下載工具Tesseract-OCR
- 配置環境變量 C:\Tesseract-OCR 新建一個TESSDATA_PREFIX變量名,變量值還是我的安裝路徑C:\Tesseract-OCR\tessdata這是將語言字庫文件夾添加到變量中
-
使用
打開命令終端,輸入:tesseract -v,可以看到版本信息
-
下載jTessBoxEditor(運行環境爲java虛擬機)
-
識別一張圖片,測試下好不好使。 tesseract 路徑 output -l eng -psm 7 type output.txt
-
訓練樣本
6.1.用jTessBoxEditor把要訓練樣本圖片文件合併成tif文件(樣本圖片一定要爲有效的格式圖片)
6.2.打開jTessBoxEditor點擊頂欄的Tools選項,選擇Merge TIFF.. 進入你要訓練的樣本圖片所在的目錄,點擊Ctrl+Alt+A,選擇 所有圖片點擊打開:
6.3.然後保存文件名到指定目錄,我這裏保存的文件名爲: langyp.font.exp0.tif
6.4.生成Box文件:打開cmd,到你langyp.font.exp0.tif文件所在目錄,執行tesseract langyp.font.exp0.tif langyp.font.exp0 - l eng -psm 7 batch.nochop makebox 命令,生成了langyp.font.exp0.box文件
6.5.對樣本圖片用jTessBoxEditor工具進行矯正:點擊jTessBoxEditor工具的Box Editor選項,點擊下方的open選項,打開剛剛 生成的langyp.font.exp0.tif文件
6.6.生成font_properties文件(該文件沒有後綴名) :
tesseract langyp.font.exp0.tif langyp.font.exp0 -l eng -psm 7 nobatch box.train
6.7.生成字符集文件:
unicharset_extractor langyp.font.exp0.box
6.8.生成shape文件:
shapeclustering -F font_properties -U unicharset -O langyp.unicharset langyp.font.exp0.tr
6.9.生成聚集字符特徵文件:
cntraining langyp.font.exp0.tr
6.10.把h,i步驟生成的文件用rename命令進行更名:
rename normproto fontyp.normproto
rename inttemp fontyp.inttemp
rename pffmtable fontyp.pffmtable
rename unicharset fontyp.unicharset
rename shapetable fontyp.shapetable
6.10. 合併訓練文件:
combine_tessdata fontyp.
6.11. 將fontyp.traineddata文件拷貝至Tesseract-OCR文件夾裏的tessdata語言包文件夾裏
6.12. 執行命令:
tesseract b.jpg output -l fontyp -psm 7(fontyp爲訓練的語言包文件)
type output.txt
注意:代碼引入pytesseract會報錯
安裝Pillow,命令pip install Pillow,安裝完畢會在Python文件夾下Lib\site-packages\pytesseract這個文件夾,裏面有 pytesseract.py文件
確保,確保,確保 安裝了 Tesseract-OCR 這個好像沒有64、32的區別
進入pytesseract.py修改下tesseract_cmd="/路徑" ,
就是這個/很難受,搞了好久才弄明白是/引起的錯誤。
命令:
tesseract langyp.font.exp0.tif langyp.font.exp0 -l eng -psm 7 batch.nochop makebox
echo font 0 0 0 0 0 >font_properties
tesseract langyp.font.exp0.tif langyp.font.exp0 -l eng -psm 7 nobatch box.train
unicharset_extractor langyp.font.exp0.box
shapeclustering -F font_properties -U unicharset -O langyp.unicharset langyp.font.exp0.tr
mftraining -F font_properties -U unicharset -O langyp.unicharset langyp.font.exp0.tr
cntraining langyp.font.exp0.tr
rename normproto fontyp.normproto
rename inttemp fontyp.inttemp
rename pffmtable fontyp.pffmtable
rename unicharset fontyp.unicharset
rename shapetable fontyp.shapetable
combine_tessdata fontyp.