復(fù)雜背景的驗(yàn)證碼識(shí)別破解 以Discuz的動(dòng)畫驗(yàn)證碼為例。
發(fā)布時(shí)間:2009-11-06 00:45:18 作者:佚名
我要評(píng)論

對(duì)于比較復(fù)雜的驗(yàn)證碼,比如DZ論壇最新的驗(yàn)證碼,處理起來相對(duì)麻煩一些,但是原理還是和普通的識(shí)別一樣的,無非多了個(gè)背景處理的方案,看如下對(duì)DZ論壇的驗(yàn)證碼的識(shí)別的思路
對(duì)于比較復(fù)雜的驗(yàn)證碼,比如DZ論壇最新的驗(yàn)證碼,處理起來相對(duì)麻煩一些,但是原理還是和普通的識(shí)別一樣的,無非多了個(gè)背景處理的方案,看如下對(duì)DZ論壇的驗(yàn)證碼的識(shí)別的思路

首先我們要去除它的背景,對(duì)于這樣稍微復(fù)雜的背景,用過去的方法很難做到,上圖的例子還不是很明顯,我發(fā)現(xiàn)很多圖片背景色和字母色近似,而且字母顏色是不斷變化的,背景也是不斷變化的





那我初始的想法是找到圖片中使用顏色最多的方法,于是我們用HSL表示各點(diǎn)顏色,接著進(jìn)行統(tǒng)計(jì),得到最大的幾個(gè)峰值,這里便是圖片中幾個(gè)最豐富的顏色的L值得累加值

其余的都可以認(rèn)為是噪音,我們對(duì)每個(gè)峰值進(jìn)行分割,得到如下圖片

你看這樣就把單個(gè)顏色圖片分割出來了,接下來就是找到圖片中除去黑色和白色后的圖片

然后進(jìn)行灰化處理,閥值處理,降噪,得到

接著根據(jù)邊界檢測(cè)出來的最左側(cè)x位置,來排序字母順序

接下來的事情就輕車熟路了,把圖片轉(zhuǎn)成標(biāo)準(zhǔn)模板,通過少量學(xué)習(xí)就達(dá)到了95%以上的識(shí)別率
c:15 j:8 8:7 t:9 9:4 x:7 4:6 2:4 h:7 f:8 e:18 b:5 y:3 k:4 w:3 g:5 3:5 7:6 r:2 m:3 q:4 v:2 p:3 6:2
以上數(shù)據(jù)表示 c學(xué)習(xí)15次 j學(xué)習(xí)8次…

只要字符不粘連,大部分驗(yàn)證碼干擾技術(shù)都是可以有辦法,所以為什么google驗(yàn)證碼看起來很簡(jiǎn)單,但是沒有人能夠很好的破解它得原因。
補(bǔ)充,
rise在留言中發(fā)現(xiàn)有一些字符加入雜點(diǎn)的問題,由于這種驗(yàn)證碼不是很普遍,稍微做了研究

CY3E 這個(gè)圖片3字中有雜點(diǎn),其他沒有,按照文章中介紹的辦法,怎么知道這個(gè)3不是像其他顏色雜點(diǎn)一樣的圖片呢?

我覺得需要加入一個(gè)步驟,就是對(duì)每次過濾顏色生成出來的圖片,進(jìn)行填充
找到3的雜點(diǎn)原圖:

然后我們進(jìn)行算法填充

這個(gè)圖片與其他全部是雜點(diǎn)的圖片之間的差別進(jìn)行過濾,我考慮可以通過以下方法:
1、連貫點(diǎn)的寬度
2、連貫點(diǎn)的個(gè)數(shù)
這樣剩下的就只剩下CY3E的過濾后的圖片
至于字符傾斜的問題,我覺得完全可以在機(jī)器學(xué)習(xí)過程中,我們自己旋轉(zhuǎn)正在學(xué)習(xí)的圖片一定角度,例如從-10到+10度,只不過這樣的學(xué)習(xí)庫會(huì)大一些,但是就10個(gè)數(shù)字的驗(yàn)證碼來說,這點(diǎn)性能損失應(yīng)該可以忽略不計(jì)。

首先我們要去除它的背景,對(duì)于這樣稍微復(fù)雜的背景,用過去的方法很難做到,上圖的例子還不是很明顯,我發(fā)現(xiàn)很多圖片背景色和字母色近似,而且字母顏色是不斷變化的,背景也是不斷變化的





那我初始的想法是找到圖片中使用顏色最多的方法,于是我們用HSL表示各點(diǎn)顏色,接著進(jìn)行統(tǒng)計(jì),得到最大的幾個(gè)峰值,這里便是圖片中幾個(gè)最豐富的顏色的L值得累加值

其余的都可以認(rèn)為是噪音,我們對(duì)每個(gè)峰值進(jìn)行分割,得到如下圖片

你看這樣就把單個(gè)顏色圖片分割出來了,接下來就是找到圖片中除去黑色和白色后的圖片

然后進(jìn)行灰化處理,閥值處理,降噪,得到

接著根據(jù)邊界檢測(cè)出來的最左側(cè)x位置,來排序字母順序

接下來的事情就輕車熟路了,把圖片轉(zhuǎn)成標(biāo)準(zhǔn)模板,通過少量學(xué)習(xí)就達(dá)到了95%以上的識(shí)別率
c:15 j:8 8:7 t:9 9:4 x:7 4:6 2:4 h:7 f:8 e:18 b:5 y:3 k:4 w:3 g:5 3:5 7:6 r:2 m:3 q:4 v:2 p:3 6:2
以上數(shù)據(jù)表示 c學(xué)習(xí)15次 j學(xué)習(xí)8次…

只要字符不粘連,大部分驗(yàn)證碼干擾技術(shù)都是可以有辦法,所以為什么google驗(yàn)證碼看起來很簡(jiǎn)單,但是沒有人能夠很好的破解它得原因。
補(bǔ)充,
rise在留言中發(fā)現(xiàn)有一些字符加入雜點(diǎn)的問題,由于這種驗(yàn)證碼不是很普遍,稍微做了研究

CY3E 這個(gè)圖片3字中有雜點(diǎn),其他沒有,按照文章中介紹的辦法,怎么知道這個(gè)3不是像其他顏色雜點(diǎn)一樣的圖片呢?

我覺得需要加入一個(gè)步驟,就是對(duì)每次過濾顏色生成出來的圖片,進(jìn)行填充
找到3的雜點(diǎn)原圖:

然后我們進(jìn)行算法填充

這個(gè)圖片與其他全部是雜點(diǎn)的圖片之間的差別進(jìn)行過濾,我考慮可以通過以下方法:
1、連貫點(diǎn)的寬度
2、連貫點(diǎn)的個(gè)數(shù)
這樣剩下的就只剩下CY3E的過濾后的圖片
至于字符傾斜的問題,我覺得完全可以在機(jī)器學(xué)習(xí)過程中,我們自己旋轉(zhuǎn)正在學(xué)習(xí)的圖片一定角度,例如從-10到+10度,只不過這樣的學(xué)習(xí)庫會(huì)大一些,但是就10個(gè)數(shù)字的驗(yàn)證碼來說,這點(diǎn)性能損失應(yīng)該可以忽略不計(jì)。
相關(guān)文章
網(wǎng)站域名被劫持、網(wǎng)站dns被劫持 域名跳轉(zhuǎn)到別的網(wǎng)站的解決方法
網(wǎng)站域名被劫持,網(wǎng)站dns被劫持,域名跳轉(zhuǎn)到別的網(wǎng)站怎么解決? 出現(xiàn)網(wǎng)站域名跳轉(zhuǎn)到其他網(wǎng)站,這一現(xiàn)象很可能是域名被劫持2013-07-05- QQ賬號(hào)和微博賬號(hào)都屬于個(gè)人財(cái)產(chǎn),雖然網(wǎng)絡(luò)賬號(hào)被盜取暫時(shí)還沒有明確的相關(guān)法律規(guī)定。但國(guó)家已經(jīng)發(fā)布了互聯(lián)網(wǎng)管理的基礎(chǔ)性法規(guī)《互聯(lián)網(wǎng)信息服務(wù)管理辦法》進(jìn)行規(guī)范,也已經(jīng)2013-01-16
- 網(wǎng)絡(luò)安全是一門涉及計(jì)算機(jī)、網(wǎng)絡(luò)、通訊、密碼、信息安全、應(yīng)用數(shù)學(xué)、數(shù)論、信息論等多種學(xué)科的綜合性學(xué)科,涉及面極廣,而且不斷更新和發(fā)展2013-03-20
- HSRP:熱備份路由器協(xié)議(HSRP:Hot Standby Router Protocol),是cisco平臺(tái)一種特有的技術(shù),是cisco的私有協(xié)議。2012-05-14
- 本文介紹了WAPI與WIFI的區(qū)別2012-06-12
- DDoS攻擊其實(shí)就是一種利用某種技術(shù)手段將目標(biāo)服務(wù)器與互聯(lián)網(wǎng)連接的所有通道堵死,從而造成服務(wù)器與互聯(lián)網(wǎng)失去聯(lián)系,正常訪問者無法獲取服務(wù)器上的數(shù)據(jù)。我們這樣解釋詳細(xì)很2014-08-25
- 詢問Wi-Fi密碼已經(jīng)成為大部分用戶到新地方要做的第一件事,但大部分人并不具備Wi-Fi安全的相關(guān)意識(shí)。2015-03-30
公共場(chǎng)所免費(fèi)wifi如何安全使用 警惕黑網(wǎng)
為了節(jié)約自己的移動(dòng)數(shù)據(jù)流量,很多網(wǎng)友會(huì)選擇在公共場(chǎng)所使用免費(fèi)wifi,近日,央視315晚會(huì)上曝光了免費(fèi)WiFi的安全問題,呼吁手機(jī)用戶警惕黑網(wǎng),公共場(chǎng)所免費(fèi)wifi如何安全使用2015-03-17淺談2016互聯(lián)網(wǎng)隱私安全需要注意什么
隨著互聯(lián)網(wǎng)一步一步的融入到我們的生活,我們的一些隱私已成了一種威脅,所以要時(shí)時(shí)刻刻注意自己我在網(wǎng)絡(luò)上留下的“腳印”,一起來看看需要注意什么吧2016-08-23