Python 機(jī)器學(xué)習(xí) 識別驗(yàn)證碼 來個(gè)“沃貝”自動簽到(2:機(jī)器識別)

聲明:沃貝簽到網(wǎng)站已經(jīng)在10月初歸西, 但技術(shù)是不過時(shí)的哦。

前言叨B叨

上篇給大家嘮了驗(yàn)證碼識別的前半部分, 關(guān)注的人還挺多, 我來再多抽點(diǎn)時(shí)間趕緊把后半部分給放出.

終于整理好了第二部分:機(jī)器識別。GitHub上的代碼不知道大家看了沒,寫的可能沒那么規(guī)范,但是能用。處女座先將就下吧。回頭我有空了重構(gòu)一下,再加入些其他的簽到。

言歸正傳,下面開始介紹圖像識別部分: 即 !紅框標(biāo)注部分

安裝工具包

安裝Scikit-learn需要先準(zhǔn)備以下包:

Python (>= 2.7 or >= 3.3),

NumPy (>= 1.8.2),

SciPy (>= 0.13.3).

執(zhí)行以下命令安裝必備工具包:

sudo pip install numpysudo pip install scipysudo pip install -U scikit-learn

提取字符特征

讓安裝包飛一會, 我們這會來先把字符特征提取出來.

大概說一下以下代碼: dirs 是我們前面分好類的圖片路徑, 每個(gè)子文件夾是從0-9, 分別存放了n多處理過的單個(gè)數(shù)字圖片. 這段代碼就是把所有的二值化后的數(shù)字圖片全部讀取出來, 寫入一個(gè)文本文件 train_data.txt, 就是些1和0. 打開文件,調(diào)整下編輯器寬度,可以看到喜人的畫面:

好, 特征文件生成完畢, 接下來開始進(jìn)入關(guān)鍵步驟.

樣本訓(xùn)練

將上一步生成的特征值加載,

這里SVM的模型分類是用scikit-learn來實(shí)現(xiàn)的, 這里SVM的參數(shù)選擇的是線性核"linear", 關(guān)于SVM和scikit-learn, 我還沒有去研究, 這里只是參考別人的方法實(shí)現(xiàn)我識別驗(yàn)證碼的目的. 如有這方面的高手路過, 還望不吝賜教.

運(yùn)行train()之后, 會生出captach.pkl訓(xùn)練后的文件, 有了這玩意, 后面就可以直拿來識別驗(yàn)證碼了.

識別

下面我們隨便找一張驗(yàn)證碼圖片試試水

看,識別率杠杠滴

結(jié)語

噠噠~~~驗(yàn)證碼識別部分就講到這了, 大家有興趣研究可以去GitHub下代碼, 這里我再貼一下:

https://github.com/shark526/WowSign

后面我會再整理一下其他簽到相關(guān)內(nèi)容,比如說:

解決沃貝簽到那個(gè)坑爹網(wǎng)站不能用密碼登錄.

怎么使用requests去登錄網(wǎng)站簽到.

定時(shí)啟動腳本進(jìn)行簽到.

歡迎關(guān)注,歡迎交流.

參考鏈接:

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

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

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