1. 程式人生 > >圖形驗證碼識別技術

圖形驗證碼識別技術

阻礙我們爬蟲的。有時候正是在登入或者請求一些資料時候的圖形驗證碼。因此這裡我們講解一種能將圖片翻譯成文字的技術。將圖片翻譯成文字一般被成力光學文字R別( optical Character Recognition),簡寫OCR。實現OCR的庫不是很多,特別是開源的
因為這塊存在一定的技術壁(需要大量的資料、演算法、機器學習、深度學習知識等),並且如果做好了具有很高的商業價值。因此
開源的比技少。這裡介紹一個比較優示的影象開源庫: Tesseract
Tesserae
Tesseract是一個OCR庫,目前由谷歌贊助。 Tesseract是目前公認最優秀、最準確的開源OCR庫。 Tesseract具有很高的識別度,也具有很高的靈活性,他可以通過訓練識別任何字型。

在程式碼中使用 tesseract識別影象:
在 Python程式碼中作 tesseract。需要安裝一個庫,叫做pytesseract,通過pip的方式即可安裝
pip install pytesseract
並且,需要讀取圖片,要藉助一個第三方庫叫做PIL。通過pip list看下是否安裝。如果沒有安裝,通過pip的方式裝
pip install PIL
使用 tesseract將圖片上的文字轉換為文字文字的示例程式碼加下:
#匯入 pytesseract庫
import pytesseract
#匯入Image
from PIL import Image
#制定tesseract.exe所在的路徑
pytesseraet.pytesseract.tesseract_cmd ='RD:\Programapp\TesseractOCR\tesseract.exe'
# 開啟圖片
image = Image.open("a.png")
#呼叫image_to_string將圖片轉化為文字
text = pytesseract.image_to_string(Image.open(imagePath))
print(text)