Python破解驗證碼技術(shù),識別率高達百分之八十!


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

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

這是小編準(zhǔn)備的python爬蟲學(xué)習(xí)資料,加群:862703141 ??即可免費獲??!


將原圖像進行灰度處理,轉(zhuǎn)化為灰度圖像;

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

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

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

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


完整的Python代碼如下:



運行結(jié)果如下:




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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容