一、什么是tesseract?
光學字符識別,是指通過掃描字符,然后通過其形狀將其翻譯成電子文本的過程。對於圖形驗證碼來說,它們都是一些不規則的字符,這些字符確實是由字符稍加扭曲變換得到的內容。只能識別一些簡單的驗證碼。
二、安裝與使用
1、安裝(Mac下安裝)
brew install tesseract
//與python對接需要安裝的包
pip3 install Pillow
pip3 install pytesseract
2、下載語言庫
(1)下載地址:https://github.com/tesseract-ocr/tessdata
根據自己的需求選擇所要的語言庫,在這里我們選擇的是簡體中文所以選擇的庫是:chi_sim.traineddata、eng.traineddata(已有,無需下載)
(2)將文件拷貝到到:/usr/local/Cellar/tesseract/3.04.01_2/share/tessdata目錄下。
(3)終端輸入命令:tesseract --help
3、使用
(1)命令行直接識別
a、在終端打開圖片,運行下圖中命令
b、在文件11.txt中查看識別結果
注意:通過測試發現,這種方式一般只能識別純數字或者數字比較多的驗證碼,如果字母多就會無法識別。
(2)在代碼中識別
#!/usr/local/bin/python3.7 from PIL import Image import pytesseract # 打開圖片 img = Image.open('Reptile/code.png') img = img.convert('RGB') # 識別圖片 result = pytesseract.image_to_string(img) print('識別結果:',result)
注意:代碼的識別度也不是很高,可以在代碼中對圖片進行灰度/二值化等處理,提高識別度。