OCR(Optical Character Recognition):光學(xué)字符識別,是指對圖片文件中的文字進行分析識別,獲取的過程。
Tesseract:開源的OCR識別引擎,初期Tesseract引擎由HP實驗室研發(fā),后來貢獻給了開源軟件業(yè),后經(jīng)由Google進行改進,消除bug,優(yōu)化,重新發(fā)布。當前版本為3.01.
項目地址為:http://code.google.com/p/tesseract-ocr
Windows 命令行使用Tesseract-OCR引擎識別驗證碼:
1、下載安裝Tesseract-OCR引擎(3.0版本+才支持中文識別)
tesseract-ocr-setup-3.01-1.exe
下載完后進行安裝,默認情況下安裝程序會給你配置系統(tǒng)環(huán)境變量,以指向安裝目錄(之后可以通過DOS界面在任意目錄運行tesseract)。安裝完成后目錄如下:
附錄:
tessdata 目錄存放的是語言字庫文件,和在命令行界面中可能用到的參數(shù)所對應(yīng)的文件. 這個安裝程序默認包含了英文字庫。
如果想能識別中文,可以到http://code.google.com/p/tesseract-ocr/downloads/list下載對應(yīng)的語言的字庫文件.
簡體中文字庫文件下載地址為:http://tesseract-ocr.googlecode.com/files/chi_sim.traineddata.gz 下載完成后解壓,然后將該文件剪切到tessdata目錄下去就可以了。
2、使用Tessract-OCR引擎識別驗證碼
打開DOS界面,輸入tesseract:
如果出現(xiàn)如上輸出,表示安裝正常。
我準備了一張驗證碼code.jpg放在D盤根目錄下結(jié)果為:
附錄:
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圖片是一行文本 這個參數(shù)可以減少識別錯誤率. 默認為 3
configfile 參數(shù)值為tessdata\configs 和 tessdata\tessconfigs 目錄下的文件名