中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

圖片識別之驗證碼識別

發布時間:2020-07-22 19:09:19 來源:網絡 閱讀:697 作者:eflypro小普 欄目:開發技術

許多網站在進行某些操作前會要求輸入驗證碼以此來抵御爬蟲和***。此篇主要講述如何通過代碼來識別一些常見的驗證碼。以此探究圖片識別的過程以及如何避免生成容易被識別的驗證碼。

理論

圖片識別的過程

  1. 取樣本

  2. 清洗區分樣本

  3. 提取樣本特征

  4. 提取目標的特征與樣本進行對比

    操作過程

    Java有豐富的圖片處理類,本次操作使用java語言。
    一、取目標網站的驗證碼樣本。在web頁面中查看驗證碼請求的地址。通過http請求批量獲取驗證碼并保存在本地。
    圖片識別之驗證碼識別
    二、區分樣本。對每張驗證碼圖片進行人工識別區分,重命名為該圖片的驗證碼。
    圖片識別之驗證碼識別
    三、清洗切割樣本,提取樣本特征。圖片識別需要盡可能細地區分出特征點。我們觀察上圖的驗證碼圖片可以發現多個信息:
    ● 驗證碼的背景存在著許多干擾線。

● 每個數字分明,所占的位置幾乎是均等的。

● 驗證碼的數字顏色比較深,干擾因素顏色較淺。

我們可以嘗試通過顏色的深淺去除干擾因素。先通過灰度處理,將驗證碼中顏色較淺的點置換成白色,顏色較深的點置換成黑色。
圖片識別之驗證碼識別
通過改變灰度閾值grayValue不斷嘗試去除干擾點。最后得到干凈的驗證碼。
圖片識別之驗證碼識別
接下來通過識別圖片中的黑色點,使用下面的trainData()方法。

沿著黑色點進行矩形切割,得到單個數字的特征樣本。
圖片識別之驗證碼識別
圖片識別之驗證碼識別
得到的驗證碼特征樣本訓練集合如下:
圖片識別之驗證碼識別
四、提取目標驗證碼的特征,與訓練集合做對比,識別目標驗證碼圖片
圖片識別之驗證碼識別
通過上面的三步,我們已經得到了一組樣本特征,接下來只需要把將目標驗證碼同樣執行上面的3步。把提取出來的目標驗證碼特征與樣本特征作對比。如果雙方絕大部分像素點的顏色相同,則可認為目標驗證碼與樣本內容一致。取樣本的文件名,即可等到目標驗證的內容了。以下為對比識別的代碼。

總結

通過上面的四部操作,我們已經能夠識別出一些網站的驗證碼了。上面使用的方法是通過顏色的深淺,去除干擾素,再提取樣本特征進行對比。面對其他的一些驗證碼需要我們通過觀察掌握圖片的規律,靈活地使用其他的算法來識別去除干擾素,提取出樣本特征。

同樣地,在生成驗證碼的過程中,我們需要避免生成易于去除的干擾素。各個驗證碼之間在不影響人工識別的情況下盡可能粘連起來,避免被切割分類。
圖片識別之驗證碼識別

文章來自公眾號:睿江云計算

睿江云官網鏈接:https://www.eflycloud.com/home?from=RJ0024

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苏尼特左旗| 南投市| 哈密市| 新建县| 米林县| 南华县| 勐海县| 驻马店市| 阿拉善盟| 合作市| 双桥区| 天台县| 改则县| 太湖县| 延长县| 郑州市| 瓮安县| 安平县| 泰宁县| 白玉县| 繁峙县| 萍乡市| 五莲县| 灵宝市| 韶关市| 邻水| 马山县| 南投市| 民勤县| 吐鲁番市| 锡林郭勒盟| 泰宁县| 北宁市| 昌黎县| 墨竹工卡县| 同德县| 滨海县| 孟连| 新化县| 锦州市| 莱州市|