此方法可破解簡單的驗證碼,如:
注:中文識別正在尋找辦法
安裝:
1、python3
2、Pillow
3、pytesseract
4、tesseract-ocr 下載地址:https://pan.baidu.com/s/1kXIsg1S9CqgSpgzeg9T59Q
安裝tesseract-ocr后,在pytesseract源碼中將
tesseract_cmd=‘’改為本地安裝的tesseract-ocr 的目錄:
tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
找一張驗證碼的圖片保存,爬蟲也好,selenium截屏也好,保存到本地,再進行識別
代碼
import pytesseract
from PIL import Image
from PIL import ImageEnhance
def readImage(path):
img = Image.open(path) # 根據地址,讀取圖片
imgry = img.convert('L') # 圖像加強,二值化
sharpness = ImageEnhance.Contrast(imgry) # 對比度增強
sharp_img = sharpness.enhance(2.0)
sharp_img.save("new.png") # 將處理后的圖片,保存為new.png
image = Image.open('new.png') # 打開處理后的圖片
code = pytesseract.image_to_string(image) # 讀取里面的內容
return code
if __name__=="__main__":
path = '3.png'
a = readImage(path)
print(a)
附下載地址: tesseract-ocr的版本與語言包的版本必須對應
tesseract-ocr 各版本下載地址:https://digi.bib.uni-mannheim.de/tesseract/
tesseract-ocr 各版本語言包下載地址:https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#cube-data-files-for-version-304305