亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

字符粘連的圖形驗證碼識別方法

文檔序號:6628223閱讀:3862來源:國知局
字符粘連的圖形驗證碼識別方法
【專利摘要】本發(fā)明涉及一種字符粘連的圖形驗證碼識別方法,其特點是:使用中值濾波去除圖像中的噪點,并使用門限算法,將圖像進(jìn)行二值化處理。同時,通過分析圖像的二值化矩陣,算出驗證碼的平均寬度,將未粘連的驗證碼字符提取出來。并且,粘連字符進(jìn)行均分,將分割完的字符圖像進(jìn)行銳化。最終,使用模式識別軟件,對分割后的字符進(jìn)行識別,最后根據(jù)概率,以識別最多或概率最高的字符為識別結(jié)果。在抓取需要輸入驗證碼的網(wǎng)絡(luò)資源時,能夠自動識別驗證碼,進(jìn)行準(zhǔn)確的抓取,且能夠針對不同驗證碼的處理調(diào)節(jié),提高了應(yīng)用范圍。
【專利說明】字符粘連的圖形驗證碼識別方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種驗證碼識別方法,尤其涉及一種字符粘連的圖形驗證碼識別方法。

【背景技術(shù)】
[0002]驗證碼的出現(xiàn)是為了防止某些惡意程序?qū)W(wǎng)站的破壞,如批量注冊、批量發(fā)帖、同時也防止那些爬蟲程序無視規(guī)則進(jìn)行資源抓取。所謂驗證碼就是將一組隨機數(shù)字或符號生成一幅圖片,并在圖片中加入一些干擾元素,用戶在提交表單的時候,需要識別并填寫驗證碼,只有在后臺核對驗證碼成功后才能成功提交表單,而這個過程正是機器程序不容易模擬的,那些粘連字符更是讓機器程序難以識別,從而在一定程度上起到了保護網(wǎng)站免受惡意程序攻擊目的。
[0003]因此。驗證碼給網(wǎng)站帶來安全的同時,也給某些從事網(wǎng)絡(luò)抓取工作的人們帶來了一定的不便,驗證碼識別算法正是為解決此問題。
[0004]關(guān)于ImageMagick描述,ImageMagick是一套功能強大、穩(wěn)定而且開源的工具集和開發(fā)包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根據(jù)web應(yīng)用程序的需要動態(tài)生成圖片,還可以對一個(或一組)圖片進(jìn)行改變大小、旋轉(zhuǎn)、銳化、減色或增加特效等操作,并將操作的結(jié)果以相同格式或其它格式保存,對圖片的操作,即可以通過命令行進(jìn)行,也可以用C/C++、Perl、Java、PHP、Python或Ruby編程來完成。同時ImageMagick提供了一個高質(zhì)量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能,減少bug以及提供穩(wěn)定的API和ABI上。
[0005]并且,ImageMagick是一個用來創(chuàng)建、編輯、合成圖片的軟件。它可以讀取、轉(zhuǎn)換、寫入多種格式的圖片。圖片切割、顏色替換、各種效果的應(yīng)用,圖片的旋轉(zhuǎn)、組合,文本,直線,多邊形,橢圓,曲線,附加到圖片伸展旋轉(zhuǎn)。ImageMagick是免費軟件:全部源碼開放,可以自由使用,復(fù)制,修改,發(fā)布。支持大多數(shù)的操作系統(tǒng)。
[0006]關(guān)于Tesseract-ocr, Tesseract是一款開源的光學(xué)字符串識別(OCR)項目,能夠識別圖像驗證碼。比如存在一個格式為TIF的文字圖,Tesseract能夠識別出該圖片中的文字,將識別到的文字寫入到一個文本文件中,識別效果很不錯。如果想要識別不同語言的文字圖像,需要下載響應(yīng)的支持包,才能讓Tesseract識別更多格式的圖像。Tesseract項目地址可以通過下載開源發(fā)行包,或者到該項目網(wǎng)站了解更多信息。
[0007]關(guān)于圖像二值化,一般圖片都是彩色的,按照逼真程度,可能很多級別。為了降低計算復(fù)雜度,方便后續(xù)的處理,如果在不損失關(guān)鍵信息的情況下,能將圖片處理成黑白兩種顏色,那就最好不過了。
[0008]關(guān)于模式識別,對事物或者現(xiàn)象的某種表示方式(數(shù)值,文字,我們這里主要想說的是數(shù)值),通過一些處理和分析,來描述,歸類,理解,解釋這些事物,現(xiàn)象及其某種抽象。
[0009]關(guān)于圖像銳化(image sharpening),其為補償圖像的輪廓,增強圖像的邊緣及灰度跳變的部分,使圖像變得清晰,亦分空域處理和頻域處理兩類。


【發(fā)明內(nèi)容】

[0010]本發(fā)明的目的就是為了解決現(xiàn)有技術(shù)中存在的上述問題,提供一種字符粘連的圖形驗證碼識別方法。
[0011]本發(fā)明的目的通過以下技術(shù)方案來實現(xiàn):
字符粘連的圖形驗證碼識別方法,其特征在于包括以下步驟:步驟①,使用中值濾波去除圖像中的噪點。步驟②,使用門限算法,選擇適當(dāng)?shù)拈y值,將圖像進(jìn)行二值化處理。步驟③,分析圖像的二值化矩陣,根據(jù)圖像的垂直投影,獲取驗證碼內(nèi)容的寬度,并根據(jù)驗證碼個數(shù),算出驗證碼的平均寬度。步驟④,分析圖像的二值化矩陣,通過圖像的垂直投影或是邊緣檢測,將未粘連的驗證碼字符提取出來。步驟⑤,分析圖像的二值化矩陣,根據(jù)圖像的水平投影,計算出圖像的水平中軸線、字符的高度,按字符的平均寬度,將水平中軸線進(jìn)行等分,對粘連字符進(jìn)行均分,分割線分別與水平中軸線的等分點相交,分割出若干角度,保存分割完的字符。步驟⑥,將分割完的字符圖像進(jìn)行銳化。步驟⑦,根據(jù)切割字符的特征,訓(xùn)練模式識別軟件。步驟⑧,使用模式識別軟件,對分割后的字符進(jìn)行識別,最后根據(jù)概率,以識別最多或概率最高的字符為識別結(jié)果。
[0012]上述的字符粘連的圖形驗證碼識別方法,其中:所述步驟②的計算過程為,將圖像二值化之后,會生成一個二值化矩陣,二值化矩陣為圖像的像素點,每個像素點映射成矩陣?yán)锩娴囊粋€值,將矩陣垂直像素信息進(jìn)行累加,既像素點不為空白+1,像素點為空白+0,最終求出圖像的垂直投影,通過垂直投影,判斷圖片文字內(nèi)容的寬度與文字之間的間隙。
[0013]進(jìn)一步地,上述的字符粘連的圖形驗證碼識別方法,其中:所述的步驟④中,對于未粘連驗證碼,若屬于普通字符,通過圖像的垂直投影獲取圖像的邊緣后提取,所述圖像的邊緣為投影值大小為O或小于設(shè)定值的地方,若屬于特殊的傾斜字符,根據(jù)圖像矩陣的排列,找尋像素連續(xù)為O的分界線進(jìn)行圖像提取。
[0014]更進(jìn)一步地,上述的字符粘連的圖形驗證碼識別方法,其中:步驟⑤所述的分割角為_30度,和/或是-20度,和/或是-10度和/或是,和/或是O度,和/或是10度,和/或是20度,和/或是30度。
[0015]更進(jìn)一步地,上述的字符粘連的圖形驗證碼識別方法,其中:步驟⑦所述的訓(xùn)練為,通過Tesseract-OCR訓(xùn)練工具進(jìn)行。
[0016]再進(jìn)一步地,上述的字符粘連的圖形驗證碼識別方法,其中:步驟⑧所述的識別過程由模式識別軟件來完成,模式識別軟件將返回識別概率最高的字符作為識別結(jié)果,或是采用模式識別接口來返回相應(yīng)字符的識別概率。
[0017]本發(fā)明技術(shù)方案的優(yōu)點主要體現(xiàn)在:在網(wǎng)絡(luò)抓取應(yīng)用抓取需要輸入驗證碼的網(wǎng)絡(luò)資源時,能夠自動識別驗證碼,進(jìn)行準(zhǔn)確的抓取,不會因驗證碼的存在而受阻,出現(xiàn)抓取錯誤。由此,保證了網(wǎng)絡(luò)抓取的準(zhǔn)確性。同時,本方法能夠有效利用Tesseract-OCR訓(xùn)練工具,實現(xiàn)針對不同驗證碼的處理調(diào)節(jié),提高了應(yīng)用范圍。

【專利附圖】

【附圖說明】
[0018]圖1是字符粘連的圖形驗證碼識別方法的處理流程示意圖。

【具體實施方式】
[0019]如圖1所示的字符粘連的圖形驗證碼識別方法,其包括以下步驟:首先,使用中值濾波去除圖像中的噪點。
[0020]之后,使用門限算法,選擇適當(dāng)?shù)拈y值,將圖像進(jìn)行二值化處理。本發(fā)明涉及到的閥值,二值化算法中的一個臨界值,大于這個值像素都將置為255,而小于等于這個值的都將置為O。通過閥值的存在,也能一定程度的去噪,便于后續(xù)處理。具體來說,將圖像二值化之后,會生成一個二值化矩陣。同時,二值化矩陣為圖像的像素點,每個像素點映射成矩陣?yán)锩娴囊粋€值,將矩陣垂直像素信息進(jìn)行累加,既像素點不為空白+1,像素點為空白+0。最終,求出圖像的垂直投影,并通過垂直投影,判斷圖片文字內(nèi)容的寬度與文字之間的間隙。
[0021]接著,分析圖像的二值化矩陣,根據(jù)圖像的垂直投影,獲取驗證碼內(nèi)容的寬度。根據(jù)驗證碼個數(shù),算出驗證碼的平均寬度。同時,分析圖像的二值化矩陣,通過圖像的垂直投影或是邊緣檢測,將未粘連的驗證碼字符提取出來。在此期間,對于未粘連驗證碼,若屬于普通字符,賊通過圖像的垂直投影獲取圖像的邊緣后提取。該圖像的邊緣為投影值大小為O或小于設(shè)定值的地方??紤]到圖形驗證碼的多樣性,若屬于特殊的傾斜字符,則根據(jù)圖像矩陣的排列,找尋像素連續(xù)為O的分界線進(jìn)行圖像提取。
[0022]之后,繼續(xù)依據(jù)圖像的二值化矩陣,根據(jù)圖像的水平投影,計算出圖像的水平中軸線、字符的高度。同時,按字符的平均寬度,將水平中軸線進(jìn)行等分,對粘連字符進(jìn)行均分。通過分割線分別與水平中軸線的等分點相交,分割出若干角度,保存分割完的字符。并且,考慮到圖形驗證碼的間距、大小、傾斜程度、位置分布的不同,分割角為-30度,和/或是-20度,和/或是-10度和/或是,和/或是O度,和/或是10度,和/或是20度,和/或是30度。
[0023]然后,將分割完的字符圖像進(jìn)行銳化。為了便于實施,該銳化方式與現(xiàn)有技術(shù)是一樣的,這樣,通過銳化,能夠提高圖像邊緣的清晰度,方便模式識別軟件辨識。
[0024]隨后,根據(jù)切割字符的特征,有針對性的訓(xùn)練模式識別軟件??紤]到實施的便利性,通過Tesseract-OCR訓(xùn)練工具進(jìn)行。由于該軟件有較好的擴展性與便捷性,具體的訓(xùn)練方式可以參考,http://code, google.com/p/tesseract_ocr/wiki/TrainingTesseract30
[0025]最終,使用模式識別軟件,對分割后的字符進(jìn)行識別。根據(jù)概率,以識別最多或概率最高的字符為識別結(jié)果。比如,字符“9”字符經(jīng)過多角度分割,可能產(chǎn)生10個圖片,假設(shè)識別結(jié)果為:空、O、空、9、1、空、9、1、9,空,那么識別最終結(jié)果為9。具體來說,識別過程由模式識別軟件來完成,模式識別軟件將返回識別概率最高的字符作為識別結(jié)果。同時,亦可以通過模式識別接口來返回相應(yīng)字符的識別概率。上述兩種方式可以通過模式識別軟件來權(quán)衡,減少人工參與。
[0026]通過上述的文字表述可以看出,采用本發(fā)明后,在網(wǎng)絡(luò)抓取應(yīng)用抓取需要輸入驗證碼的網(wǎng)絡(luò)資源時,能夠自動識別驗證碼,進(jìn)行準(zhǔn)確的抓取,不會因驗證碼的存在而受阻,出現(xiàn)抓取錯誤。由此,保證了網(wǎng)絡(luò)抓取的準(zhǔn)確性。同時,本方法能夠有效利用Tesseract-OCR訓(xùn)練工具,實現(xiàn)針對不同驗證碼的處理調(diào)節(jié),提高了應(yīng)用范圍。
[0027]這些實施例僅是應(yīng)用本發(fā)明技術(shù)方案的典型范例,凡采取等同替換或者等效變換而形成的技術(shù)方案,均落在本發(fā)明要求保護的范圍之內(nèi)。
【權(quán)利要求】
1.字符粘連的圖形驗證碼識別方法,其特征在于包括以下步驟: 步驟①,使用中值濾波去除圖像中的噪點; 步驟②,使用門限算法,選擇適當(dāng)?shù)拈y值,將圖像進(jìn)行二值化處理; 步驟③,分析圖像的二值化矩陣,根據(jù)圖像的垂直投影,獲取驗證碼內(nèi)容的寬度,并根據(jù)驗證碼個數(shù),算出驗證碼的平均寬度; 步驟④,分析圖像的二值化矩陣,通過圖像的垂直投影或是邊緣檢測,將未粘連的驗證碼字符提取出來; 步驟⑤,分析圖像的二值化矩陣,根據(jù)圖像的水平投影,計算出圖像的水平中軸線、字符的高度,按字符的平均寬度,將水平中軸線進(jìn)行等分,對粘連字符進(jìn)行均分,分割線分別與水平中軸線的等分點相交,分割出若干角度,保存分割完的字符; 步驟⑥,將分割完的字符圖像進(jìn)行銳化; 步驟⑦,根據(jù)切割字符的特征,訓(xùn)練模式識別軟件; 步驟⑧,使用模式識別軟件,對分割后的字符進(jìn)行識別,最后根據(jù)概率,以識別最多或概率最高的字符為識別結(jié)果。
2.根據(jù)權(quán)利要求1所述的字符粘連的圖形驗證碼識別方法,其特征在于:所述步驟②的計算過程為,將圖像二值化之后,會生成一個二值化矩陣,二值化矩陣為圖像的像素點,每個像素點映射成矩陣?yán)锩娴囊粋€值,將矩陣垂直像素信息進(jìn)行累加,既像素點不為空白+1,像素點為空白+0,最終求出圖像的垂直投影,通過垂直投影,判斷圖片文字內(nèi)容的寬度與文字之間的間隙。
3.根據(jù)權(quán)利要求1所述的字符粘連的圖形驗證碼識別方法,其特征在于:所述的步驟④中,對于未粘連驗證碼,若屬于普通字符,通過圖像的垂直投影獲取圖像的邊緣后提取,所述圖像的邊緣為投影值大小為O或小于設(shè)定值的地方,若屬于特殊的傾斜字符,根據(jù)圖像矩陣的排列,找尋像素連續(xù)為O的分界線進(jìn)行圖像提取。
4.根據(jù)權(quán)利要求1所述的字符粘連的圖形驗證碼識別方法,其特征在于:步驟⑤所述的分割角為-30度,和/或是-20度,和/或是-10度和/或是,和/或是O度,和/或是10度,和/或是20度,和/或是30度。
5.根據(jù)權(quán)利要求1所述的字符粘連的圖形驗證碼識別方法,其特征在于:步驟⑦所述的訓(xùn)練為,通過Tesseract-OCR訓(xùn)練工具進(jìn)行。
6.根據(jù)權(quán)利要求1所述的字符粘連的圖形驗證碼識別方法,其特征在于:步驟⑧所述的識別過程由模式識別軟件來完成,模式識別軟件將返回識別概率最高的字符作為識別結(jié)果,或是采用模式識別接口來返回相應(yīng)字符的識別概率。
【文檔編號】G06F21/36GK104252620SQ201410496368
【公開日】2014年12月31日 申請日期:2014年9月25日 優(yōu)先權(quán)日:2014年9月25日
【發(fā)明者】王專, 吳志祥, 吳劍, 張海龍, 馬和平, 郭鳳林, 沈健, 郁曉勇, 靳彩娟 申請人:同程網(wǎng)絡(luò)科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1