Python破解驗證碼技術,識別率高達百分之八十

Python破解驗證碼技術,識別率高達百分之八十

本文將具體介紹如何利用Python的圖像處理模塊pillow和OCR模塊pytesseract來識別上述驗證碼(數字加字母)。

我們識別上述驗證碼的算法過程如下:

這裡還有小編準備的一份python學習資料,關注,轉發,私信小編“01”即可獲取!

Python破解驗證碼技術,識別率高達百分之八十

將原圖像進行灰度處理,轉化為灰度圖像;

獲取圖片中像素點數量最多的像素(此為圖片背景),將該像素作為閾值進行二值化處理,將灰度圖像轉化為黑白圖像(用來提高識別的準確率);

去掉黑白圖像中的噪聲,噪聲定義為:以該點為中心的九宮格的黑點的數量小於等於4;

利用pytesseract模塊識別,去掉識別結果中的特殊字符,獲得識別結果。

我們的圖片如下(共66張圖片):

Python破解驗證碼技術,識別率高達百分之八十

完整的Python代碼如下:

Python破解驗證碼技術,識別率高達百分之八十

Python破解驗證碼技術,識別率高達百分之八十

運行結果如下:

Python破解驗證碼技術,識別率高達百分之八十

Python破解驗證碼技術,識別率高達百分之八十

Python破解驗證碼技術,識別率高達百分之八十

我們可以看到圖片識別的正確率為80%以上,其中數字類圖片的識別正確率為100%.

我們可以在圖片識別方面的算法再加改進,以提高圖片識別的正確率。當然,以上算法並不是對所有驗證碼都適用,不同的驗證碼需要用不同的圖片處理算法。


分享到:


相關文章: