專利名稱:一種圖片驗(yàn)證碼的生成方法
技術(shù)領(lǐng)域:
本發(fā)明提出了一種圖片驗(yàn)證碼的生成方法,主要涉及網(wǎng)絡(luò)應(yīng)用、信息安全、圖像處 理、字符識(shí)別等技術(shù)領(lǐng)域。
背景技術(shù):
隨著Internet技術(shù)的迅速發(fā)展,互聯(lián)網(wǎng)已經(jīng)深入到人們生活中的各個(gè)領(lǐng)域,為人 們的生活帶來了許多方便和快捷,但隨之出現(xiàn)的網(wǎng)絡(luò)安全問題也日漸突出。為了保證互聯(lián) 網(wǎng)的安全,防止惡意程序?qū)W(wǎng)絡(luò)的攻擊,不少網(wǎng)站都采用了驗(yàn)證碼技術(shù)。IiiE石馬(CAPTCHA,Completely Automated Public TuringTest to Computers and Humans Apart)是一種區(qū)分用戶是計(jì)算機(jī)或人的公共全自動(dòng)程序。其主要思想就是讓用戶 在進(jìn)行網(wǎng)絡(luò)操作時(shí),輸入一些人們可以理解但是計(jì)算機(jī)程序無法自動(dòng)識(shí)別的東西,如扭曲 的字符、聲音、圖像等,從而響應(yīng)合法用戶的請求,拒絕攻擊者的請求,保證網(wǎng)絡(luò)的穩(wěn)定和用 戶信息的安全。最初的驗(yàn)證碼,只是隨機(jī)生成的一組數(shù)字,但很快就出現(xiàn)了能自動(dòng)識(shí)別該驗(yàn) 證碼的軟件。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,關(guān)于驗(yàn)證碼的生成方法也層出不窮。常用的有基于文 本的驗(yàn)證碼技術(shù)、基于語音形式的驗(yàn)證碼技術(shù)和基于圖像形式的驗(yàn)證碼技術(shù)等,其中以圖 片驗(yàn)證碼的實(shí)用性和安全性最高。圖片驗(yàn)證碼是根據(jù)一定方法產(chǎn)生的一串隨機(jī)字符串,并加入一些干擾信息,最終 生成的用于驗(yàn)證的圖片。由于圖片驗(yàn)證碼經(jīng)過干擾處理,且沒有規(guī)律性,使得惡意攻擊程序 難以自動(dòng)識(shí)別圖片中的數(shù)字和字母驗(yàn)證信息,而必需由用戶肉眼識(shí)別,再手動(dòng)輸入表單提 交網(wǎng)站驗(yàn)證,成功后才能使用該網(wǎng)站提供的某項(xiàng)特定功能,從而有效的防止惡意軟件對網(wǎng) 絡(luò)的攻擊。圖片驗(yàn)證碼的安全強(qiáng)度主要基于圖片驗(yàn)證碼字符識(shí)別的難度。一方面,在信息傳 輸和頁面顯示中不存在直接可提取的驗(yàn)證碼文本,必須通過圖像識(shí)別技術(shù)進(jìn)行圖像到文本 的轉(zhuǎn)換;另一方面,針對圖像識(shí)別技術(shù),一般在信息融合過程中添加干擾信息,同時(shí)進(jìn)行背 景圖像復(fù)雜化、字符圖像扭曲或變形處理,增加圖像識(shí)別的難度,從而提高圖像識(shí)別方法的 復(fù)雜度。目前常用的干擾處理手段有數(shù)字和字母混合、隨機(jī)添加干擾條文、隨機(jī)增加背景 噪聲、隨機(jī)扭曲翻轉(zhuǎn)字符等。但是,隨著人工智能和圖像處理技術(shù)的發(fā)展,程序?qū)τ诓惶珡?fù) 雜的圖片中的字符識(shí)別能力逐漸提高,而對于復(fù)雜圖片人們辨識(shí)其中字符的能力較差。因 此,如何在保證人類可辨識(shí)的前提下,不斷增加圖像驗(yàn)證碼的復(fù)雜度,設(shè)計(jì)更加優(yōu)秀的驗(yàn)證 碼,變得尤為重要。參考文獻(xiàn)(I)Von Ahn. L, Blum. Μ, Hopper. N. J, Lanqford. J. CAPTCHA :using hard AI problems for security. In InternationalConference on the Theory and Application of CryptographicTechniques, Poland,294-322,2003.(2)Von Ahn. L, Maurer. M,etc. reCAPTCHA :Human-Based Character Recognition via Web Security Measures. Science,321 (5895) 1465-8,2008.(3)Miyake. Y, Muraoka, Y. Moving Captcha. In :International Conference onInternet Computing, Las Vegas,103-8, 2007.(4)Bentley. J, Mallows. C. CAPTCHA Challenge String problems and Improvements. Proc. of. The International Societyfor Optical Engineering, San Jose,60670H-1-7,2006.目前,基于圖像形式的驗(yàn)證碼技術(shù)主要通過增加背景的復(fù)雜度和添加干擾線等來 提高驗(yàn)證碼的安全性。但是,該方法在增加干擾信息時(shí)沒有充分考慮到與前景字符顏色的 差異,使人們很難識(shí)別出其中的字符,人性化較低,且形成的圖片驗(yàn)證碼中的字符變形不明 顯,一旦去除背景,字符極易被分割、識(shí)別,驗(yàn)證碼的安全性不高。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種人眼極易識(shí)別而電腦難以識(shí)別的圖片驗(yàn) 證碼的生成方法。本發(fā)明所述的圖片驗(yàn)證碼的生成方法,包括以下步驟(1)生成背景圖像,并且該背景圖像的顏色在該背景圖像中呈從一種顏色到另一 種顏色的漸變;(2)從字符集中隨機(jī)選取4 6個(gè)字符生成字符串圖像,然后,生成字符串圖像的 顏色,使得字符串圖像的顏色與背景圖像的顏色相近但人眼能區(qū)分開;(3)利用基于Bezier曲面的字符串變形方法對步驟(2)中得到的字符串圖像進(jìn)行 變形,獲得變形后的字符串圖像;(4)根據(jù)步驟(3)中得到的變形后的字符串圖像中的各字符的顏色和大小生成具 有相應(yīng)的顏色和大小的噪聲,并將該噪聲添加到相應(yīng)的字符周圍;(5)將步驟⑴中得到的背景圖像和步驟⑷中得到的字符串圖像進(jìn)行融合,從而 獲得圖片驗(yàn)證碼。本發(fā)明所述的圖片驗(yàn)證碼的生成方法能夠設(shè)計(jì)出更合理、更安全的驗(yàn)證碼,適用 于各種認(rèn)證環(huán)境,有效地提高了網(wǎng)絡(luò)的安全性。
圖1是本發(fā)明的圖片驗(yàn)證碼生成方法的流程圖。圖2是本發(fā)明的圖片驗(yàn)證碼生成方法中顏色漸變過程所建立的坐標(biāo)系圖像。圖3是本發(fā)明的圖片驗(yàn)證碼生成方法中所采用的基于Bezier曲面的字符串變形 方法的原理圖。
具體實(shí)施例方式下面,參照
本發(fā)明的實(shí)施方式。圖1是本發(fā)明所述的圖片驗(yàn)證碼的生成方法的流程圖,圖片驗(yàn)證碼的生成方法主 要包括以下步驟(1)生成背景圖像,其中,背景圖像的顏色在背景圖像中呈從一種顏色到另一種顏 色的漸變,從而使得人眼能夠極易區(qū)分而電腦難以識(shí)別該背景圖像。(2)從字符集中隨機(jī)選取4 6個(gè)字符生成字符串圖像,然后,生成字符串圖像的顏色,使得字符串圖像的顏色與背景圖像的顏色相近但又有一定差別,使得人眼能區(qū)分開, 以增加字符的識(shí)別難度。例如,可以調(diào)節(jié)字符串圖像的顏色值與其待融合到背景圖像的位 置周圍的顏色值相差一定值,例如相差10 30個(gè)值。其中,字符串采用隨機(jī)多變的字體,并采用數(shù)字、大小寫英文字母和漢字混合的形 式。字符集所采用的大小寫英文字母主要選自a、b、d、e、f、g、h、i、j、n、q、r、t、u、y、A、 B、D、E、F、G、H、J、L、N、Q、R、T、U、Y中的至少一個(gè),所采用的數(shù)字主要選擇2、3、4、5、6、7、8、 9中的至少一個(gè),所采用的漢字則為從基本字表中按筆畫數(shù)由小到大的順序選取靠前的并 刪掉其中易混淆且難辨認(rèn)的漢字后得到的2000個(gè)漢字中的至少一個(gè)。每一字符都可以采 用以下字體中的任一種宋體、楷體、黑體、隸書、幼圓、Time New Roman、Courier、Tahoma, PMingLiu。同時(shí),在生成字符時(shí),對字符的位置按照隨機(jī)角度進(jìn)行仿射變換。(3)利用基于Bezier曲面的字符串變形方法對步驟(2)中得到的字符串圖像進(jìn)行 變形,獲得變形的字符串圖像。(4)根據(jù)步驟(3)中得到的字符串圖像中的每一字符的顏色和大小生成具有相應(yīng) 的顏色和大小的噪聲,并將該噪聲添加到相應(yīng)的字符周圍。該噪聲為噪聲點(diǎn)或干擾線,噪聲 的數(shù)量可以隨機(jī)確定,噪聲越多識(shí)別難度越大。為了方便人眼辨識(shí)所生成的驗(yàn)證碼,在每個(gè) 字符周圍添加3 5個(gè)噪聲點(diǎn)或3 5條干擾線,噪聲點(diǎn)的大小和干擾線的寬度設(shè)定為噪 聲點(diǎn)的半徑和干擾線的寬度為字符筆畫寬度的0. 5 1倍。(5)將背景圖像和字符串圖像進(jìn)行融合,獲得圖片驗(yàn)證碼。在本發(fā)明中,通過顏色產(chǎn)生器分別生成背景圖像的顏色和字符串圖像的顏色。該 顏色產(chǎn)生器通過調(diào)節(jié)紅(r)、綠(g)、藍(lán)(b)三種原色的值以及顏色的透明度(alpha)值,從 而生成多變的顏色。在本發(fā)明中,背景圖像可以通過以下方法生成,S卩,首先生成空白背景圖像,然后 對背景圖像添加顏色,從而形成背景圖像。另外,背景圖像也可由本地圖像通過縮放到指定 大小來生成。優(yōu)選采用前一方式生成背景圖像。其中,背景圖像的大小根據(jù)實(shí)際需要而設(shè) 定,如設(shè)定為100X200像素的圖像,背景圖像的顏色通過顏色產(chǎn)生器生成,例如,首先通過 顏色產(chǎn)生器生成兩種具有較大差異的顏色,然后將這兩種顏色分別作為矩形背景圖像的左 上方和右下方的點(diǎn)的顏色,在此基礎(chǔ)上,朝向中間區(qū)域?qū)ι鲜鰞煞N顏色分別進(jìn)行漸變,從而 生成背景圖像的顏色。以下參考圖2,詳細(xì)說明顏色的漸變過程(1)生成矩形空白背景圖像,用(A,C,D,B)四個(gè)頂點(diǎn)逆時(shí)針表示,寬為W,長為L, 并建立坐標(biāo)系,其中頂點(diǎn)C為坐標(biāo)系的原點(diǎn),邊CA為y軸,邊⑶為χ軸,以(r,g,b,alpha) 表示顏色值;(2)設(shè)定各頂點(diǎn)A、B、C、D和對角線BC的顏色值令A(yù)點(diǎn)的顏色值為(r1 gl, b” Blpha1),D點(diǎn)的顏色值為(r2,g2,b2,alpha2),B點(diǎn)和C點(diǎn)及對角線BC上的點(diǎn)的顏色值均 為(r3,g3,b3, alpha3),其中 r3 = (T^r2) /2, g3 = (g!+g2)/2, b3 = (b^) /2, alpha3 =
(alphaj+alphaa) /2 ;(3)計(jì)算邊AC、BD上的點(diǎn)的顏色值其中,以坐標(biāo)(0,i)表示邊AC上的點(diǎn),邊AC 上的每一個(gè)點(diǎn)的顏色值為(ri; gi,bi; alpha),其中巧=iX (rA+rc)/ff, h = iX (bA+bc)/ff, gi = iX (gA+gc)/ff, Blphai = iX (alphaA+alphac)/ff, W 為矩形背景圖像的寬,0 < i < W ;
以坐標(biāo)(L,j)表示邊BD上的點(diǎn),邊BD上的每一個(gè)點(diǎn)顏色值為Ov gj, bj; alpha」),其中。=jX (rB+rD)/ff, bj = jX (bB+bD)/ff, gj = jX (gB+gD)/ff, alpha」= jX (alphaB+alphaD)/ff, W 為矩形背景圖像的寬,0 < j < W ;(4)由于已經(jīng)得到了邊AC上的點(diǎn)的顏色值、邊BD上的點(diǎn)的顏色值以及對角線BC 上的點(diǎn)的顏色值,因而,計(jì)算背景圖像中的其它點(diǎn)的顏色值,使得在ABC區(qū)域內(nèi),顏色沿χ軸 方向從邊AC到對角線BC漸變,在BDC區(qū)域內(nèi),顏色沿χ軸方向從對角線BC到邊BD漸變。另外,關(guān)于背景圖像的顏色漸進(jìn)的方式,還可以從矩形背景圖像的一邊到另一邊 漸變,或者從矩形背景圖像的兩個(gè)相對的邊向中間區(qū)域漸變等。針對不同的漸變方式,相應(yīng) 地改變上述漸變過程中的顏色值的計(jì)算方法。在本發(fā)明中,采用基于Bezier曲面的字符串變形方法對字符串圖像進(jìn)行變形,字 符串圖像變形方法主要通過求取Bezier曲面控制點(diǎn)的位置,然后由該控制點(diǎn)形成Bezier 曲面,進(jìn)而將字符串圖像中的點(diǎn)進(jìn)行區(qū)域映射,使字符能夠均勻的顯示在曲面上,從而形成 變形的字符串圖像。Bezier曲面可以用Bezier混合函數(shù)的笛卡爾積的形式來描述 其中,Pij為控制點(diǎn)的位置矢量,Bi(U)和Bj(V)分別為兩個(gè)正交方向的Bernstein
基函數(shù)。所有的控制頂點(diǎn)構(gòu)成空間的一種網(wǎng)絡(luò),稱為控制網(wǎng)絡(luò)。當(dāng)控制點(diǎn)的個(gè)數(shù)為9時(shí)可
形成三次Bezier曲面,其公式為 因此,通過求取曲面控制點(diǎn)和改變曲面內(nèi)部控制點(diǎn)的位置即可形成或改變Bezier 曲面的形狀。參考圖3詳細(xì)說明基于Bezier曲面的字符串變形方法。具體步驟如下(1)選擇矩形字符串圖像的四個(gè)頂點(diǎn)(PQQ,PQ2,P2Q,P22)作為Bezier曲面的四個(gè)角 點(diǎn)的位置(Q。。, QO2' ^20' Q22/ ‘(2)隨機(jī)選擇矩形字符串圖像中的其他控制點(diǎn)的位置在邊PciciPc12上選取控制點(diǎn) PQ1,在邊P。。P2。上選取控制點(diǎn)P1。,在邊Ptl2P22上選取控制點(diǎn)P12,在邊P2tlP22上選取控制點(diǎn)P21, 直線P01P21和P10P12的交點(diǎn)為控制點(diǎn)P11,上述控制點(diǎn)的滿足:P00P01/P00P02 = P20P21/P20P22,
P02P12/P02P22 — P00P10/P00P20 ;(3)計(jì)算控制點(diǎn)P11映射到Bezier曲面內(nèi)部的位置,具體包含以下三個(gè)步驟①使四個(gè)角點(diǎn)的位置不變,即Qqq = P00, Q02 = P02, Q20 = P20, Q22 = P22 ;②使各邊的控制點(diǎn)的位置在曲線上的相對位置不變,即^cAc/QccA。= PooP10/ P00P20,QooQoi/Q00Q02 — P00P01/P00P02,Q02Q12/Q02Q22 — P02P12/P02P22,Q20Q21/Q20Q22 — P20P21/P20P22 ;③將內(nèi)部控制點(diǎn)P11映射到Bezier曲線,即先取曲線QltlQ12W中點(diǎn)繪制一條Bezier 曲線,再取曲線QtllQ21的中點(diǎn)繪制一條Bezier曲線,兩條曲線的交點(diǎn)即為映射點(diǎn)Q11 ;(4)根據(jù)所得到的控制點(diǎn)Q。。,Q02, Q20, Q22,Q01, Q10, Q12,Q21,A11,即可繪制 Bezier 曲 面,并且通過控制映射點(diǎn)Q11的位置,就可以得到自由變形的字符串圖像。在本發(fā)明中,采用背景融合方法將添加了噪聲后的字符串圖像與背景圖像融合,以形成圖片驗(yàn)證碼。該背景融合方法能有效地突出圖片驗(yàn)證碼中字符的有效信息,便于人 眼辨識(shí),并防止惡意程序?qū)θ诤虾蟮淖址M(jìn)行識(shí)別。該背景融合方法的具體步驟如下(1)在背景圖像中,隨機(jī)選取與字符串圖像同樣大小的感興趣區(qū)域;(2)將感興趣區(qū)域的像素g(x,y)與字符串圖像的像素f (x,y)按照公式(3)進(jìn)行 融合,得到融合后的圖像的像素F(x,y)F (X,y) = ω^ (χ, γ) + ω jg (χ, y) (3)其中,ω i和G^為權(quán)值系數(shù),滿足ω i+ = 1,其值可根據(jù)實(shí)際需要進(jìn)行設(shè)定,如 ω = ωj = 0. 5或利用主成分分析(PrincipalComponent Analysis,PCA)方法進(jìn)行計(jì)算;(3)以融合后的像素為F(x,y)的圖像替換原背景圖像中的感興趣區(qū)域,進(jìn)而生成 圖片驗(yàn)證碼。本發(fā)明所述的圖片驗(yàn)證碼的生成方法,能夠獲得以下有益效果(1)該方法能夠在增加背景圖像復(fù)雜度的同時(shí),巧妙地設(shè)計(jì)背景和字符的顏色,使 人眼極易區(qū)分而電腦難以識(shí)別驗(yàn)證碼。(2)字符串采用數(shù)字、大小寫字母和漢字隨機(jī)混合的形式,并進(jìn)行字符粘連、添加 噪聲、扭曲變形等,并使字符的顏色和噪聲的顏色與背景顏色極為相近,從而增加了字符的 識(shí)別難度,提高了驗(yàn)證碼的安全性。(3)背景融合方法能夠?qū)?fù)雜背景圖像和字符串圖像進(jìn)行融合,使融合后的圖片 驗(yàn)證碼更加自然,安全性更高。
權(quán)利要求
一種圖片驗(yàn)證碼的生成方法,包括以下步驟(1)生成背景圖像,并且該背景圖像的顏色在該背景圖像中呈從一種顏色到另一種顏色的漸變;(2)從字符集中隨機(jī)選取4~6個(gè)字符生成字符串圖像,然后,生成所述字符串圖像的顏色,使得所述字符串圖像的顏色與所述背景圖像的顏色相近但人眼能區(qū)分開;(3)利用基于Bezier曲面的字符串變形方法對步驟(2)中得到的字符串圖像進(jìn)行變形,獲得變形后的字符串圖像;(4)根據(jù)步驟(3)中得到的變形后的字符串圖像中的各字符的顏色和大小生成具有相應(yīng)的顏色和大小的噪聲,并將該噪聲添加到相應(yīng)的字符周圍;(5)將步驟(1)中得到的背景圖像和步驟(4)中得到的字符串圖像進(jìn)行融合,從而獲得圖片驗(yàn)證碼。
2.根據(jù)權(quán)利要求1所述的圖片驗(yàn)證碼的生成方法,其特征在于,所述字符串采用數(shù)字、 大小寫英文字母和漢字混合的形式。
3.根據(jù)權(quán)利要求2所述的圖片驗(yàn)證碼的生成方法,其特征在于,所述大小寫英文字母 選自 a、b、d、e、f、g、h、i、j、n、q、r、t、u、y、A、B、D、E、F、G、H、J、L、N、Q、R、T、U、Y 中的 至少一個(gè);所述數(shù)字選自2、3、4、5、6、7、8、9中的至少一個(gè);所述漢字為從基本字表中按筆 畫數(shù)由小到大的順序選取靠前的并刪掉其中易混淆且難辨認(rèn)的漢字后得到的2000個(gè)漢字 中的至少一個(gè);各字符所采用的字體選自宋體、楷體、黑體、隸書、幼圓、Time New Roman, Courier、Tahoma、PMingLiu 中的一禾中。
4.根據(jù)權(quán)利要求1所述的圖片驗(yàn)證碼的生成方法,其特征在于,所述噪聲為噪聲點(diǎn)或 干擾線。
5.根據(jù)權(quán)利要求4所述的圖片驗(yàn)證碼的生成方法,其特征在于,在每個(gè)字符周圍添加 3 5個(gè)噪聲點(diǎn)或3 5條干擾線,該噪聲點(diǎn)的大小和該干擾線的寬度分別設(shè)定為噪聲點(diǎn)的 半徑和干擾線的寬度為字符筆畫寬度的0. 5 1倍。
6.根據(jù)權(quán)利要求1所述的圖片驗(yàn)證碼的生成方法,其特征在于,通過顏色產(chǎn)生器分別 生成所述背景圖像的顏色和所述字符串圖像的顏色,該顏色產(chǎn)生器通過調(diào)節(jié)紅、綠、藍(lán)三種 原色的值以及顏色的透明度值,從而生成多變的顏色,其中,紅色、綠色、藍(lán)色和透明度分別 M r、g、b、alpha
7.根據(jù)權(quán)利要求6所述的圖片驗(yàn)證碼的生成方法,其特征在于,所述背景圖像為矩形, 該背景圖像的顏色的漸變過程包括以下步驟(1)生成矩形空白背景圖像,用A、C、D、B四個(gè)頂點(diǎn)逆時(shí)針表示該矩形,該矩形的寬為W, 長為L,建立以頂點(diǎn)C為原點(diǎn)的坐標(biāo)系,以邊CA為y軸,以邊⑶為χ軸,以(r,g,b,alpha) 表示背景圖像中的點(diǎn)的顏色值;(2)設(shè)定各頂點(diǎn)A、B、C、D和對角線BC的顏色值,其中,令A(yù)點(diǎn)的顏色值為(r”gl, b1 Blpha1),D點(diǎn)的顏色值為(r2,g2,b2,alpha2),B點(diǎn)和C點(diǎn)及對角線BC上的點(diǎn)的顏色值 均為(r3, g3, b3, aIpha3) Φ r3 = Cr^r2)/2, g3 = (g1+g2)/2, b3 = (b^b^) /2, alpha3 =(alphaj+alphaa) /2 ;(3)根據(jù)頂點(diǎn)A、B、C、D的顏色值計(jì)算邊AC、BD上的點(diǎn)的顏色值,其中,以坐標(biāo)(0,i)表示邊AC上的點(diǎn),該點(diǎn)的顏色值為gi, bi; alpha》,其中ri =i X (rA+rc) /W, h = i X (bA+bc) /W, gi = i X (gA+gc) /W, Blphai = i X (alphaA+alphac) /W, W 為矩形背景圖像的寬,0 < i <ff ;以坐標(biāo)(L,j)表示邊BD上的點(diǎn),該點(diǎn)的顏色值為gj, bj; alpha」),其中rj = J'X (rB+rD)/W, bj = jX (bB+bD)/ff, gj = jX (gB+gD)/ff, Blphaj = jX (alphaB+alphaD)/W, W 為矩形背景圖像的寬,0 < j < W ;(4)計(jì)算背景圖像中的其它點(diǎn)的顏色值,使得在ABC區(qū)域內(nèi),顏色沿χ軸方向從邊AC到 對角線BC漸變,在BDC區(qū)域內(nèi),顏色沿χ軸方向從對角線BC到邊BD漸變。
8.根據(jù)權(quán)利要求1所述的圖片驗(yàn)證碼的生成方法,其特征在于,基于Bezier曲面的字 符串變形方法,包括以下步驟(1)選擇矩形字符串圖像的四個(gè)頂點(diǎn)Po。,Ptl2,P2。,P22作為Bezier曲面的四個(gè)角點(diǎn)的位直 Qoo' Qo2' Q20' Q22 ‘(2)隨機(jī)選擇矩形字符串圖像中其他控制點(diǎn)的位置在邊PciciPtl2上選取控制點(diǎn)Ptll,在邊 P00P2O上選取控制點(diǎn)P1。,在邊Ptl2P22上選取控制點(diǎn)P12,在邊P20P22上選取控制點(diǎn)P21,直線 PoiP2I和PiciPI2的交點(diǎn)為控制點(diǎn)P11,上述控制點(diǎn)滿足PQQP=P P /PP . rOOrIO/ rOOr 20,(3)計(jì)算控制點(diǎn)P11映射到Bezier曲面內(nèi)部的位置,包含以下子步驟①使四個(gè)角點(diǎn)的位置不變,即Q00= P00,Q02 = P02,Q20 = P20,Q22 = P22 ;②使各邊的控制點(diǎn)的位置在曲線上的相對位置不變,即=QC1C1Q1CZQC1C1Q2C1= P。。P1(I/P。。P2。, QooQoi/Q00Q02 — Ρ〇θΡθ /ΡθθΡ〇2,Q02Q12/^02^22 — ^Qi^ 12^Qi^22 J ^20^22 — ^2(^21^2(^22 ;③將內(nèi)部控制點(diǎn)P11映射到Bezier曲線,即先取曲線QltlQ12的中點(diǎn)繪制一條Bezier曲 線,再取曲線QtllQ21的中點(diǎn)繪制一條Bezier曲線,兩條曲線的交點(diǎn)即為映射點(diǎn)Q11 ;(4)根據(jù)所得到的控制點(diǎn)Qqq,Q02,Q2Q,Q22,Qq1,Q1q,Q12,Q21,Q11 繪制 Bezier 曲面,并且 通過控制映射點(diǎn)Q11的位置,得到變形后的字符串圖像。
9.根據(jù)權(quán)利要求1所述的圖片驗(yàn)證碼的生成方法,其特征在于,所述背景圖像和所述 字符串圖像通過背景融合方法進(jìn)行融合,該背景融合方法包括以下步驟(1)在所述背景圖像中,隨機(jī)選取與所述字符串圖像同樣大小的感興趣區(qū)域;(2)將所述感興趣區(qū)域的像素g(x,y)與所述字符串圖像的像素f(x,y)按照以下公式 進(jìn)行融合,得到融合后的圖像的像素F(x,y)F (x, y) = ω^ (χ, γ) + ω^(χ, y)其中,Coi和ω」為權(quán)值系數(shù),并滿足coi+ω」=1 ;(3)以融合后的圖像替換原背景圖像中的所述感興趣區(qū)域,進(jìn)而生成圖片驗(yàn)證碼。
全文摘要
本發(fā)明提供一種圖片驗(yàn)證碼的生成方法,包括以下步驟(1)生成背景圖像,并且該背景圖像的顏色在該背景圖像中呈從一種顏色到另一種顏色的漸變;(2)從字符集中隨機(jī)選取4~6個(gè)字符生成字符串圖像,然后,生成字符串圖像的顏色,使得字符串圖像的顏色與背景圖像的顏色相近但人眼能區(qū)分開;(3)利用基于Bezier曲面的字符串變形方法對字符串圖像進(jìn)行變形;(4)根據(jù)變形后的字符串圖像中的各字符的顏色和大小生成具有相應(yīng)的顏色和大小的噪聲,并將該噪聲添加到相應(yīng)的字符周圍;(5)將背景圖像和字符串圖像進(jìn)行融合,從而獲得圖片驗(yàn)證碼。該方法能夠設(shè)計(jì)出更合理、更安全的驗(yàn)證碼。
文檔編號G06T1/00GK101923702SQ20101026163
公開日2010年12月22日 申請日期2010年8月25日 優(yōu)先權(quán)日2010年8月25日
發(fā)明者殷緒成, 王志彬, 遲昭娟, 郝紅衛(wèi) 申請人:郝紅衛(wèi);王志彬;殷緒成