一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法,包括:A、采集器抓取驗(yàn)證碼圖片并對(duì)抓取的圖片進(jìn)行圖紋干擾處理;B、將圖紋干擾處理的圖片進(jìn)行二值化處理;C、對(duì)二值化處理的圖片沿垂直方向做投影計(jì)算每個(gè)像素寬度上的黑點(diǎn)數(shù);D、按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符;E、對(duì)切割的單個(gè)字符按順時(shí)針和逆時(shí)針兩個(gè)方向分別每個(gè)0.1個(gè)弧度做多次旋轉(zhuǎn);F、利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度;G、選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像。通過切割圖片中的字符,進(jìn)行但是字符的識(shí)別,使得對(duì)圖片張的字符識(shí)別率的到提高,提升了識(shí)別圖像的工作效率,降低了工作的成本。
【專利說明】一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于圖像識(shí)別驗(yàn)證領(lǐng)域,尤其涉及一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法及系統(tǒng)。
【背景技術(shù)】
[0002]因?yàn)檐嚺铺?hào)碼是整齊規(guī)整,傾斜的原因是拍攝照片角度所致,因此所有的字符傾斜角度完全一致,并且車牌號(hào)中的每個(gè)字符的字符高度(Height)以及位置高度(Y坐標(biāo))完全一致,因此車牌號(hào)識(shí)別中Hough變換和簡單投影分析效果很好.還有一些用于文檔OCR的方法如Fourier和kNN方法,都是基于文檔中所有字符的傾斜和旋轉(zhuǎn)角度是一致的,(這在車牌和掃描文檔中是成立的)這一假設(shè)前提。
[0003]應(yīng)用到驗(yàn)證碼識(shí)別中上訴方法則完全失去準(zhǔn)確性,到不可用的程度.因?yàn)槭紫闰?yàn)證碼的“旋轉(zhuǎn)”和“傾斜”事實(shí)上是不同的,傾斜是把長方形變成平行四邊形,而旋轉(zhuǎn)依然是長方形只是角度變了.驗(yàn)證碼中每個(gè)字符傾斜角度不同,高度不同,甚至大小位置都不同,Hough方法的基礎(chǔ)假設(shè)不存在了,根本無從使用.而傳統(tǒng)投影法也需要做出很多改變。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法及系統(tǒng),旨在解決對(duì)驗(yàn)證碼圖片中字符識(shí)別率低的問題。
[0005]本發(fā)明是這樣實(shí)現(xiàn)的,一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法,所述拉丁字符傾斜糾正方法包括以下步驟:
A、采集器抓取驗(yàn)證碼圖片并對(duì)抓取的圖片進(jìn)行圖紋干擾處理;
B、將圖紋干擾處理的圖片進(jìn)行二值化處理;
C、對(duì)二值化處理的圖片沿垂直方向做投影計(jì)算每個(gè)像素寬度上的黑點(diǎn)數(shù);
D、按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符;
E、對(duì)切割的單個(gè)字符按順時(shí)針和逆時(shí)針兩個(gè)方向分別每個(gè)0.1個(gè)弧度做多次旋轉(zhuǎn);
F、利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度,其旋轉(zhuǎn)后坐標(biāo)的函數(shù)式:X’i = cos(atan(Xi/Yi)+r) * ( (ΧΓ2 + ΥΓ2Γ0.5),寬度的函數(shù)式:max(Xj ) - min(X’);
G、選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像。
[0006]本發(fā)明的進(jìn)一步技術(shù)方案是:所述步驟G后還包括H步驟:
H、對(duì)預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別,接收輸入識(shí)別出的拉丁字符驗(yàn)證原圖片上的驗(yàn)證碼是否正確,如正確,則通過輸入拉丁字符驗(yàn)證通過進(jìn)入抓取的網(wǎng)頁界面,如錯(cuò)誤,則出現(xiàn)驗(yàn)證碼更換新的圖片并返回步驟A從新開始驗(yàn)證碼圖片糾正處理。
[0007]本發(fā)明的進(jìn)一步技術(shù)方案是:所述步驟E中對(duì)單個(gè)字符做順時(shí)針和逆時(shí)針旋轉(zhuǎn)的次數(shù)為五次。
[0008]本發(fā)明的進(jìn)一步技術(shù)方案是:對(duì)所述預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別采用的是神經(jīng)網(wǎng)絡(luò)方法做訓(xùn)練和識(shí)別。
[0009]本發(fā)明的進(jìn)一步技術(shù)方案是:所述步驟B中將圖紋干擾處理過的圖片通過二值化處理將彩色圖像轉(zhuǎn)化為黑白圖像。
[0010]本發(fā)明的另一目的在于提供一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正系統(tǒng),該拉丁字符傾斜糾正系統(tǒng)包括:
抓取干擾處理模塊,用于采集器抓取驗(yàn)證碼圖片并對(duì)抓取的圖片進(jìn)行圖紋干擾處理; 二值化處理模塊,用于將圖紋干擾處理的圖片進(jìn)行二值化處理;
投影計(jì)算模塊,用于對(duì)二值化處理的圖片沿垂直方向做投影計(jì)算每個(gè)像素寬度上的黑點(diǎn)數(shù);
字符切割模塊,用于按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符;
字符旋轉(zhuǎn)模塊,用于對(duì)切割的單個(gè)字符按順時(shí)針和逆時(shí)針兩個(gè)方向分別每個(gè)0.1個(gè)弧度做多次旋轉(zhuǎn);
寬度計(jì)算模塊,用于利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度,其旋轉(zhuǎn)后坐標(biāo)的函數(shù)式-X I=cos (atan (Xi/Yi) +r) * ( (Xi'2 + Yi~2)'0.5),寬度的函數(shù)式:max (Xf) - min(X,);原圖預(yù)處理模塊,用于選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像。
[0011]本發(fā)明的進(jìn)一步技術(shù)方案是:所述原圖預(yù)處理模塊之后還包括:
驗(yàn)證碼判斷模塊,用于對(duì)預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別,接收輸入識(shí)別出的拉丁字符驗(yàn)證原圖片上的驗(yàn)證碼是否正確,如正確,則通過輸入拉丁字符驗(yàn)證通過進(jìn)入抓取的網(wǎng)頁界面,如錯(cuò)誤,則出現(xiàn)驗(yàn)證碼更換新的圖片并返回抓取干擾處理模塊從新開始驗(yàn)證碼圖片糾正處理。
[0012]本發(fā)明的進(jìn)一步技術(shù)方案是:所述字符旋轉(zhuǎn)模塊中對(duì)單個(gè)字符做順時(shí)針和逆時(shí)針旋轉(zhuǎn)的次數(shù)為五次。
[0013]本發(fā)明的進(jìn)一步技術(shù)方案是:對(duì)所述預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別采用的是神經(jīng)網(wǎng)絡(luò)方法做訓(xùn)練和識(shí)別。
[0014]本發(fā)明的進(jìn)一步技術(shù)方案是:所述二值化處理模塊中將圖紋干擾處理過的圖片通過二值化處理將彩色圖像轉(zhuǎn)化為黑白圖像。
[0015]本發(fā)明的有益效果是:通過切割圖片中的字符,進(jìn)行但是字符的識(shí)別,使得對(duì)圖片張的字符識(shí)別率的到提高,提升了識(shí)別圖像的工作效率,降低了工作的成本。使神經(jīng)網(wǎng)絡(luò)識(shí)別訓(xùn)練樣本數(shù)大大減少,識(shí)別正確率大幅度提升。
【專利附圖】
【附圖說明】
[0016]圖1是本發(fā)明實(shí)施例提供的基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法的流程圖;
圖2是本發(fā)明實(shí)施例提供的基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正系統(tǒng)的結(jié)構(gòu)框圖;附圖標(biāo)記:10-抓取干擾處理模塊20-二值化處理模塊30-投影計(jì)算模塊40-字符切割模塊50-字符旋轉(zhuǎn)模塊60-寬度計(jì)算模塊70-原圖預(yù)處理模塊80-驗(yàn)證碼判斷模塊。
【具體實(shí)施方式】
[0017]圖1示出了本發(fā)明提供的基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法的流程圖,其詳述如下:
步驟SI,利用系統(tǒng)的采集器抓取網(wǎng)頁信息的驗(yàn)證碼圖片,并且將抓取的圖片上的出拉丁字符信息以外的抓取干擾圖紋去除,以便后續(xù)的相應(yīng)處理。
[0018]步驟S2,將進(jìn)行干擾圖紋處理的圖片進(jìn)行二值化處理;圖片通過二值化處理將彩色圖像轉(zhuǎn)化為黑白圖像。二值化包括兩部分,A、圖形轉(zhuǎn)為黑白,一般通過使用一個(gè)判別函數(shù),接收一個(gè)色值,返回真/假的布爾結(jié)果.分別表示黑(字符)和白(背景).因?yàn)椴煌?yàn)證碼這部分不同,一般使用配置的方法.常見的如以下幾種中根據(jù)情況具體選一種:1、直接取黑色為黑,非黑色(包括灰色)為白.(這種在部分圖片中可能讓字體變細(xì)并出現(xiàn)斷掉的問題);2、直接取白色為白,非白色(包括灰)為黑,(這種在一些情況下會(huì)讓原本不相連的兩個(gè)字符連在一起了);3、亮度超過某個(gè)臨界值的顏色為白,其他為黑(這種相當(dāng)于上面兩種的折中,關(guān)鍵在于這個(gè)臨界值到底取多少,取決于具體驗(yàn)證碼);4、前述第3種會(huì)產(chǎn)生的問題是如果背景和字符亮度一樣就會(huì)失效(比如相同亮度的藍(lán)色背景和紅色字符).所以不用亮度而是取一個(gè)色彩通道(比如紅/綠/蘭其中一個(gè))的值,跟一個(gè)臨界值比較.至于取哪個(gè)值只要按照?qǐng)D片的顏色來定一個(gè)區(qū)分度高的即可;5、混合使用亮度,灰度,色度等值,通過加權(quán)運(yùn)算后與臨界值比較,效果好,通用性高但運(yùn)算量較大,以上1-4都不能實(shí)現(xiàn)時(shí)用這種方法。B、去除噪點(diǎn).其實(shí)轉(zhuǎn)黑白的過程已經(jīng)有一定的去除噪點(diǎn)的作用(這就是為什么把轉(zhuǎn)黑白放在第一步而去噪點(diǎn)放第二步)剩下的噪點(diǎn)可通過對(duì)每個(gè)黑點(diǎn)判斷周圍8個(gè)位置(上,下,左,右,左上,右上,左下,右下)的黑點(diǎn)數(shù),如果小于某個(gè)值(比如3,(1-7)這個(gè)數(shù)越小,去除的點(diǎn)越少,越大則被去除的點(diǎn)越多,需要根據(jù)具體噪點(diǎn)情況設(shè)置,一般為2-4合適)則這個(gè)點(diǎn)為噪點(diǎn)。C、例外情況,有些情況下噪點(diǎn)會(huì)造成步驟A無法進(jìn)行或者難度變大,(比如噪點(diǎn)顏色和字符,背景都不同,并且干擾了 A使用的函數(shù)的返回值)這個(gè)時(shí)候可以先進(jìn)行B再進(jìn)行A。
[0019]步驟S3,對(duì)二值化處理過的圖片驗(yàn)證垂直的方向做垂直投影,并計(jì)算垂直投影的每個(gè)像素寬度上的黑點(diǎn)。計(jì)算黑點(diǎn)數(shù),最簡單的辦法是直接按列遍歷累加,把加法結(jié)果作為黑點(diǎn)數(shù).這種是最簡單的,但是有些情況下這種辦法不能奏效(比如兩個(gè)字符離得很近,并且向相同方向傾斜,兩個(gè)字符雖然不相連但是垂直方向重合不少)這個(gè)時(shí)候直接做加法會(huì)導(dǎo)致算出來的數(shù)偏大,有時(shí)候會(huì)影響結(jié)果.所以可以引入一個(gè)判別函數(shù),接收一個(gè)點(diǎn)的坐標(biāo)和顏色(因?yàn)橐呀?jīng)二值化了,所以只有黑或白),返回一個(gè)真/假布爾值,表示這個(gè)點(diǎn)該不該在這個(gè)步驟被算為黑點(diǎn).然后通過具體配置這個(gè)判別函數(shù)來解決。
[0020]步驟S4,按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符;簡單的辦法為直接取小于某個(gè)臨界數(shù)字(可選0,I, 2等很小的數(shù)字,假設(shè)取I)的位置,這樣只要判斷數(shù)字是否大于I就可以切割了.這種辦法需要人工多次試驗(yàn)選取最佳值(0,1,或2),這個(gè)值不一定,受二值化和去噪點(diǎn)步驟的很多因素影響。
[0021]如果萬一出現(xiàn)情況是比如取2太大了(把一些字符切成兩半了),取I又太小了(讓某些情況兩個(gè)字符連一起),則需要反復(fù)調(diào)整前面步驟(二值化過程)的一些可選的參數(shù),最終得到一個(gè)合理的最佳值。
[0022]如果這個(gè)最佳值依然不能滿足要求.則要換另外一種復(fù)雜的方式(波段分析法),我們?cè)趯?shí)踐中發(fā)現(xiàn)前面的簡單方法可以滿足要求,所以并未使用波段分析,如果未來出現(xiàn)新的問題,才有可能采用波段分析法。
[0023]步驟S5,對(duì)切割的單個(gè)字符按照順時(shí)針和逆時(shí)針的兩個(gè)方向分別做每個(gè)最大角度為5個(gè)弧度的多次旋轉(zhuǎn),其中在旋轉(zhuǎn)的過程中旋轉(zhuǎn)5次,其效果最佳。
[0024]步驟S6,利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度,其旋轉(zhuǎn)后坐標(biāo)的函數(shù)式:X’ i =cos(atan(Xi/Yi)+r) * ( (Xi~2 + ΥΓ2)~0.5)。對(duì)于圖形上的任意一點(diǎn)i (令其坐標(biāo)為Xi, Yi )其旋轉(zhuǎn)r個(gè)弧度(設(shè)逆時(shí)針方向?yàn)檎较颍槙r(shí)針為負(fù)方向)后為i’(令其坐標(biāo)為V I, Y’ i),則有:根據(jù)勾股定理,i和i’到原點(diǎn)0(0,O)的距離D和D’相等分別為D=D’= (ΧΓ2 + ΥΓ2)~0.5,根據(jù)三角函數(shù)式,O -1線跟X軸夾角為R的正切值為Xi/Yi,則 R = atan(Xi/Yi),則 O -1,線跟 X 軸夾角為 R’=R+r = atan(Xi/Yi)+r,其余弦為 X’ i / D’ = X’ i/ D = X’ i/( (Xi~2 + Yi~2)~0.5),即 cos(R’ ) == X’ i /( (Xi~2+ ΥΓ2Γ0.5),cos (atan (Xi/Yi)+r) == X,i /( (Xi~2 + Yi~2)~0.5),因此最終 X,i =cos (atan (Xi/Yi)+r) * ( (Xi~2 + Yi~2)~0.5),將此式子應(yīng)用于圖像的每個(gè)黑點(diǎn)坐標(biāo),最終求得所有,X’i,就是每個(gè)點(diǎn)旋轉(zhuǎn)后的橫坐標(biāo),這些橫坐標(biāo)的最大值X’max減最小值
Vmin就得到寬度。
[0025]步驟S7,選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像;角度旋轉(zhuǎn)的算法跟上面S6 —樣,只是S6因?yàn)橛?jì)算寬度只需要X值,而此處同時(shí)需要X’ i和Y’ i兩個(gè)值.對(duì)于每個(gè)i都可以求得這兩個(gè)值.然后通過程序在內(nèi)存中生成一個(gè)空白圖像,并在圖像上對(duì)每個(gè)求得的(X’i,Y’i)坐標(biāo)畫一個(gè)黑點(diǎn),最終就得到旋轉(zhuǎn)后的單個(gè)字符的圖像.對(duì)每個(gè)字符分別這樣處理,再把這些字符圖像合并在一起,成為完整的所有字符的處理后的圖像,將它生成文件寫入硬盤。
[0026]步驟S8,對(duì)預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別,接收輸入識(shí)別出的拉丁字符驗(yàn)證原圖片上的驗(yàn)證碼是否正確,如正確,則通過輸入拉丁字符驗(yàn)證通過進(jìn)入抓取的網(wǎng)頁界面,如錯(cuò)誤,則出現(xiàn)驗(yàn)證碼更換新的圖片并返回步驟Si從新開始驗(yàn)證碼圖片糾正處理。
[0027]通過切割圖片中的字符,進(jìn)行但是字符的識(shí)別,使得對(duì)圖片張的字符識(shí)別率的到提高,提升了識(shí)別圖像的工作效率,降低了工作的成本。
[0028]圖2示出了本發(fā)明提出提供一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正系統(tǒng),該拉丁字符傾斜糾正系統(tǒng)包括:
抓取干擾處理模塊10,用于采集器抓取驗(yàn)證碼圖片并對(duì)抓取的圖片進(jìn)行圖紋干擾處理;
二值化處理模塊20,用于將圖紋干擾處理的圖片進(jìn)行二值化處理;
投影計(jì)算模塊30,用于對(duì)二值化處理的圖片沿垂直方向做投影計(jì)算每個(gè)像素寬度上的黑點(diǎn)數(shù);
字符切割模塊40,用于按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符;
字符旋轉(zhuǎn)模塊50,用于對(duì)切割的單個(gè)字符按順時(shí)針和逆時(shí)針兩個(gè)方向分別每個(gè)0.1個(gè)弧度做多次旋轉(zhuǎn);
寬度計(jì)算模塊60,用于利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度,其旋轉(zhuǎn)后坐標(biāo)的函數(shù)式:X,i = cos (atan(Xi/Yi) +r) * ( (Xi'2 + Yi~2) ~0.5),寬度的函數(shù)式:max(X,)-min(X,);
原圖預(yù)處理模塊70,用于選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像。
[0029]所述原圖預(yù)處理模塊70之后還包括:
驗(yàn)證碼判斷模塊80,用于對(duì)預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別,接收輸入識(shí)別出的拉丁字符驗(yàn)證原圖片上的驗(yàn)證碼是否正確,如正確,則通過輸入拉丁字符驗(yàn)證通過進(jìn)入抓取的網(wǎng)頁界面,如錯(cuò)誤,則出現(xiàn)驗(yàn)證碼更換新的圖片并返回抓取干擾處理模塊從新開始驗(yàn)證碼圖片糾正處理。
[0030]所述字符旋轉(zhuǎn)模塊中對(duì)單個(gè)字符做順時(shí)針和逆時(shí)針旋轉(zhuǎn)的次數(shù)為五次。
[0031]對(duì)所述預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別采用的是神經(jīng)網(wǎng)絡(luò)方法做訓(xùn)練和識(shí)別。
[0032]所述二值化處理模塊中將圖紋干擾處理過的圖片通過二值化處理將彩色圖像轉(zhuǎn)化為黑白圖像。
[0033]通過切割圖片中的字符,進(jìn)行但是字符的識(shí)別,使得對(duì)圖片張的字符識(shí)別率的到提高,提升了識(shí)別圖像的工作效率,降低了工作的成本。
[0034]這種新的方式以單個(gè)字符為分析對(duì)象而不是整篇文檔,其使用旋轉(zhuǎn)到最小寬度的方法來讓原字符圖像旋轉(zhuǎn)引起的干擾最小化.雖然旋轉(zhuǎn)后的字符不一定是正確的角度,即使旋轉(zhuǎn)到(人類認(rèn)為)錯(cuò)誤的角度,但是對(duì)于同一個(gè)字符,因?yàn)樵谟?xùn)練和識(shí)別時(shí),都是被旋轉(zhuǎn)到相同的“錯(cuò)誤角度”,因此雖然對(duì)于人來說字符是歪的,但是對(duì)于程序來說,可以認(rèn)為這個(gè)字符是個(gè)“正”的字符(只是這個(gè)字原本就是長成斜的),因此識(shí)別率上升了。對(duì)于少數(shù)字符,可能被旋轉(zhuǎn)到不止一個(gè)收斂角度(大寫英文字母中只有A,T,Y三個(gè)字符如此,是字符形狀決定一左右對(duì)稱并且在左右兩邊沒有豎線或垂直弧線)處理方式為把兩個(gè)收斂結(jié)果當(dāng)成兩個(gè)字符處理,也就是變成29個(gè)字母而不是26個(gè),其實(shí)多三個(gè)字母并沒有什么關(guān)系,我們最終對(duì)應(yīng)到字符時(shí)合并即可。另外還有一個(gè)特殊字符J有可能有連續(xù)的一段收斂,取最大(或最小)角度即可。這種方法優(yōu)點(diǎn)是對(duì)識(shí)別率提高巨大,缺點(diǎn)是通用性有一些限制:字符不能是正方形(圓型,正五角形,正六角型。。都不行),所以漢字不適用,只能對(duì)英文和數(shù)字(一般英文和數(shù)字字體高度大于寬度)有用。
[0035]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正方法,其特征在于,所述拉丁字符傾斜糾正方法包括以下步驟: A、采集器抓取驗(yàn)證碼圖片并對(duì)抓取的圖片進(jìn)行圖紋干擾處理; B、將圖紋干擾處理的圖片進(jìn)行二值化處理; C、對(duì)二值化處理的圖片沿垂直方向做投影計(jì)算每個(gè)響度寬度上的黑點(diǎn)數(shù); D、按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符; E、對(duì)切割的單個(gè)字符按順時(shí)針和逆時(shí)針兩個(gè)方向分別每個(gè)0.1個(gè)弧度做多次旋轉(zhuǎn); F、利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度,其旋轉(zhuǎn)后坐標(biāo)的函數(shù)式:X’i = cos(atan(Xi/Yi)+r) * ( (ΧΓ2 + ΥΓ2Γ0.5),寬度的函數(shù)式:max(Xj ) - min(X’); G、選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像。
2.根據(jù)權(quán)利要求1所述的拉丁字符傾斜糾正方法,其特征在于,所述步驟G后還包括H步驟: H、對(duì)預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別,接收輸入識(shí)別出的拉丁字符驗(yàn)證原圖片上的驗(yàn)證碼是否正確,如正確,則通過輸入拉丁字符驗(yàn)證通過進(jìn)入抓取的網(wǎng)頁界面,如錯(cuò)誤,則出現(xiàn)驗(yàn)證碼更換新的圖片并返回步驟A從新開始驗(yàn)證碼圖片糾正處理。
3.根據(jù)權(quán)利要求2所述的拉丁字符傾斜糾正方法,其特征在于,所述步驟E中對(duì)單個(gè)字符做順時(shí)針和逆時(shí)針旋轉(zhuǎn)的最大角度為5個(gè)弧度,旋轉(zhuǎn)次數(shù)為5次。
4.根據(jù)權(quán)利要求3所述的拉丁字符傾斜糾正方法,其特征在于,對(duì)所述預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別采用的是神經(jīng)網(wǎng)絡(luò)方法做訓(xùn)練和識(shí)別。
5.根據(jù)權(quán)利要求4所述的拉丁字符傾斜糾正方法,其特征在于,所述步驟B中將圖紋干擾處理過的圖片通過二值化處理將彩色圖像轉(zhuǎn)化為黑白圖像。
6.一種基于旋轉(zhuǎn)投影寬度的拉丁字符傾斜糾正系統(tǒng),其特征在于,該拉丁字符傾斜糾正系統(tǒng)包括: 抓取干擾處理模塊,用于采集器抓取驗(yàn)證碼圖片并對(duì)抓取的圖片進(jìn)行圖紋干擾處理; 二值化處理模塊,用于將圖紋干擾處理的圖片進(jìn)行二值化處理; 投影計(jì)算模塊,用于對(duì)二值化處理的圖片沿垂直方向做投影計(jì)算每個(gè)響度寬度上的黑點(diǎn)數(shù); 字符切割模塊,用于按照投影得到的圖像上的波谷極小值位置將圖像切割為單個(gè)字符; 字符旋轉(zhuǎn)模塊,用于對(duì)切割的單個(gè)字符按順時(shí)針和逆時(shí)針兩個(gè)方向分別每個(gè)0.1個(gè)弧度做多次旋轉(zhuǎn); 寬度計(jì)算模塊,用于利用函數(shù)對(duì)旋轉(zhuǎn)后的圖形計(jì)算寬度,其旋轉(zhuǎn)后坐標(biāo)的函數(shù)式-X i=cos(atan(Xi/Yi) +r) * ( (Xi'2 + Yi~2) ~0.5),寬度的函數(shù)式:max(Xf) - min(X,); 原圖預(yù)處理模塊,用于選擇寬度最小的旋轉(zhuǎn)角度對(duì)原始圖片上的字符做角度旋轉(zhuǎn)并輸出預(yù)處理圖像。
7.根據(jù)權(quán)利要求6所述的拉丁字符傾斜糾正系統(tǒng),其特征在于,所述原圖預(yù)處理模塊之后還包括: 驗(yàn)證碼判斷模塊,用于對(duì)預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別,接收輸入識(shí)別出的拉丁字符驗(yàn)證原圖片上的驗(yàn)證碼是否正確,如正確,則通過輸入拉丁字符驗(yàn)證通過進(jìn)入抓取的網(wǎng)頁界面,如錯(cuò)誤,則出現(xiàn)驗(yàn)證碼更換新的圖片并返回抓取干擾處理模塊從新開始驗(yàn)證碼圖片糾正處理。
8.根據(jù)權(quán)利要求7所述的拉丁字符傾斜糾正系統(tǒng),其特征在于,所述字符旋轉(zhuǎn)模塊中對(duì)單個(gè)字符做順時(shí)針和逆時(shí)針旋轉(zhuǎn)的次數(shù)為五次。
9.根據(jù)權(quán)利要求8所述的拉丁字符傾斜糾正系統(tǒng),其特征在于,對(duì)所述預(yù)處理圖像上的拉丁字符進(jìn)行識(shí)別采用的是神經(jīng)網(wǎng)絡(luò)方法做訓(xùn)練和識(shí)別。
10.根據(jù)權(quán)利要求9所述的拉丁字符傾斜糾正系統(tǒng),其特征在于,所述二值化處理模塊中將圖紋干擾處理過的圖片通過二值化處理將彩色圖像轉(zhuǎn)化為黑白圖像。
【文檔編號(hào)】G06K9/32GK104408452SQ201410651047
【公開日】2015年3月11日 申請(qǐng)日期:2014年11月17日 優(yōu)先權(quán)日:2014年11月17日
【發(fā)明者】杜衛(wèi)紅, 謝立歐, 蔣立成 申請(qǐng)人:深圳市比一比網(wǎng)絡(luò)科技有限公司