Tesseract-OCR字符識別簡介

OCR(Optical Character Recognition):光學字符識別,是指對圖片文件中的文字進行分析識別,獲取的過程。
Tesseract:開源的OCR識別引擎,初期Tesseract引擎由HP實驗室研發,後來貢獻給了開源軟件業,後經由Google進行改進,消除bug,優化,重新發布。
項目地址:https://github.com/tesseract-ocr

該項目最新版本是3.04,本人試驗用的版本是3.02。

1 安裝並設置環境

運行tesseract-ocr-setup-3.02.02.exe程序安裝tesseract,如圖所示,圖中的jTessBoxEditor相關內容用於其他測試與本文無關。

安裝完成後爲了能在cmd命令行直接使用tesseract.exe,向path環境變量中增加tesseract安裝目錄,同時添加環境變量TESSDATA_PREFIX,其值是訓練數據tessdata所在的目錄,例如圖中爲:F:\Program Files (x86)\Tesseract-OCR,該目錄也可以由參數

--tessdata-dir指明,詳細見第2節參數介紹。

2 參數介紹

在命令行直接輸入tesseract回車後可看到它的幫助信息,如圖所示:

更詳細的參數說明請參考:https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.html,部分內容如下圖:

一般來說,可以使用如下的格式來使用tesseract:

tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
tesseract 圖片名 輸出文件名 -l 字庫文件 -psm pagesegmode 配置文件

3 實例

如要識別如下圖片,可以直接使用簡單的命令:tesseract test.png result,即可將識別結果輸出到result.txt文件中

識別結果如下:

可以看出識別效果不是特別理想,所以識別前可對識別的圖像進行預處理,典型處理如:增加對比度、二值化等,如對上一幅圖進行預處理後如下圖所示:

生成識別結果時,可以使用hocr參數來讓tesseract生成html格式的結果文件,如:tesseract binary.png result hocr,識別結果如下:

對比可以看出預處理後的識別效果要明顯優於之前的識別效果,生成html格式的識別文件還有另外一個好處,即可以獲得識別字符在原圖片上面的座標信息,用文本編輯器打開上面的rusult.html文件,內容如圖:

從圖中紅色方框內可以看出識別出的字符串user在原圖片中的座標信息(306,884)左上角,(445,926)右下角。此外之前版本還支持識別信心值,但從3.02版本以後該特性被去掉了,相關內容請參考:http://blog.csdn.net/sosoben/article/details/13768895

4 結語

以上只是簡單介紹了tesseract的英文字符識別功能,其實它支持很多語言的識別,另外它還支持樣本訓練等,更深入的應用請查找其他文獻。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章