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