很久之前,分享過一次Python代碼實(shí)現(xiàn)驗證碼識別的辦法。
當(dāng)時采用的是pillow+pytesseract,優(yōu)點(diǎn)是免費(fèi),較為易用。但其識別精度一般,若想要更高要求的驗證碼識別,初學(xué)者就只能去選擇使用百度API接口了。
但其實(shí)百度API接口和pytesseract其實(shí)都需要進(jìn)行前期配置,對于初學(xué)者來說就不太友好了。
而且百度API必須要聯(lián)網(wǎng),對于某些機(jī)器不能聯(lián)網(wǎng)的朋友而言,就得pass了
最近群里有位群友分享了一個新庫,試用一下發(fā)現(xiàn)非常實(shí)用,特意今天分享給大家。
Github地址:https://github.com/sml2h3/ddddocr
該庫名也是非常有趣 —— ddddocr(諧音帶帶弟弟OCR)
環(huán)境要求:
python >= 3.8Windows/Linux/Macox..
可以通過以下命令安裝
參數(shù)說明:
![](/d/20211017/34e3ab513c2adc0fce474902692dce8b.gif)
在網(wǎng)上隨機(jī)尋找了一個驗證碼圖片,使用這個庫來實(shí)戰(zhàn)一下。所以想學(xué)的同學(xué),有必要聽一下這位老師的課、領(lǐng)取python福利奧,想學(xué)的同學(xué)可以到夢雅老師的圍鑫(同音):前排的是:762,中間一排是:459,后排的一組是:510 ,把以上三組字母按照順序組合起來即可,她會安排學(xué)習(xí)的。
![](/d/20211017/2d0ebd2e1e9bc12c470b4b308c14bdb5.gif)
來源:百度搜索
import ddddocr
ocr = ddddocr.DdddOcr()
with open(‘1.png', ‘rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
![](/d/20211017/7635233af4cc0044d3117d910b7e46ae.gif)
成功識別出來了驗證碼文字!
而且優(yōu)點(diǎn)也非常明顯:首先代碼非常精簡,對比前文提到的兩種方法,不需要額外設(shè)置環(huán)境變量等等,5行代碼即可輕松識別驗證碼圖片。另一方面,我們使用魔法命令%%time也測試出來嗎,這段代碼識別速度非???。
下面用更多的驗證碼圖片繼續(xù)測試:
![](/d/20211017/729fbdcabf39083954abb55a929436a1.gif)
我又找了6個驗證碼圖片來測試,觀察結(jié)果,發(fā)現(xiàn)這類簡單的驗證碼基本可以進(jìn)行快速識別。但也有部分結(jié)果有問題——字母大小寫沒有進(jìn)行區(qū)分(比如第6張圖片)。
總而言之,如果你需要進(jìn)行驗證碼識別,且對精度要求不是過高。
那么,帶帶弟弟OCR(ddddocr)這個庫是一個不錯的選擇~
以上就是非常簡單的Python驗證碼識別實(shí)現(xiàn)過程的詳細(xì)內(nèi)容,更多關(guān)于Python驗證碼識別的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- python簡單驗證碼識別的實(shí)現(xiàn)方法
- Python識別驗證碼的實(shí)現(xiàn)示例
- python自動化實(shí)現(xiàn)登錄獲取圖片驗證碼功能
- python驗證碼識別的實(shí)例詳解
- Python驗證碼識別處理實(shí)例