5行Python實現(xiàn)驗證碼識別,太穩(wěn)了!
大家好,我是小五??
在很久之前,分享過一次Python代碼實現(xiàn)驗證碼識別的辦法。
當(dāng)時采用的是pillow+pytesseract,優(yōu)點是免費,較為易用。但其識別精度一般,若想要更高要求的驗證碼識別,初學(xué)者就只能去選擇使用百度API接口了。
但其實百度API接口和pytesseract其實都需要進(jìn)行前期配置,對于初學(xué)者來說就不太友好了。
而且百度API必須要聯(lián)網(wǎng),對于某些機器不能聯(lián)網(wǎng)的朋友而言,就得pass了
最近群里有位群友分享了一個新庫,試用一下發(fā)現(xiàn)非常實用,特意今天分享給大家。
Github地址:https://github.com/sml2h3/ddddocr
該庫名也是非常有趣 —— ddddocr(諧音帶帶弟弟OCR)
環(huán)境要求:
python?>=?3.8
Windows/Linux/Macox..
可以通過以下命令安裝
pip?install?ddddocr
參數(shù)說明:

在網(wǎng)上隨機尋找了一個驗證碼圖片,使用這個庫來實戰(zhàn)一下。

import?ddddocr
ocr?=?ddddocr.DdddOcr()
with?open('1.png',?'rb')?as?f:
????img_bytes?=?f.read()
res?=?ocr.classification(img_bytes)
print(res)

成功識別出來了驗證碼文字!
而且優(yōu)點也非常明顯:首先代碼非常精簡,對比前文提到的兩種方法,不需要額外設(shè)置環(huán)境變量等等,5行代碼即可輕松識別驗證碼圖片。另一方面,我們使用魔法命令%%time也測試出來嗎,這段代碼識別速度非常快。
下面用更多的驗證碼圖片繼續(xù)測試:

我又找了6個驗證碼圖片來測試,觀察結(jié)果,發(fā)現(xiàn)這類簡單的驗證碼基本可以進(jìn)行快速識別。但也有部分結(jié)果有問題——字母大小寫沒有進(jìn)行區(qū)分(比如第6張圖片)。
總而言之,如果你需要進(jìn)行驗證碼識別,且對精度要求不是過高。
那么,帶帶弟弟OCR(ddddocr)這個庫是一個不錯的選擇~
我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。
有任何問題,可以在公眾號后臺回復(fù):加群,回答相應(yīng)紅字驗證信息,進(jìn)入互助群詢問。
原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!
點擊下方閱讀原文可獲得更好的閱讀體驗
Python實用寶典?(pythondict.com)
不只是一個寶典
歡迎關(guān)注公眾號:Python實用寶典
