一直以來,圖片識別對我來說是很高深的東西,一直未曾涉獵,有幸在Python是瞭解到TesseractOCR,終於有個系統的瞭解,這個能做什麼,那就太多了,驗證碼識別、車牌識別、證件識別等等。
目錄
軟件的特點
一款由HP實驗室開發由Google維護的開源OCR(Optical Character Recognition , 光學字符識別)引擎,與Microsoft Office Document Imaging(MODI)相比,我們可以不斷的訓練的庫,使圖像轉換文本的能力不斷增強;如果團隊深度需要,還可以以它爲模板,開發出符合自身需求的OCR引擎。
軟件的安裝
源碼地址爲:https://github.com/tesseract-ocr/tesseract
EXE可執行文件下載地址(4.0.0):https://download.csdn.net/download/madeinjack/10707268
EXE安裝步驟及注意:(下載後默認雙擊安裝)
上方可以選擇其他語言,支持幾十種語言,我選擇的是第一個和中文簡體及繁體,默認英文是自動安裝的。
由於選擇了其他語言,所以會多出這個下載,你也可以不選,但選擇的話需要聯網下載(中文簡體:>40M,繁體:>50M)。
命令行測試
別人的文章說安裝完會自動加入環境變量,我安裝後並未加入,直接切換到安裝目錄(建議手動加入到環境變量),直接執行:tesseract,顯示下圖表示安裝完成:
準備一張圖片如:test.png (如下圖),我設置了環境變量,並將這個圖片放到D盤根目錄。
打開D盤生成的output_1.txt發現:162408
遺憾,我上圖用的是另一博客的圖,他是3.x版本,6識別成了5,4.0我也安裝了math包直接就識別出來了。
強大在於可以學習
學習工具jTessBoxEditor
配套訓練工具 jTessBoxEditor 來訓練樣本,特別用於驗證碼的識別。
Tesseract訓練
訓練的思路是:1、安裝jTessBoxEditor > 2、獲取樣本文件 > 3、Merge合併樣本文件 > 4、生成Box文件 > 5、定義字符配置文件 > 6、字符矯正 > 7、執行批處理文件 > 8、將生成的trainegddata放入tessdata中。
總結:根據範本生成一個語言包,轉換時可指定這個語言包即可。