OCR(Optical Character Recognition):光學字符識別,是指對圖片文件中的文字進行分析識別,獲取的過程。優化
Tesseract:開源的OCR識別引擎,初期Tesseract引擎由HP實驗室研發,後來貢獻給了開源軟件業,後經由Google進行改進,消除bug,優化,從新發布。當前版本爲3.01.google
項目地址爲:http://code.google.com/p/tesseract-ocr.net
Windows 命令行使用Tesseract-OCR引擎識別驗證碼:命令行
一、下載安裝Tesseract-OCR引擎(3.0版本+才支持中文識別)ssr
tesseract-ocr-setup-3.01-1.execode
下載完後進行安裝,默認狀況下安裝程序會給你配置系統環境變量,以指向安裝目錄(以後能夠經過DOS界面在任意目錄運行tesseract)。安裝完成後目錄以下:orm
附錄:blog
tessdata 目錄存放的是語言字庫文件,和在命令行界面中可能用到的參數所對應的文件. 這個安裝程序默認包含了英文字庫。圖片
若是想能識別中文,能夠到http://code.google.com/p/tesseract-ocr/downloads/list下載對應的語言的字庫文件. ip
簡體中文字庫文件下載地址爲:http://tesseract-ocr.googlecode.com/files/chi_sim.traineddata.gz 下載完成後解壓,而後將該文件剪切到tessdata目錄下去就能夠了。
二、使用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 字庫文件 -psm pagesegmode 配置文件
例如:
tesseract code.jpg result -l chi_sim -psm 7 nobatch
-l chi_sim 表示用簡體中文字庫(須要下載中文字庫文件,解壓後,存放到tessdata目錄下去,字庫文件擴展名爲 .raineddata 簡體中文字庫文件名爲: chi_sim.traineddata)
-psm 7 表示告訴tesseract code.jpg圖片是一行文本 這個參數能夠減小識別錯誤率. 默認爲 3
configfile 參數值爲tessdata\configs 和 tessdata\tessconfigs 目錄下的文件名
轉自 : http://blog.csdn.net/xiaochunyong/article/details/7193744