5行Python实现验证码识别,太稳了!
在很久之前,分享過(guò)一次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é)者來(lái)說(shuō)就不太友好了。
而且百度API必須要聯(lián)網(wǎng),對(duì)于某些機(jī)器不能聯(lián)網(wǎng)的朋友而言,就得pass了
最近群里有位群友分享了一個(gè)新庫(kù),試用一下發(fā)現(xiàn)非常實(shí)用,特意今天分享給大家。
Github地址:https://github.com/sml2h3/ddddocr
該庫(kù)名也是非常有趣 —— ddddocr(諧音帶帶弟弟OCR)
環(huán)境要求:
python?>=?3.8 Windows/Linux/Macox..可以通過(guò)以下命令安裝
pip?install?ddddocr參數(shù)說(shuō)明:
在網(wǎng)上隨機(jī)尋找了一個(gè)驗(yàn)證碼圖片,使用這個(gè)庫(kù)來(lái)實(shí)戰(zhàn)一下。
來(lái)源:百度搜索import?ddddocrocr?=?ddddocr.DdddOcr() with?open('1.png',?'rb')?as?f:img_bytes?=?f.read() res?=?ocr.classification(img_bytes)print(res)成功識(shí)別出來(lái)了驗(yàn)證碼文字!
而且優(yōu)點(diǎn)也非常明顯:首先代碼非常精簡(jiǎn),對(duì)比前文提到的兩種方法,不需要額外設(shè)置環(huán)境變量等等,5行代碼即可輕松識(shí)別驗(yàn)證碼圖片。另一方面,我們使用魔法命令%%time也測(cè)試出來(lái)嗎,這段代碼識(shí)別速度非??臁?/p>
下面用更多的驗(yàn)證碼圖片繼續(xù)測(cè)試:
我又找了6個(gè)驗(yàn)證碼圖片來(lái)測(cè)試,觀察結(jié)果,發(fā)現(xiàn)這類(lèi)簡(jiǎn)單的驗(yàn)證碼基本可以進(jìn)行快速識(shí)別。但也有部分結(jié)果有問(wèn)題——字母大小寫(xiě)沒(méi)有進(jìn)行區(qū)分(比如第6張圖片)。
總而言之,如果你需要進(jìn)行驗(yàn)證碼識(shí)別,且對(duì)精度要求不是過(guò)高。
那么,帶帶弟弟OCR(ddddocr)這個(gè)庫(kù)是一個(gè)不錯(cuò)的選擇~
——END——
最近發(fā)現(xiàn)一個(gè)點(diǎn)外賣(mài)每頓飯都能少花5-20元的寶藏號(hào)。
就是她,↓點(diǎn)擊下面名片關(guān)注公眾號(hào)↓
進(jìn)入公眾號(hào)點(diǎn)擊菜單領(lǐng)取紅包最低5元,最高56元!總結(jié)
以上是生活随笔為你收集整理的5行Python实现验证码识别,太稳了!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一文学会设置 Jupyter 主题与目录
- 下一篇: 批量处理文件,除了 Python,不妨试