本發(fā)明涉及圖像處理領(lǐng)域,具體而言,涉及一種驗證碼的背景生成方法和裝置。
背景技術(shù):
目前,驗證碼是一種輔助安全驗證的字符,由用戶終端的肉眼進行識別。用戶終端在驗證碼的表單中輸入驗證碼,然后提交至網(wǎng)站進行驗證。當驗證碼驗證成功之后,用戶終端才能使用網(wǎng)站的某些功能。
為了防止驗證碼識別軟件非法破解驗證碼,通常在驗證碼的背景中添加干擾信息,使驗證碼識別軟件將干擾信息誤認為是字母,降低識別結(jié)果的正確性,從而提高了驗證碼的安全性。比如,在驗證碼的背景中添加通過隨機數(shù)生成的噪聲點、線條或者不規(guī)則區(qū)域,其中,噪聲點可以由不同坐標值的點組成,線條的設(shè)置可以為直線、曲線、拋物線等,不規(guī)則區(qū)域可以為圓形區(qū)域、矩形區(qū)域等,形成具有干擾信息的驗證碼的背景。噪聲點、簡單線條、不規(guī)則區(qū)域的生成時需要大量的計算,使驗證碼的背景生成速度變慢,進而降低了驗證碼圖片的生成速度。另一方面,使用中值濾波器的驗證碼識別軟件在對背景中添加了噪聲點的驗證碼進行預(yù)處理時,可以處理掉噪聲點;使用霍夫變換等方法的驗證碼識別軟件可以識別干擾信息中的簡單線條,進而將簡單線條加以濾除,從而使驗證碼的抗破解性能低下,干擾信息中不規(guī)則區(qū)域的添加很可能會使驗證碼中的字母被遮擋而無法識別。
針對驗證碼的背景生成速度慢的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種驗證碼的背景生成方法和裝置,以至少解決驗證碼的背景生成速度慢的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種驗證碼的背景生成方法。該驗證碼的背景生成方法包括:獲取預(yù)設(shè)圖片,其中,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片;對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片;按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息;根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種驗證碼的背景生成裝置。該驗證碼的背景生成裝置包括:獲取單元,用于獲取預(yù)設(shè)圖片,其中,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片;處理單元,用于對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片;提取單元,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息;生成單元,用于根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
在本發(fā)明實施例中,獲取預(yù)設(shè)圖片,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片;對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片;按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息;根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,降低了生成驗證碼的背景的計算量,實現(xiàn)了提高驗證碼的背景生成速度的技術(shù)效果,從而達到了提高驗證碼圖片的生成速度的目的,進而解決了驗證碼的背景的生成速度慢的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的驗證碼的背景生成方法的計算機終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實施例的驗證碼的背景生成方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的按照預(yù)設(shè)算法提取灰度圖片的噪聲信息的方法的流程圖;
圖4是根據(jù)本發(fā)明實施例的對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理的方法的流程圖;
圖5是根據(jù)本發(fā)明實施例的根據(jù)噪聲信息生成驗證碼的背景圖片的方法的流程圖;
圖6是根據(jù)本發(fā)明實施例的根據(jù)噪聲信息生成的驗證碼的背景圖片的示意圖;
圖7是根據(jù)本發(fā)明實施例的驗證碼圖片的示意圖;
圖8是根據(jù)本發(fā)明第一實施例的驗證碼的背景生成裝置的示意圖;
圖9是根據(jù)本發(fā)明第二實施例的驗證碼的背景生成裝置的示意圖;
圖10是根據(jù)本發(fā)明第三實施例的驗證碼的背景生成裝置的示意圖;
圖11是根據(jù)本發(fā)明第四實施例的驗證碼的背景生成裝置的示意圖;
圖12是根據(jù)本發(fā)明第五實施例的驗證碼的背景生成裝置的示意圖;以及
圖13是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語 “第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實施例1
本發(fā)明實施例提供了一種驗證碼的背景生成方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是根據(jù)本發(fā)明實施例的驗證碼的背景生成方法的計算機終端的硬件結(jié)構(gòu)框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實施例中的驗證碼的背景生成方法對應(yīng)的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的驗證碼的背景生成方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步 包括相對于處理器102遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括計算機終端10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器(networkinterfacecontroller,簡稱為nic),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,簡稱為rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的驗證碼的背景生成方法。該方法可以應(yīng)用于智能終端設(shè)備中,由智能終端設(shè)備中的處理器執(zhí)行,智能終端設(shè)備可以是智能手機、平板電腦等。智能終端設(shè)備中安裝有至少一個應(yīng)用程序,本發(fā)明實施例并不限定應(yīng)用程序的種類,可以為系統(tǒng)類應(yīng)用程序,也可以為軟件類應(yīng)用程序。
圖2是根據(jù)本發(fā)明實施例的驗證碼的背景生成方法的流程圖。如圖2所示,該驗證碼的背景生成方法的一種可選的方案包括如下步驟:
步驟s202,獲取預(yù)設(shè)圖片。
在本申請上述步驟s202提供的方案中,獲取預(yù)設(shè)圖片。該實施例的預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片。其中,驗證碼是全自動區(qū)分計算機和人類的圖靈測試(completelyautomatedpublicturingtesttotellcomputersandhumansapart,簡稱為captcha),是一種區(qū)分用戶終端是計算機或者人類的公共全自動程序。在captcha測試中,作為服務(wù)器的計算機會自動生成測試問題由用戶終端來解答。這個測試問題可以由計算機生成并評判,但是只有人類才能解答。由于計算機無法解答captcha的測試問題,所以回答出測試問題的用戶終端便可以被確定為人類,從而防止非法程序?qū)W(wǎng)站進行惡意注冊、暴力破解、或者批量發(fā)帖的行為。
在該實施例中,驗證碼可以是一串隨機產(chǎn)生的字符或者符號,驗證碼具有背景。在驗證碼的背景中添加一些干擾信息可以防止驗證碼識別軟件對驗證碼進行破解。預(yù)設(shè)圖片是用于生成驗證碼的背景的圖片。可選地,該預(yù)設(shè)圖片為拍照的照片,比如,對空白的白紙進行拍照所獲取的照片。該預(yù)設(shè)圖片也可以為對牛皮紙、宣紙、吸墨紙等紋理復(fù)雜的紙張進行拍照所獲取的照片,該照片的顏色可以為除了白色的其他顏色。
本發(fā)明實施例通過獲取預(yù)設(shè)圖片以獲取用于生成驗證碼的背景的圖片。需要說明的是,上述獲取預(yù)設(shè)圖片的方式僅為本發(fā)明的優(yōu)選實施例,并不代表本發(fā)明實施例的驗證碼的背景生成方法僅包括上述預(yù)設(shè)圖片的獲取方式。為了獲取不同紋理復(fù)雜的圖片,得到不同效果的用于生成驗證碼的背景的圖片,本發(fā)明實施例還可以包括其他能夠獲取預(yù)設(shè)圖片的方法,此處不再一一舉例說明。
步驟s204,對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。
在本申請上述步驟s204提供的方案中,在獲取預(yù)設(shè)圖片之后,對預(yù)設(shè)圖片執(zhí)行灰度處理。當預(yù)設(shè)圖片為彩色時,對預(yù)設(shè)圖片執(zhí)行灰度處理得到灰度色,也即,得到灰度化的圖片,其中,灰度色為純白、純黑、以及從黑色到白色過渡的一系列顏色??蛇x地,通過計算機對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度數(shù)字圖像,將灰度數(shù)字圖像作為灰度圖片。灰度數(shù)字圖像是通過在單個電磁波頻譜中測量每個像素的亮度得到的,通常用每個采樣像素為8比特位的非線性尺度來保存,這樣灰度等級可以有256種灰度,實現(xiàn)黑色與白色的平滑過渡,避免可見條帶的失真,易于編程。
將彩色的預(yù)設(shè)圖像轉(zhuǎn)化為灰度圖片的過程可以實現(xiàn)對預(yù)設(shè)圖像的灰度處理。彩色圖像中的每個像素的顏色由紅、藍、綠三個分量組成,每個分量有255種取值,則每個像素有255×255×255種取值。將預(yù)設(shè)圖像轉(zhuǎn)化為灰度圖片之后,灰度圖片的紅、藍、綠三個分量相同,每個像素有255種取值,灰度圖片的計算量大大減小,可以提高驗證碼的背景的生產(chǎn)速度,同時減小了圖片的存儲空間??蛇x地,分別獲取預(yù)設(shè)圖片的每個像素的紅、 藍、綠三個分量的值,將每個像素的紅、藍、綠三個分量的值取平均值,然后將此平均值賦值給對應(yīng)的像素的紅、藍、綠三個分量,從而實現(xiàn)對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片??梢酝ㄟ^軟件程序設(shè)計具體的算法來實現(xiàn)對預(yù)設(shè)圖片執(zhí)行灰度處理的目的,比如,通過應(yīng)用程序開發(fā)工具delphi設(shè)計的對預(yù)設(shè)圖片執(zhí)行灰度處理的程序,可以通過可視化的界面實現(xiàn)對預(yù)設(shè)圖片執(zhí)行灰度處理的效果。
本發(fā)明實施例通過對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。需要說明的是,上述得到灰度圖片的方式僅為本發(fā)明的優(yōu)選實施例,并不代表本發(fā)明實施例得到灰度圖片僅包括上述對預(yù)設(shè)圖片執(zhí)行灰度處理的方式。為了得到灰度圖片,本發(fā)明實施例還可以包括其他能夠?qū)︻A(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片的方式,此處不再一一舉例說明。
步驟s206,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息。
在本申請上述步驟s206提供的方案中,對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片之后,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息??蛇x地,該預(yù)設(shè)算法為邊緣提取算法,用于提取灰度圖片的邊緣信息,舍棄不相關(guān)的信息量,從而大幅度地降低了灰度圖片在后續(xù)處理的數(shù)據(jù)量。通過邊緣提取算法提取出灰度圖片中對象與背景中的交界線,得到灰度圖片對應(yīng)的噪聲信息,該噪聲信息相對于驗證碼而言,妨礙驗證碼的接收,是用于干擾驗證碼識別的信息,該噪聲信息也可以為獲取預(yù)設(shè)圖片的裝置的噪聲信息。
邊緣特性對圖像的質(zhì)量具有重要作用,比如,在邊緣特性比較復(fù)雜的區(qū)域,圖像質(zhì)量比較差,在邊緣特性較為簡單的區(qū)域,圖像質(zhì)量比較好?;叶葓D片的邊緣是指灰度圖片的局部區(qū)域具有不連續(xù)性,比如,灰度級的突變,紋理結(jié)構(gòu)的變化,包含了用于識別灰度圖片的重要信息,也即,包含了用于灰度圖片分割、圖片紋理分析的信息。灰度圖片的邊緣的提取依賴于邊緣檢測算子檢測出灰度圖片在灰度、紋理等區(qū)域不連續(xù)的地方,以確定邊緣的有無、真假、實現(xiàn)定向、定位,從而提取出灰度圖片的邊緣, 降低了后續(xù)對灰度圖片處理的計算量。
灰度圖片的邊緣提取主要是進行圖像灰度變化的度量,灰度的變化可以用灰度變化的梯度來反映。該預(yù)設(shè)算法可以基于灰度圖片的局部運算方法,采用對灰度圖片進行局部微分來獲得邊緣檢測算子,該預(yù)設(shè)算法也可以為以能量最小化為準則的全局提取方法,從全局最優(yōu)的觀點提取灰度圖片的邊緣信息,從而得到灰度圖片對應(yīng)的噪聲信息。
可選地,預(yù)設(shè)算法通過微分算子法來實現(xiàn),根據(jù)灰度圖片的邊緣處的一階導(dǎo)數(shù)有極值,或者灰度圖片的邊緣處的二階導(dǎo)數(shù)過零點的原理來檢測邊緣信息。在求邊緣倒數(shù)時,對灰度圖片的每個像素位置進行計算,可以通過卷積近似計算。一階微分的邊緣檢測算子為矢量,既有大小、又有方向,與標量相比,數(shù)據(jù)的存儲量比較大。一階導(dǎo)數(shù)的局部值最大對應(yīng)著二階導(dǎo)數(shù)的過零點,可以通過二階導(dǎo)數(shù)的過零點查找灰度圖片的邊緣,查找邊緣信息準確性高,從而得到灰度圖片對應(yīng)的噪聲信息。
可選地,預(yù)設(shè)算法通過曲面擬合算法來實現(xiàn),可以先用一個平面或者曲面逼近圖像面積元,再用該平面或者曲面的梯度代替點梯度,進而實現(xiàn)灰度圖片的邊緣檢測。該曲面擬合算法可以為一次平面擬合法,或者二次品面擬合法。
本發(fā)明實施例在對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片之后,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息,降低了生成驗證碼的背景的計算量,實現(xiàn)了提高驗證碼的背景生成速度的技術(shù)效果。
步驟s208,根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
在本申請上述步驟s208提供的方案中,在按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息之后,根據(jù)噪聲信息生成驗證碼的背景圖片,該驗證碼的背景圖片比預(yù)設(shè)圖片小??蛇x地,根據(jù)噪聲信息生成與預(yù)設(shè)圖片大小相同的原始背景圖片,該原始背景圖片上具有預(yù)設(shè)圖片的噪聲信息。將該原 始背景圖片進行分割,得到與驗證碼對應(yīng)的驗證碼的背景圖片。該驗證碼的背景圖片的大小與驗證碼的大小、驗證碼的線條寬度有關(guān),也即,驗證碼的大小和線條寬度可以預(yù)先設(shè)置,通過驗證碼的大小和線條的寬度確定驗證碼的背景圖片的大小。當驗證碼的背景圖片生成之后,將驗證碼的背景圖片確定為驗證碼的背景。
可選地,通過原始背景圖片生成的驗證碼的背景圖片可以為多個,多個驗證碼的背景圖片的大小相同,在網(wǎng)站上進行驗證碼驗證的過程中,雖然不同驗證碼對應(yīng)的背景圖片不同,但是不同驗證碼對應(yīng)的背景圖片的大小相同。
可選地,根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,可以將驗證碼繪制在驗證碼的背景上生成驗證碼圖片。
本發(fā)明實施例通過根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,達到了生成驗證碼的背景的目的,實現(xiàn)了提高驗證碼的背景生成速度的技術(shù)效果,進而提高了驗證碼圖片的生成速度。
通過上述步驟s202至步驟s208,本發(fā)明提供的方案可以實現(xiàn)通過獲取預(yù)設(shè)圖片,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片;然后對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片;再按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息;最后根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,實現(xiàn)了提高驗證碼的背景生成速度的技術(shù)效果,進而解決了驗證碼的背景生成速度慢的技術(shù)問題。
作為一種可選的實施方式,按照預(yù)設(shè)算法提取灰度圖片的噪聲信息。圖3是根據(jù)本發(fā)明實施例的按照預(yù)設(shè)算法提取灰度圖片的噪聲信息的方法的流程圖。如圖3所示,該按照預(yù)設(shè)算法提取灰度圖片的噪聲信息的方法包括以下步驟:
步驟s301,獲取灰度圖片的圖像信息。
在本申請步驟s204對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片之后, 在該實施例中,獲取灰度圖片的圖像信息?;叶葓D片的圖像信息可以為灰度圖片上各像素的像素信息,比如,各個像素的紅、藍、綠的分量,也可以為灰度圖片的邊緣信息。
灰度圖片的邊緣信息對圖像識別和圖像測量十分有用。圖像邊緣是圖像的一個屬性區(qū)域和另一個屬性區(qū)域的交界處,也即,灰度圖片的局部區(qū)域具有不連續(xù)性,比如,灰度級的突變,紋理結(jié)構(gòu)的變化,是區(qū)域?qū)傩园l(fā)生突變的地方,也是圖像信息最豐富的地方,蘊含了豐富的內(nèi)在信息?;叶葓D片的邊緣信息包括像素的坐標、邊緣的方向、邊緣的幅度等信息。沿邊緣走向的像素的灰度變化緩慢,而垂直邊緣走向的像素的灰度變化劇烈,也即,灰度梯度指向邊緣的垂直方向。
步驟s302,對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,得到噪聲信息。
在獲取灰度圖片的圖像信息之后,對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理。拉普拉斯算子基于二階微分計算,可以得到圖像中各個方向上的變化率的大小,檢測的信息量大,對噪聲敏感。比如,在灰度圖片中,檢測灰度的變化率,可以得到灰度在各個方向上的變化率。變化率較大的區(qū)域一般集中在邊緣,拉普拉斯算法通過二階微分計算,拉普拉斯算子在邊的亮的一側(cè)為正值,拉普拉斯算子在邊的暗的一側(cè)為負值,可以通過拉普拉斯算子檢測灰度圖片中的像素是在邊的亮的一側(cè)還是在邊的暗的一側(cè),同時利用二階導(dǎo)數(shù)零交叉,求梯度局部最大值的點,確定邊的位置。由于拉普拉斯邊緣提取算法可以得到灰度在各個方向上的變化率,對噪聲敏感,可以有效提取灰度圖片的噪聲信息,在根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景之后,背景的干擾性更強。
可選地,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息除了使用拉普拉斯邊緣提取算法之外,還可以使用其它的邊緣提取算法。比如,一階微分的邊緣檢測算法,一階微分的邊緣檢測算法包括roberts算法,sobel算法和prewitt算法等。其中,roberts算法根據(jù)任一對互相垂直方向的差分計 算梯度,采用對角線方向相鄰像素之差進行梯度幅值檢測,邊緣定位的精度不是很高;sobel算法是離散型的差分算子,帶有方向性,可以只檢測豎直邊緣或者只檢測與數(shù)值邊緣垂直的邊緣,或者都檢測,檢測的信息有限,沒有將圖像的主題與背景嚴格區(qū)分開,不能基于灰度圖片進行處理;prewitt算法通過像素平均對噪聲進行抑制,邊緣定位的精度不如roberts算法。此外,在上述一階微分的邊緣檢測算法中,如果求得的一階導(dǎo)數(shù)高于某一閾值時,則確定該點為邊緣點,這樣會導(dǎo)致邊緣點太多。因此,通過一階微分的邊緣檢測算法提取灰度圖片的噪聲信息,再根據(jù)該噪聲信息生成驗證碼的背景圖片,且將該背景圖片作為驗證碼的背景之后,背景的干擾性比較低。
通過二階微分邊緣檢測算法檢測一階導(dǎo)數(shù)的局部最大值的點,并將梯度局部最大值的點確定為邊緣點,一階導(dǎo)數(shù)的局部最大值點對應(yīng)著二階導(dǎo)數(shù)的零交叉點,可以降低邊緣點的數(shù)目。canny算法為二階微分邊緣檢測算法,采用一階偏導(dǎo)的有限差分來計算梯度和幅值方向,還經(jīng)過非極大值抑制的過程,最后采用兩個閾值連接邊緣,實現(xiàn)起來比較麻煩。而拉普拉斯邊緣提取算法只考慮邊緣點的位置,不用考慮邊緣點的灰度差,處理容易,從而通過對灰度圖片的二階導(dǎo)數(shù)的零交叉點確定灰度圖片的邊緣點,因此,通過拉普拉斯邊緣提取算法提取灰度圖片的噪聲信息,再根據(jù)該噪聲信息生成驗證碼的背景圖片,且將該背景圖片作為驗證碼的背景之后,背景的干擾性高。
本發(fā)明實施例通過獲取灰度圖片的圖像信息,然后對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,得到噪聲信息,提高了驗證碼的背景的干擾性。
作為一種可選的實施方式,對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理。圖4是根據(jù)本發(fā)明實施例的對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理的方法的流程圖。如圖4所示,該對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理的方法包括以下步驟:
步驟s401,獲取驗證碼的線條寬度。
驗證碼可以預(yù)先設(shè)置,則驗證碼的大小、驗證碼的線條寬度也就確定??蛇x地,驗證碼的線條寬度是均勻的,獲取驗證碼的線條寬度。
步驟s402,根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù)。
通過預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息,主要通過灰度圖片的一階或者二階導(dǎo)數(shù)來確定的,導(dǎo)數(shù)的計算對噪聲很敏感,濾波器用于對圖像信息執(zhí)行濾波,寬度參數(shù)為濾波器對圖像信息執(zhí)行濾波時的參數(shù),可以對噪聲進行處理。根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù),優(yōu)選地,驗證碼的線條寬度和濾波器的寬度參數(shù)相同。
步驟s403,根據(jù)寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息。
在根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù)之后,根據(jù)濾波器的寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息,該噪聲信息可以為灰度圖片中灰度變化較大的區(qū)域的信息,噪聲信息對應(yīng)的線條寬度相同,線條完全隨機,干擾性強,無法使用霍夫變換等曲線檢測手段檢測出來,提高了驗證碼的抗破解性。其中,霍夫變換可以檢測圖像中的直線、曲線、橢圓等線條。
本發(fā)明實施例通過獲取驗證碼的線條寬度;根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù),濾波器用于對圖像信息執(zhí)行濾波,寬度參數(shù)為濾波器對圖像信息執(zhí)行濾波時的參數(shù);根據(jù)寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息,實現(xiàn)了對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,從而提高了驗證碼的抗破解性。
作為一種可選的實施方式,根據(jù)噪聲信息生成驗證碼的背景圖片。圖5是根據(jù)本發(fā)明實施例的根據(jù)噪聲信息生成驗證碼的背景圖片的方法的流程圖。如圖5所示,根據(jù)噪聲信息生成驗證碼的背景圖片的方法包括以下步驟:
步驟s501,根據(jù)噪聲信息生成驗證碼的背景信息。
在本申請步驟s206按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息之后,根據(jù)灰度圖片對應(yīng)的噪聲信息生成驗證碼的背景信息,該背景信息為用于生成圖片的信息,比如,噪聲信息對應(yīng)的線條的分布信息,圖片的大小信息,圖片各像素點的紅、藍、綠分量的信息等。
步驟s502,根據(jù)背景信息生成原始背景圖片。
在根據(jù)噪聲信息生成驗證碼的背景信息之后,根據(jù)驗證碼的背景信息生成原始背景圖片。該原始背景圖片用于生成驗證碼的背景圖片。
圖6是根據(jù)本發(fā)明實施例的根據(jù)噪聲信息生成的驗證碼的背景圖片的示意圖。如圖6所示,該原始背景圖片與步驟s202獲取的預(yù)設(shè)圖片的大小相同。該原始背景圖片中的線條分布對應(yīng)噪聲的分布,為隨機分布的,無法通過使用霍夫變換等曲線檢測方法的驗證碼識別軟件將這種隨機分布的線條檢測出來。驗證碼識別軟件在識別驗證碼時通常會將驗證碼的不需要的信息去除掉,比如,背景、干擾線、干擾像素等,中值濾波器可以將圖片中像素的值用周圍像素的平均值代替,對點噪聲的濾除有很好的效果,但是,該原始背景圖片中的黑色像素和白色像素的比例相近,從而無法通過使用中止濾波器的驗證碼識別軟件將其濾除,避免了驗證碼識別軟件從驗證碼的背景中識別出驗證碼,提高了驗證碼的抗破解性。
步驟s503,劃分原始背景圖片,得到分割圖片。
在根據(jù)背景信息生成原始背景圖片之后,獲取驗證碼的大小,根據(jù)驗證碼的大小和驗證碼的線條寬度劃分原始背景圖片,可選地,通過軟件程序設(shè)計劃分算法,通過劃分算法將原始背景圖片劃分為若干個圖片,從而得到分割圖片。其中,分割圖片的大小與驗證碼的大小和驗證碼的線條寬度相對應(yīng)。
步驟s504,將分割圖片確定為驗證碼的背景圖片。
在得到分割圖片之后,將分割圖片確定為驗證碼的背景圖片,將該背 景圖片確定為驗證碼的背景。
可選地,在根據(jù)噪聲信息生成驗證碼的背景圖片之后,在背景圖片上繪制驗證碼,也即,繪制隨機字符串,得到驗證碼圖片,可選地,該驗證碼預(yù)先設(shè)置。圖7是根據(jù)本發(fā)明實施例的驗證碼圖片的示意圖。如圖7所示,驗證碼為“01234”,將驗證碼“01234”繪制在驗證碼的背景圖片上,驗證碼“01234”的大小和線條寬度與驗證碼的背景圖片是相對應(yīng)的,從而得到驗證碼圖片。該驗證碼圖片中的驗證碼也可以為數(shù)字。
通過驗證碼圖片來驗證身份是一種字符校驗技術(shù),可以判斷網(wǎng)站中的操作是合法用戶的操作,還是計算機程序惡意的操作。驗證碼圖片是混合了數(shù)字或者字母的圖片,同時添加了一些干擾信息,人眼識別不容易,計算機識別就更加困難,該實施例的根據(jù)噪聲信息生成驗證碼的背景信息可以提高驗證碼的背景的干擾性,防止不法用戶利用計算機自動批量注冊,對特定的注冊用戶用特定程序暴力破解驗證碼進行不斷地登錄,提高網(wǎng)站使用的安全性。
該實施例的驗證碼圖片可以為四位數(shù)字,或者字母,或者數(shù)字與字母混合組成,在網(wǎng)站中使用時,每刷新一次,驗證碼圖片改變一次。
本發(fā)明實施例通過根據(jù)噪聲信息生成驗證碼的背景信息;然后根據(jù)背景信息生成原始背景圖片;再劃分原始背景圖片,得到分割圖片;最后將分割圖片確定為驗證碼的背景圖片,實現(xiàn)了根據(jù)噪聲信息生成驗證碼的背景圖片,將驗證碼的背景圖片確定為驗證碼的背景,而不需要在驗證碼周圍添加噪聲點、線條、或者不規(guī)則的區(qū)域等這些計算量很大的干擾信息,提高了驗證碼的背景生成速度。
作為一種可選的實施方式,在根據(jù)噪聲信息生成驗證碼的背景圖片之后,將背景圖片存儲至內(nèi)存緩沖區(qū)中。在背景圖片上繪制驗證碼之前,從內(nèi)存緩沖區(qū)中獲取背景圖片,得到與驗證碼對應(yīng)的背景圖片。
在將驗證碼繪制在驗證碼的背景圖片之前,根據(jù)預(yù)設(shè)圖片的噪聲信息 生成驗證碼的背景信息;然后根據(jù)背景信息生成原始背景圖片;再劃分原始背景圖片,得到多張分割圖片;最后將多張分割圖片存儲至內(nèi)存緩沖區(qū)中。在背景圖片上繪制驗證碼之前,從內(nèi)存緩沖區(qū)中獲取背景圖片,得到與驗證碼相對應(yīng)的背景圖片,將該背景圖片確定為驗證碼的背景,提高了驗證碼的背景的生成速度,此外,在背景圖片上繪制驗證碼,在生成驗證碼圖片的過程中計算量很小,從而達到快速生成驗證碼圖片的效果。
本發(fā)明實施例通過在根據(jù)噪聲信息生成驗證碼的背景圖片之后,將背景圖片存儲至內(nèi)存緩沖區(qū)中。在背景圖片上繪制驗證碼之前,從內(nèi)存緩沖區(qū)中獲取背景圖片,得到與驗證碼對應(yīng)的背景圖片,提高了驗證碼的背景的生成速度,從而達到快速生成驗證碼圖片的效果。
作為一種可選的實施方式,本申請步驟s202獲取預(yù)設(shè)圖片包括:通過圖像傳感器采集圖像,得到照片,并將照片作為預(yù)設(shè)圖片,本申請步驟s206按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息包括:按照預(yù)設(shè)算法提取灰度圖片的噪聲信息和圖像傳感器的噪聲信息。
圖像傳感器是數(shù)字圖像的重要組成部分,可以為電荷耦合元件(chargecoupleddevice,簡稱為ccd),也可以為金屬氧化物半導(dǎo)體元器件(complementarymetal-oxidesemiconductor,簡稱為cmos)。其中,ccd是應(yīng)用在攝影攝像的高端技術(shù)元件,cmos應(yīng)用在較低影響品質(zhì)的產(chǎn)品中。圖像傳感器將光學信號轉(zhuǎn)化為電信號,比如,數(shù)碼相機中使用圖像傳感器將光學信息轉(zhuǎn)化為電信號,采集圖像,得到照片,并將該照片作為預(yù)設(shè)圖片,將該預(yù)設(shè)圖片按照本申請步驟s204對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。
圖像傳感器在采集圖像的時候,會產(chǎn)生噪聲信息。圖像傳感器的噪聲信息包括多個方面,有圖像傳感器的電子元器件的噪聲,比如,電阻引起的熱噪聲,真空器件引起的散粒噪聲和閃爍噪聲,面結(jié)型的晶體管產(chǎn)生的顆粒噪聲,場效應(yīng)管的溝道熱噪聲,光電管的光量子噪聲和電子起伏噪聲,以及攝像管引起的各種噪聲等,這些原器件組成的各種電子線路以及構(gòu)成 的設(shè)備又將這些噪聲產(chǎn)生不同的變換而形成局部線路和設(shè)備的噪聲,此外,還有光學現(xiàn)象所產(chǎn)生的圖像光學噪聲。圖像傳感器中的噪聲信息也可以為通過圖像傳感器獲取的照片在傳輸?shù)倪^程中產(chǎn)生的噪聲,產(chǎn)生的隨機、離散的像素點。
按照預(yù)設(shè)算法提取灰度圖片的噪聲信息和圖像傳感器的噪聲信息。根據(jù)灰度圖片的噪聲信息和圖像傳感器的噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,提高了驗證碼的背景生成速度。
可選地,按照拉普拉斯邊緣提取算法提取灰度圖片的噪聲信息和圖像傳感器的噪聲信息。拉普拉斯邊緣提取算法只考慮邊緣點的位置,不用考慮邊緣點的灰度差,處理容易,從而通過對灰度圖片的二階導(dǎo)數(shù)的零交叉點確定灰度圖片的邊緣點,由于拉普拉斯邊緣提取算法對噪聲敏感,可以有效提取灰度圖片的噪聲信息,在根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景之后,背景的干擾性更強。
本發(fā)明實施例通過圖像傳感器采集圖像,得到照片,并將照片作為預(yù)設(shè)圖片,按照預(yù)設(shè)算法提取灰度圖片和圖像傳感器的噪聲信息,提高了驗證碼的背景生成速度。
作為一種可選的實施方式,本申請步驟s202獲取預(yù)設(shè)圖片包括:對預(yù)設(shè)紙張進行多次拍照,得到多張預(yù)設(shè)圖片,本申請步驟s204對預(yù)設(shè)圖片執(zhí)行灰度處理包括:對多張預(yù)設(shè)圖片同時執(zhí)行灰度處理,得到多張灰度圖片,本申請步驟s206按照預(yù)設(shè)算法提取灰度圖片的噪聲信息包括:按照預(yù)設(shè)算法同時提取多張灰度圖片的噪聲信息,本申請步驟s208根據(jù)噪聲信息生成驗證碼的背景圖片包括:根據(jù)多張灰度圖片的噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
舉例而言,在將驗證碼繪制在驗證碼的背景圖片之前,可以使用相機對同一張白紙拍攝多張相片,在10分鐘內(nèi)可以拍攝幾百張相片。對幾百張預(yù)設(shè)圖片同時執(zhí)行灰度處理,得到幾百張灰度圖片,按照預(yù)設(shè)算法同時提取這幾百張灰度圖片的噪聲信息,根據(jù)幾百張相片的噪聲信息生成驗證 碼的背景信息;然后根據(jù)背景信息生成原始背景圖片;再劃分原始背景圖片,得到多張分割圖片;最后將多張分割圖片確定為驗證碼的背景圖片,存儲至內(nèi)存緩沖區(qū)中。在生成驗證碼圖片之前,從內(nèi)存緩沖區(qū)中獲取與驗證碼的大小、驗證碼的線條寬度相對應(yīng)的背景圖片,將該背景圖片確定為驗證碼的背景,提高了驗證碼的背景的生成速度,在背景圖片上繪制驗證碼,在生成驗證碼圖片的過程中計算量很小,從而達到快速生成驗證碼圖片的效果。
本發(fā)明實施例通過對預(yù)設(shè)紙張進行多次拍照,得到多張預(yù)設(shè)圖片,在得到多張預(yù)設(shè)圖片之后,對多張預(yù)設(shè)圖片同時執(zhí)行灰度處理,得到多張灰度圖片,再按照預(yù)設(shè)算法同時提取多張灰度圖片的噪聲信息,最后根據(jù)多張灰度圖片的噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,提高了驗證碼的背景的生成速度,從而達到了快速生成驗證碼圖片的效果。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述驗證碼的背景生成方法的裝置。圖8是根據(jù)本發(fā)明第一實施例的驗證碼的背景生成裝置的示意圖,如圖8所示,該裝置包括:獲取單元10,處理單元20,提取單元30和生成單元40。
該實施例的驗證碼的背景生成裝置中,獲取單元10可以用于執(zhí)行本發(fā)明實施例中的步驟s202,處理單元20可以用于執(zhí)行本發(fā)明實施例中的步驟s204,提取單元30可以用于執(zhí)行本發(fā)明實施例中的步驟s206,生成單元40用于執(zhí)行本發(fā)明實施例中的步驟s208。
本申請上述獲取單元10用于獲取預(yù)設(shè)圖片,其中,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片。該實施例的預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片。
在該實施例中,驗證碼可以是一串隨機產(chǎn)生的字符或者符號,驗證碼具有背景。在驗證碼的背景中添加一些干擾信息可以防止驗證碼識別軟件對驗證碼進行破解。獲取單元10獲取的預(yù)設(shè)圖片是用于生成驗證碼的背景的圖片??蛇x地,獲取單元10通過拍攝獲取預(yù)設(shè)圖片,比如,對空白的白紙進行拍照所獲取的照片。該預(yù)設(shè)圖片也可以為對牛皮紙、宣紙、吸墨紙等紋理復(fù)雜的紙張進行拍照所獲取的照片,該照片的顏色可以為除了白色的其他顏色。
本申請上述處理單元20用于對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。在獲取單元10獲取預(yù)設(shè)圖片之后,處理單元20對預(yù)設(shè)圖片執(zhí)行灰度處理。當預(yù)設(shè)圖片為彩色時,處理單元20對預(yù)設(shè)圖片執(zhí)行灰度處理得到灰度色,也即,得到灰度化的圖片??蛇x地,處理單元20通過計算機對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度數(shù)字圖像,將灰度數(shù)字圖像作為灰度圖片。
處理單元20將彩色的預(yù)設(shè)圖像轉(zhuǎn)化為灰度圖片的過程可以實現(xiàn)對預(yù) 設(shè)圖像的灰度處理??蛇x地,處理單元20分別獲取預(yù)設(shè)圖片的每個像素的紅、藍、綠三個分量的值,將每個像素的紅、藍、綠三個分量的值取平均值,然后將此平均值賦值給對應(yīng)的像素的紅、藍、綠三個分量,從而處理單元20對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。處理單元20可以通過軟件程序設(shè)計具體的算法來實現(xiàn)對預(yù)設(shè)圖片執(zhí)行灰度處理的目的。
本申請上述提取單元30按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息。在處理單元20對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片之后,提取單元30按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息??蛇x地,該預(yù)設(shè)算法為邊緣提取算法,用于提取灰度圖片的邊緣信息,舍棄不相關(guān)的信息量,從而大幅度地降低了灰度圖片在后續(xù)處理的數(shù)據(jù)量。提取單元30通過邊緣提取算法提取出灰度圖片中對象與背景中的交界線,得到灰度圖片對應(yīng)的噪聲信息,該噪聲信息相對于驗證碼而言,妨礙驗證碼的接收,是用于干擾驗證碼識別的信息,該噪聲信息也可以為獲取預(yù)設(shè)圖片的裝置的噪聲信息。
可選地,提取單元30通過微分算子法提取灰度圖片對應(yīng)的噪聲信息。提取單元30根據(jù)灰度圖片的邊緣處的一階導(dǎo)數(shù)有極值,或者灰度圖片的邊緣處的二階導(dǎo)數(shù)過零點的原理來檢測邊緣信息。在求邊緣倒數(shù)時,對灰度圖片的每個像素位置進行計算,可以通過卷積近似計算。一階微分的邊緣檢測算子為矢量,既有大小、又有方向,與標量相比,數(shù)據(jù)的存儲量比較大。一階導(dǎo)數(shù)的局部值最大對應(yīng)著二階導(dǎo)數(shù)的過零點,可以通過二階導(dǎo)數(shù)的過零點查找灰度圖片的邊緣,查找邊緣信息準確,從而得到灰度圖片對應(yīng)的噪聲信息。
可選地,提取單元30通過曲面擬合算法提取灰度圖片對應(yīng)的噪聲信息,可以先用一個平面或者曲面逼近圖像面積元,再用該平面或者曲面的梯度代替點梯度,進而實現(xiàn)灰度圖片的邊緣檢測。該曲面擬合算法可以為一次平面擬合法,或者二次品面擬合法。
本申請上述生成單元40用于根據(jù)噪聲信息生成驗證碼的背景圖片, 且將背景圖片作為驗證碼的背景。
在提取單元30按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息之后,生成單元40根據(jù)噪聲信息生成驗證碼的背景圖片,該驗證碼的背景圖片比預(yù)設(shè)圖片小??蛇x地,根據(jù)噪聲信息生成與預(yù)設(shè)圖片大小相同的原始背景圖片,該原始背景圖片上具有預(yù)設(shè)圖片的噪聲信息。將該原始背景圖片進行分割,得到與驗證碼對應(yīng)的驗證碼的背景圖片。該驗證碼的背景圖片的大小與驗證碼的大小、驗證碼的線條寬度有關(guān),也即,驗證碼的大小和線條寬度可以預(yù)先設(shè)置,通過驗證碼的大小和線條的寬度確定驗證碼的背景圖片的大小。當驗證碼的背景圖片生成之后,將驗證碼的背景圖片確定為驗證碼的背景。
本發(fā)明實施例通過獲取單元10獲取預(yù)設(shè)圖片,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片,通過處理單元20對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片,通過提取單元30按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息,通過生成單元40根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景,達到了提高驗證碼的背景生成速度,解決了驗證碼的背景生成速度慢的技術(shù)問題。
作為一種可選的實施方式,圖9是根據(jù)本發(fā)明第二實施例的驗證碼的背景生成裝置的示意圖,如圖9所示,該驗證碼的背景生成裝置包括:獲取單元10,處理單元20,提取單元30和生成單元40,其中,提取單元30包括:獲取模塊31和處理模塊32。
在該實施例中,獲取單元10,處理單元20,提取單元30和生成單元40的作用與本發(fā)明第一實施例的驗證碼的背景生成裝置中的作用相同,在此不再贅述。
獲取模塊31,用于獲取灰度圖片的圖像信息。
處理模塊32,用于對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,得到噪聲信息。
在該實施例中,通過獲取模塊31獲取灰度圖片的圖像信息。灰度圖片的圖像信息可以為灰度圖片上各像素的像素信息,比如,各個像素的紅、藍、綠的分量,也可以為灰度圖片的邊緣信息。
在獲取模塊31獲取灰度圖片的圖像信息之后,處理模塊32對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,得到噪聲信息。拉普拉斯算子基于二階微分計算,可以得到圖像中各個方向上的變化率的大小,檢測的信息量大,對噪聲敏感。由于拉普拉斯邊緣提取算法可以得到灰度在各個方向上的變化率,對噪聲敏感,可以有效提取灰度圖片的噪聲信息,在根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景之后,背景的干擾性更強。
本發(fā)明實施例通過獲取模塊31獲取灰度圖片的圖像信息,通過處理模塊32對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,得到噪聲信息,實現(xiàn)了按照預(yù)設(shè)算法提取灰度圖片的噪聲信息,提高了驗證碼的背景生成速度。
作為一種可選的實施方式,圖10是根據(jù)本發(fā)明第三實施例的驗證碼的背景生成裝置的示意圖,如圖10所示,該驗證碼的背景生成裝置包括:獲取單元10,處理單元20,提取單元30和生成單元40,其中,提取單元30包括:獲取模塊31和處理模塊32,處理模塊32包括:獲取子模塊321,確定子模塊322和計算子模塊323。
在該實施例中,獲取單元10,處理單元20,提取單元30和生成單元40,獲取模塊31和處理模塊32的作用與本發(fā)明第二實施例的驗證碼的背景生成裝置中的作用相同,在此不再贅述。
獲取子模塊321,用于獲取驗證碼的線條寬度。
確定子模塊322,用于根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù),其中,濾波器用于對圖像信息執(zhí)行濾波,寬度參數(shù)為濾波器對圖像信息執(zhí)行濾波時的參數(shù)。
計算子模塊323,用于根據(jù)寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息。
該實施例的驗證碼預(yù)先設(shè)置,則驗證碼的大小、驗證碼的線條寬度也就確定??蛇x地,驗證碼的線條寬度是均勻的,獲取子模塊321獲取驗證碼的線條寬度。
提取單元30通過預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息,主要通過灰度圖片的一階或者二階導(dǎo)數(shù)來確定的,導(dǎo)數(shù)的計算對噪聲很敏感,濾波器用于對圖像信息執(zhí)行濾波,可以對噪聲進行處理。確定子模塊322根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù),優(yōu)選地,驗證碼的線條寬度和濾波器的寬度參數(shù)相同。
在確定子模塊322根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù)之后,計算子模塊323根據(jù)濾波器的寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息,該噪聲信息可以為灰度圖片中灰度變化較大的區(qū)域的信息,噪聲信息對應(yīng)的線條寬度相同,線條完全隨機,干擾性強,無法使用霍夫變換等曲線檢測手段檢測出來,提高了驗證碼的抗破解性。
本發(fā)明實施例通過獲取子模塊321獲取驗證碼的線條寬度,通過確定子模塊322根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù),濾波器用于對圖像信息執(zhí)行濾波,寬度參數(shù)為濾波器對圖像信息執(zhí)行濾波時的參數(shù),通過計算子模塊323根據(jù)寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息,實現(xiàn)了對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,提高了驗證碼的抗破解性,提高了驗證碼的背景生成速度。
作為一種可選的實施方式,圖11是根據(jù)本發(fā)明第四實施例的驗證碼的背景生成裝置的示意圖,如圖11所示,該驗證碼的背景生成裝置包括:獲取單元10,處理單元20,提取單元30和生成單元40,其中,生成單元40包括:第一生成模塊41,第二生成模塊42,劃分模塊43和確定模塊44。
在該實施例中,獲取單元10,處理單元20,提取單元30和生成單元40的作用與本發(fā)明第一實施例的驗證碼的背景生成裝置中的作用相同,在此不再贅述。
第一生成模塊41,用于根據(jù)噪聲信息生成驗證碼的背景信息。
第二生成模塊42,用于根據(jù)背景信息生成原始背景圖片。
劃分模塊43,用于劃分原始背景圖片,得到分割圖片。
確定模塊44,用于將分割圖片確定為驗證碼的背景圖片。
在提取單元30按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息之后,第一生成模塊41用于根據(jù)灰度圖片對應(yīng)的噪聲信息生成驗證碼的背景信息,該背景信息為用于生成圖片的信息,比如,噪聲信息對應(yīng)的線條的分布信息,圖片的大小信息,圖片各像素點的紅、藍、綠分量的信息等。
在第一生成模塊41根據(jù)噪聲信息生成驗證碼的背景信息之后,第二生成模塊42根據(jù)驗證碼的背景信息生成原始背景圖片。該原始背景圖片用于生成驗證碼的背景圖片。
在第二生成模塊42根據(jù)背景信息生成原始背景圖片之后,劃分模塊43獲取驗證碼的大小,根據(jù)驗證碼的大小和驗證碼的線條寬度劃分原始背景圖片,可選地,劃分模塊43通過軟件程序設(shè)計劃分算法,通過劃分算法將原始背景圖片劃分為若干個圖片,從而得到分割圖片。其中,分割圖片的大小與驗證碼的大小和驗證碼的線條寬度相對應(yīng)。
在得到分割圖片之后,確定模塊44將分割圖片確定為驗證碼的背景圖片,將該背景圖片確定為驗證碼的背景。
本發(fā)明實施例通過第一生成模塊41根據(jù)噪聲信息生成驗證碼的背景信息,通過第二生成模塊42根據(jù)背景信息生成原始背景圖片,通過劃分模塊43劃分原始背景圖片,得到分割圖片,通過確定模塊44將分割圖片確定為驗證碼的背景圖片,實現(xiàn)了根據(jù)噪聲信息生成驗證碼的背景圖片, 提高了驗證碼的背景生成速度。
作為一種可選的實施方式,圖12是根據(jù)本發(fā)明第五實施例的驗證碼的背景生成裝置的示意圖,如圖12所示,該驗證碼的背景生成裝置包括:獲取單元10,處理單元20,提取單元30,生成單元40和繪制單元50。
繪制單元50,用于在根據(jù)噪聲信息生成驗證碼的背景圖片之后,在背景圖片上繪制驗證碼,得到驗證碼圖片。
可選地,在生成單元40根據(jù)噪聲信息生成驗證碼的背景圖片之后,通過繪制單元50在背景圖片上繪制驗證碼,也即,繪制隨機字符串,得到驗證碼圖片,可選地,該驗證碼預(yù)先設(shè)置。
通過驗證碼圖片可以判斷網(wǎng)站中的操作是合法用戶的操作,還是計算機程序惡意的操作。驗證碼圖片是混合了數(shù)字或者字母的圖片,同時添加了一些干擾信息,人眼識別不容易,計算機識別就更加困難,該實施例的生成單元40根據(jù)噪聲信息生成驗證碼的背景信息可以提高驗證碼的背景的干擾性,防止不法用戶利用計算機自動批量注冊,對特定的注冊用戶用特定程序暴力破解驗證碼進行不斷地登錄,提高網(wǎng)站使用的安全性。
可選地,獲取單元10用于通過圖像傳感器采集圖像,得到照片,并將照片作為預(yù)設(shè)圖片。
可選地,提取單元30用于按照預(yù)設(shè)算法提取灰度圖片和圖像傳感器的噪聲信息。拉普拉斯邊緣提取算法只考慮邊緣點的位置,不用考慮邊緣點的灰度差,處理容易,從而通過對灰度圖片的二階導(dǎo)數(shù)的零交叉點確定灰度圖片的邊緣點,由于拉普拉斯邊緣提取算法對噪聲敏感,可以有效提取灰度圖片的噪聲信息,在根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景之后,背景的干擾性更強。
作為一種可選的實施方式,獲取單元10用于對預(yù)設(shè)紙張進行多次拍照,得到多張預(yù)設(shè)圖片,處理單元20用于對多張預(yù)設(shè)圖片同時執(zhí)行灰度處理,得到多張灰度圖片,提取單元30用于按照預(yù)設(shè)算法同時提取多張 灰度圖片的噪聲信息,生成單元40用于根據(jù)多張灰度圖片的噪聲信息生成驗證碼的背景圖片。
舉例而言,在生成驗證碼圖片之前可以使用相機對著同樣一張白紙拍攝多張相片,按照預(yù)設(shè)算法對拍攝的圖片統(tǒng)一處理得到背景圖片,最后將背景圖片切割并且放入內(nèi)存緩沖區(qū),在生成驗證碼圖片時取出來使用即可,也即,在生成驗證碼圖片時只需將驗證碼的背景圖片從內(nèi)存緩沖區(qū)中取出,再在驗證碼的背景圖片上面繪制驗證碼即可,幾乎沒有計算,所以驗證碼圖片的生成過程中計算量很小,提高了驗證碼圖片的生成速度。
實施例3
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一種驗證碼的背景生成方法所執(zhí)行的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
第一步,獲取預(yù)設(shè)圖片,其中,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片。
第二步,對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。
第三步,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息。
第四步,根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取灰度圖片的圖像信息;對圖像信息按照拉普拉斯邊緣提取算法執(zhí)行處理,得到噪聲信息。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取驗證碼的線條寬度;根據(jù)驗證碼的線條寬度確定濾波器的寬度參數(shù),其中,濾波器用于對圖像信息執(zhí)行濾波,寬度參數(shù)為濾波器對圖像信息執(zhí)行濾波時的參數(shù);根據(jù)寬度參數(shù)對圖像信息執(zhí)行拉普拉斯邊緣提取計算,得到噪聲信息。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:根據(jù)噪聲信息生成驗證碼的背景信息;根據(jù)背景信息生成原始背景圖片;劃分原始背景圖片,得到分割圖片;將分割圖片確定為驗證碼的背景圖片。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在根據(jù)噪聲信息生成驗證碼的背景圖片之后,在背景圖片上繪制驗證碼,得到驗證碼圖片。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在根據(jù)噪聲信息生成驗證碼的背景圖片之后,將背景圖片存儲至內(nèi)存緩沖區(qū)中,在背景圖片上繪制驗證碼之前,從內(nèi)存緩沖區(qū)中獲取背景圖片,得到與驗證碼對應(yīng)的背景圖片。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:通過圖像傳感器采集圖像,得到照片,并將照片作為預(yù)設(shè)圖片,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息包括:按照預(yù)設(shè)算法提取灰度圖片的噪聲信息和圖像傳感器的噪聲信息。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼,獲取預(yù)設(shè)圖片包括:對預(yù)設(shè)紙張進行多次拍照,得到多張預(yù)設(shè)圖片,對預(yù)設(shè)圖片執(zhí)行灰度處理包括:對多張預(yù)設(shè)圖片同時執(zhí)行灰度處理,得到多張灰度圖片,按照預(yù)設(shè)算法提取灰度圖片的噪聲信息包括:按照預(yù)設(shè)算法同時提取多張灰度圖片的噪聲信息,根據(jù)噪聲信息生成驗證碼的背景圖片包括:根據(jù)多張灰度圖片的噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
實施例4
本發(fā)明的實施例還提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設(shè)備。可選地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設(shè)備。
可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
可選地,圖13是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。如圖13所示,該計算機終端a可以包括:一個或多個(圖中僅示出一個)處理器131、存儲器133、以及傳輸裝置135。
存儲器133可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的驗證碼的背景生成方法和裝置對應(yīng)的程序指令/模塊,處理器131通過運行存儲在存儲器133內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的驗證碼的背景生成方法。存儲器133可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器133可進一步包括相對于處理器131遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端a。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
上述的傳輸裝置135用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置135包括一個網(wǎng)絡(luò)適配器nic,其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進行通訊。在一個實例中,傳輸裝置135為射頻rf 模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
其中,具體地,存儲器133用于存儲預(yù)設(shè)動作條件和預(yù)設(shè)權(quán)限用戶的信息、以及應(yīng)用程序。
處理器131可以通過傳輸裝置調(diào)用存儲器133存儲的信息及應(yīng)用程序,以執(zhí)行下述步驟:
可選的,上述處理器131還可以執(zhí)行如下步驟的程序代碼:
第一步,獲取預(yù)設(shè)圖片,其中,預(yù)設(shè)圖片為用于生成驗證碼的背景的圖片。
第二步,對預(yù)設(shè)圖片執(zhí)行灰度處理,得到灰度圖片。
第三步,按照預(yù)設(shè)算法提取灰度圖片對應(yīng)的噪聲信息。
第四步,根據(jù)噪聲信息生成驗證碼的背景圖片,且將背景圖片作為驗證碼的背景。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。