專利名稱:基于黑白雙色的數字圖片形成驗證碼圖片的方法
技術領域:
本發(fā)明涉及計算機通訊領域,尤其涉及一種基于黑白雙色的數字圖片形成驗證碼圖片的方法。
背景技術:
現有的游戲產品中對于圖片的認證碼(即驗證碼)都是基于隨機的字體、再增加背景噪點和前景噪點,并進行扭曲等干擾操生成的。由于該些圖片是通訊設備產生的,對于計算機來說比較容易識別,因此編程人員容易制作出自動輸入驗證碼的軟件(即自動刷機軟件),從而形成非法的軟件,破壞游戲產品的安全性,并且該些圖片是通訊設備進行增加背景噪點和前景噪點,并進行扭曲完成的;其人眼很難很好地進行識別;要想增加計算機自動識別的難度,則需要一個足夠大的數字圖片集合,這樣就增加了通訊設備的內存,且通訊設備讀取認證碼的速度也十分慢。因此本專利申請文件考慮到游戲的應用,直接根據大量的已經制作好的數字圖片,動態(tài)隨機挑選出對應數字的字符圖像,組合生成認證碼圖片,由于圖片是由美術人員預先設計好的,噪點和扭曲狀態(tài)可以很好地控制在人眼可識辨狀態(tài),并且這樣的圖片通過計算機自動識別技術卻難以識別。為了讓本領域的技術人員更好地理解本專利申請文件,在此對24位色圖片的像素構成進行說明。24位色圖片的每個像素由24位構成(即bit) bit為計算機數據存儲單位,計算機中數據是以二進制形式存儲,比如整型數據13,在計算機中實際的存儲形式是0000000000001101,其中的任一位就是一個bit,8個bit就是一個字節(jié);即24位色圖片每個像素是由3個字節(jié)構成。在內存中每個像素的3個字節(jié)依次代表了(藍)B,(綠)G,(紅)R的強度值((Γ255)。例如純紅色R值為255,G值為0,B值為O ;灰色的R、G、B三個值相等(除了 O和255);白色的R、G、B都為255 ;黑色的R、G、B都為O。這樣,24位色BMP圖片實際可以表達16777216種顏色
發(fā)明內容
`本發(fā)明要解決的技術問題,在于提供一種基于黑白雙色的數字圖片形成驗證碼圖片的方法,使得驗證碼圖片校驗效果大大提高,避免了計算機刷機的危險,同時也提高了通訊設備調取驗證碼圖片的速率。本發(fā)明是這樣實現的一種基于黑白雙色的數字圖片形成驗證碼圖片的方法,包括如下步驟步驟10、制作至少一張數字集合圖片,所述數字集合圖片為24位色的BMP文件,將該數字集合圖片按每32X32點陣形成一個字符圖像,即該數字集合圖片由多行多列的字符圖像組成的一個圖片;所述每行由相同的字符組成,但每個字符的字體樣式不同;所述每列由不同的字符組成,但每個字符的字體樣式相同;步驟20、加載所述數字集合圖片于通訊設備的內存中,掃描數字集合圖片中每個像素點,將數字集合圖片轉換生成黑白雙色圖片,該黑白雙色圖片為雙色的按位流排布的圖片;步驟30、根據通訊設備的需要,隨機產生一個由數字和符號組成的認證字符串作為通訊設備需要用戶認證的內容,逐個遍歷所述認證字符串中的每個字符,將遍歷到的字符定位到所述黑白雙色圖片中對應的行,并在該行上隨機抽取某列的32X32點陣的字符圖像,并在通訊設備的內存中拼接各抽取到的字符圖像,來構成所述驗證碼圖片;步驟40、通訊設備調用顯示接口進行繪制顯示所述驗證碼圖片或者將驗證碼圖片傳送至遠程客戶端使用。本發(fā)明具有如下優(yōu)點本發(fā)明通過人工提供的干擾圖片代替了傳統(tǒng)的驗證圖片系統(tǒng);傳統(tǒng)的圖片驗證系統(tǒng)是由計算機系統(tǒng)字體通過噪點扭曲等算法進行干擾來避免計算機自動分析出其圖形符號,如果干擾過渡會導致人眼難以識別,而要是干擾不足,由于系統(tǒng)字體有限,很容易被自動識別系統(tǒng)破解。而本系統(tǒng)人工提供干擾圖片恰恰避免了干擾不足或過度及樣本有限的局限,并將該數字集合圖片通過轉換形成黑白雙色圖片,在通訊設備需要調取驗證碼時,從內存中讀取黑白雙色圖片,并將認證字符串中的每個字符,定位到所述黑白雙色圖片中對應的行,并在該行上隨機抽取某列的32X32點陣的字符圖像,并在通訊設備的內存中拼接各抽取到的字符圖像,來構成驗證碼圖片。本發(fā)明使得驗證碼圖片校驗效果大大提高,避免了計算機刷機的危險,提高了人眼的識別率;同時也提高了通訊設備調取驗證碼圖片的速率。
圖1為本發(fā)明方法流程示意圖。
具體實施例方式請參閱圖1所示,本發(fā)明的一種基于黑白雙色的數字圖片形成驗證碼圖片的方法,包括如下步驟步驟10、制作至少一張數字集合圖片,所述數字集合圖片為24位色的BMP文件,將該數字集合圖片按每32X32點陣形成一個字符圖像,即該數字集合圖片由多行多列的字符圖像組成的一個圖片;所述每行由相同的字符組成,但每個字符的字體樣式不同;所述每列由不同的字符組成,但每個字符的字體樣式相同;步驟20、加載所述數字集合圖片于通訊設備的內存中,掃描數字集合圖片中每個像素點,將數字集合圖片轉換生成黑白雙色圖片,該黑白雙色圖片為雙色的按位流排布的圖片(即I個位存儲一個像素,O代表黑色,I代表白色);其中,掃描數字集合圖片中每個像素點,將數字集合圖片轉換生成黑白雙色圖片具體為掃描數字集合圖片中每個像素點,將各像素點的R,G,B分量值加起來,構成一個總的分量TotalRGB,即公式為TotalRGB=R+G+B ;若一像素點的TotalRGB>150,則將該像素點轉換成白色;若一像素點的TotalRGB〈=150,則將該像素點轉換成黑色;遍歷所述數字集合圖片中的各個像素點按所述公式逐個轉成生成對應的顏色的像素點來形成黑白雙色圖片;該黑色雙色圖片占用的內存比較小,因此通訊設備調用圖片的速度比較快;步驟30、根據通訊設備的需要,隨機產生一個由數字和符號組成的認證字符串(即數字和符號只能是O,I,2,3,4,5,6,7,8,9,O,+,-構成)作為通訊設備需要用戶認證的內容(如“5+6”這個認證字符串),逐個遍歷所述認證字符串中的每個字符,將遍歷到的字符定位到所述黑白雙色圖片中對應的行,并在該行上隨機抽取某列的32X32點陣的字符圖像,即先選定該字符是“O,I,2,3,4,5,6,7,8,9,O,+,-”中的哪個字符,再選定該字符的字體樣式;并在通訊設備的內存中拼接各抽取到的字符圖像,來構成所述驗證碼圖片;步驟40、通訊設備調用顯示接口進行繪制顯示所述驗證碼圖片或者將驗證碼圖片傳送至遠程客戶端使用。在本發(fā)明中,所述24位色的BMP文件是由美術人員預先設計好的,噪點和扭曲狀態(tài)能很好地控制在人眼可識辨的狀態(tài);所述24位色的BMP文件的像素為320X384。其中,所述字符圖像中的字符包括+、_、0、1、2、3、4、5、6、7、8、9這些符號;所述320X384像素的數字集合圖片由12行、10列的字符圖像組成的一個圖片;所述12行的字符從上至下的順序依次為0、1、2、3、4、5、6、7、8、9、+、_ ;即第一行是10種不同字體樣式的0,第二行是10種不同字體樣式的1,以此類推,第12行為10種不同字體樣式的-;該些字體樣式為左斜體、右斜體、粗體、帶下劃線等等。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。
權利要求
1.一種基于黑白雙色的數字圖片形成驗證碼圖片的方法,其特征在于,包括如下步驟 步驟10、制作至少一張數字集合圖片,所述數字集合圖片為24位色的BMP文件,將該數字集合圖片按每32X32點陣形成一個字符圖像,即該數字集合圖片由多行多列的字符圖像組成的一個圖片;所述每行由相同的字符組成,但每個字符的字體樣式不同;所述每列由不同的字符組成,但每個字符的字體樣式相同; 步驟20、加載所述數字集合圖片于通訊設備的內存中,掃描數字集合圖片中每個像素點,將數字集合圖片轉換生成黑白雙色圖片,該黑白雙色圖片為雙色的按位流排布的圖片; 步驟30、根據通訊設備的需要,隨機產生一個由數字和符號組成的認證字符串作為通訊設備需要用戶認證的內容,逐個遍歷所述認證字符串中的每個字符,將遍歷到的字符定位到所述黑白雙色圖片中對應的行,并在該行上隨機抽取某列的32X32點陣的字符圖像,并在通訊設備的內存中拼接各抽取到的字符圖像,來構成所述驗證碼圖片; 步驟40、通訊設備調用顯示接口進行繪制顯示所述驗證碼圖片或者將驗證碼圖片傳送至遠程客戶端使用。
2.根據權利要求1所述的基于黑白雙色的數字圖片形成驗證碼圖片的方法,其特征在于所述24位色的BMP文件是由美術人員預先設計好的,噪點和扭曲狀態(tài)能控制在人眼可識辨的狀態(tài)。
3.根據權利要求1所述的基于黑白雙色的數字圖片形成驗證碼圖片的方法,其特征在于所述24位色的BMP文件的像素為320X384。
4.根據權利要求3所述的基于黑白雙色的數字圖片形成驗證碼圖片的方法,其特征在于所述字符圖像中的字符包括+、_、0、1、2、3、4、5、6、7、8、9這些符號;所述320X384像素的數字集合圖片由12行、10列的字符圖像組成的一個圖片;所述12行的字符從上至下的順序依次為0、1、2、3、4、5、6、7、8、9、+、-;即第一行是10種不同字體樣式的0,第二行是10種不同字體樣式的1,以此類推。
5.根據權利要求1所述的基于黑白雙色的數字圖片形成驗證碼圖片的方法,其特征在于所述步驟20中掃描數字集合圖片中每個像素點,將數字集合圖片轉換生成黑白雙色圖片具體為掃描數字集合圖片中每個像素點,將各像素點的R,G,B分量值加起來,構成一個總的分量TotalRGB,即公式為TotalRGB=R+G+B ;若一像素點的TotalRGB>150,則將該像素點轉換成白色;若一像素點的TotalRGB〈=150,則將該像素點轉換成黑色;遍歷所述數字集合圖片中的各個像素點按所述公式逐個轉成生成對應的顏色的像素點來形成黑白雙色圖片。
全文摘要
本發(fā)明提供一種基于黑白雙色的數字圖片形成驗證碼圖片的方法,通過人工提供干擾的數字集合圖片,這樣能避免了干擾不足或過度及樣本有限的局限,并將該數字集合圖片通過轉換形成黑白雙色圖片,在通訊設備需要調取驗證碼時,從內存中讀取黑白雙色圖片,并將認證字符串中的每個字符,定位到所述黑白雙色圖片中對應的行,并在該行上隨機抽取某列的32×32點陣的字符圖像,并在通訊設備的內存中拼接各抽取到的字符圖像,來構成驗證碼圖片。本發(fā)明使得驗證碼圖片校驗效果大大提高,避免了計算機刷機的危險,提高了人眼的識別率;同時也提高了通訊設備調取驗證碼圖片的速率。
文檔編號G06T11/00GK103065341SQ201210560768
公開日2013年4月24日 申請日期2012年12月19日 優(yōu)先權日2012年12月19日
發(fā)明者劉德建, 陳宏展, 張晨暉, 馬駿 申請人:福建天晴數碼有限公司