Tesseract-OCR引擎識別驗證碼

OCR(Optical Character Recognition):光學字符識別,是指對圖片文件中的文字進行分析識別,獲取的過程。

Tesseract:開源的OCR識別引擎,初期Tesseract引擎由HP實驗室研發,後來貢獻給了開源軟件業,後經由Google進行改進,消除bug,優化,重新發布。當前版本爲3.01.

項目地址爲:http://code.google.com/p/tesseract-ocr


Windows 命令行使用Tesseract-OCR引擎識別驗證碼:

1、下載安裝Tesseract-OCR引擎(3.0版本+才支持中文識別)

tesseract-ocr-setup-3.01-1.exe

下載完後進行安裝,默認情況下安裝程序會給你配置系統環境變量,以指向安裝目錄(之後可以通過DOS界面在任意目錄運行tesseract)。安裝完成後目錄如下:

附錄:

 tessdata 目錄存放的是語言字庫文件,和在命令行界面中可能用到的參數所對應的文件.  這個安裝程序默認包含了英文字庫。

如果想能識別中文,可以到http://code.google.com/p/tesseract-ocr/downloads/list下載對應的語言的字庫文件. 

簡體中文字庫文件下載地址爲:http://tesseract-ocr.googlecode.com/files/chi_sim.traineddata.gz 下載完成後解壓,然後將該文件剪切到tessdata目錄下去就可以了。


2、使用Tessract-OCR引擎識別驗證碼

打開DOS界面,輸入tesseract:


如果出現如上輸出,表示安裝正常。

我準備了一張驗證碼code.jpg放在D盤根目錄下,上圖:


結果爲:



附錄:

Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
pagesegmode values are:
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
-l lang and/or -psm pagesegmode must occur before anyconfigfile.


tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]

tesseract    圖片名  輸出文件名 -l 字庫文件 -psd pagesegmode 配置文件

例如:

tesseract code.jpg result  -l chi_sim -psd 7 nobatch

-l chi_sim 表示用簡體中文字庫(需要下載中文字庫文件,解壓後,存放到tessdata目錄下去,字庫文件擴展名爲  .raineddata 簡體中文字庫文件名爲:  chi_sim.traineddata)

-psd 7 表示告訴tesseract code.jpg圖片是一行文本  這個參數可以減少識別錯誤率.  默認爲 3

configfile 參數值爲tessdata\configs 和  tessdata\tessconfigs 目錄下的文件名

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