專利名稱:基于小波變換和雷登變換的車牌提取方法
技術(shù)領(lǐng)域:
本發(fā)明屬于智能交通技術(shù)領(lǐng)域,特別涉及車牌識(shí)別技術(shù)中的復(fù)雜背景中的車牌提取方法。
背景技術(shù):
智能交通系統(tǒng)是目前世界交通運(yùn)輸領(lǐng)域的前沿研究課題,發(fā)達(dá)國家提出并執(zhí)行了一系列研究計(jì)劃,其核心是針對(duì)日益嚴(yán)重的交通需求和環(huán)境保護(hù)壓力,采用信息技術(shù)、通信技術(shù)、計(jì)算機(jī)技術(shù)、控制技術(shù)等對(duì)傳統(tǒng)交通運(yùn)輸系統(tǒng)進(jìn)行深入的改造,以提高系統(tǒng)資源的使用效率、系統(tǒng)安全性,減少資源的消耗和環(huán)境污染,在此方面我國也不例外。智能交通系統(tǒng)中的車牌識(shí)別技術(shù)主要實(shí)現(xiàn)對(duì)行駛車輛牌照進(jìn)行自動(dòng)識(shí)別,從而完成自動(dòng)收費(fèi),無人停車管理,重要路口的交通管制以及違章車輛的追蹤等等功能,以此來節(jié)省了人力、資金,同時(shí)提高交通管理的效率。如今,隨著計(jì)算機(jī)性能的提高和圖像處理技術(shù)的發(fā)展,車牌識(shí)別系統(tǒng)已經(jīng)日趨成熟。詳見文獻(xiàn)Da-Shan Gao,Jie Zhou,Car license plates detection from complexscene,Signal Processing Proceedings,5th International Conference,21-25 Aug.2000和文獻(xiàn)Shyang-Lih Chang,Li-Shien Chen,YunChung Chung,Sei-Wan Chen,Automatic license platerecognition,Intelligent Transportation Systems,IEEE Transactions on,March 2004所述。
在車牌識(shí)別系統(tǒng)中,車牌提取是一項(xiàng)關(guān)鍵技術(shù),其目的就是從一幅復(fù)雜背景的數(shù)字圖像中分割出車牌圖像,要求具有較高的識(shí)別率和較強(qiáng)的環(huán)境適應(yīng)性。但是由于車牌背景的復(fù)雜性與車牌特征的多樣性,迄今為止,仍沒有一個(gè)完全通用的智能化車牌定位方法。大多數(shù)定位方法局限于某個(gè)側(cè)面問題的解決,如牌照的傾斜、光照的干擾、噪聲的影響等,離實(shí)際應(yīng)用尚有比較大的距離。因此,如何把現(xiàn)有的研究成果結(jié)合起來,同時(shí)考慮到現(xiàn)有設(shè)備的工作能力,使我們的車牌識(shí)別系統(tǒng)具有良好的性能和識(shí)別速度是我們當(dāng)前研究的方向。詳見文獻(xiàn)Zhi-Bin Huang,Yan-Feng Guo,Classifier fusion-based vehicle license plate detectionalgorithm,Machine Learning and Cybernetics,2003 International Conference on,2-5 Nov.2003和文獻(xiàn)Yoshimori,S.Mitsukura,Y.Fukumi,M.Akamatsu,N.Khosal,R.License plate detection system in rainydays,Computational Intelligence in Robotics and Automation.,16-20 July 2003。
而基于小波變換和雷登變換(簡稱Radon變換)的車牌提取方法,有可能解決這個(gè)問題,因?yàn)檐嚺茀^(qū)域在整幅圖像中的高頻信息明顯且集中,采用小波變換可以有效的提取并且突出這些高頻信息,但此時(shí)被提取的車牌還包含有車牌邊框,車牌邊框的存在將會(huì)加大后續(xù)的車牌字符分割和識(shí)別的難度,為使后續(xù)的字符分割和識(shí)別處理的難度能在最大程度上降到最低,對(duì)采用小波變換后所定位出的車牌圖像進(jìn)行雷登變換,可以把車牌的四個(gè)邊框定位出來,從而把四個(gè)邊框刪除,只留下可識(shí)別的字符區(qū)域,使得后續(xù)的字符分割和識(shí)別變得相對(duì)容易。
其中,所謂的小波指的是基于一些稱為小波的小型波,具有變化的頻率和有限的持續(xù)時(shí)間,而小波變換即是指把這些小型波和待處理的信號(hào)進(jìn)行一些數(shù)學(xué)運(yùn)算。雷登變換是一種幾何變換,對(duì)一幅圖像的雷登變換的結(jié)果進(jìn)行一系列數(shù)學(xué)判斷便可檢測圖像中是否含有直線以及直線的位置。最后車牌指的是每輛車牌安裝的用于標(biāo)識(shí)車輛身份的號(hào)碼,制作標(biāo)準(zhǔn)化,一般懸掛于車輛的前端或者后部。
現(xiàn)在通常使用的車牌提取的方法有①基于車牌的彩色特征進(jìn)行車牌提取方法。它是通過提取車牌的不同于其他區(qū)域的特殊彩色特征來區(qū)別車牌區(qū)域和背景區(qū)域,從而提取出車牌。優(yōu)點(diǎn)是充分利用了圖像的彩色信息;缺點(diǎn)是速度較慢,對(duì)于那些色彩非常豐富的圖像可能失效。詳見文獻(xiàn)Zhu Wei-gang;Hou Guo-jiang;Jia Xing;A study of locating vehicle license plate based on colorfeature and mathematical morphology.Signal Processing,26-30 Aug.2002。
②應(yīng)用Hough變換進(jìn)行車牌提取的方法。它是通過提取車牌邊框的直線從而搜索到車牌位置的。其缺點(diǎn)是速度較慢,而且定位不準(zhǔn)確,出現(xiàn)干擾區(qū)域多。詳見文獻(xiàn)K.M.Kim,B.J.Lee,K.Lyou.The automatic coefficient and Hough transform.Journal of Control,Automatic and System Engineering.3(5)511-519,1997.
③基于形態(tài)學(xué)算子的車牌提取方法。它是通過使用膨脹、腐蝕等操作對(duì)車牌的邊緣特征進(jìn)行增強(qiáng),進(jìn)而提取出車牌。其缺點(diǎn)是對(duì)那些邊緣特征相對(duì)豐富的區(qū)域會(huì)找出相當(dāng)多的干擾區(qū)域,從而影響車牌提取的效果。詳見文獻(xiàn)M.Shridhar,J.W.Miller.Recognition of license plate image,In Processings of International Conference on DocumentAnalysis and Recognition,17-20,1999.
車牌提取時(shí)上述三種方法都具備一個(gè)共同的特點(diǎn)這些方法都是針對(duì)一個(gè)特定的環(huán)境,且提取出的高頻信息有限。一旦環(huán)境變化,其提取準(zhǔn)確率就會(huì)發(fā)生較大的波動(dòng),使整個(gè)車牌識(shí)別系統(tǒng)的性能下降。因此缺乏對(duì)各種環(huán)境的適應(yīng)性,方法魯棒性不好。此處我們所說的環(huán)境指的是車牌原始圖像采集的環(huán)境,不同的環(huán)境,比如說天氣、時(shí)刻、車輛所處背景和車輛自身運(yùn)動(dòng)情況等等,采集的圖像在分辨率和紋理特征等方面往往出現(xiàn)相當(dāng)大的區(qū)別。高頻信息指的是圖像的局部細(xì)節(jié)特征,車牌區(qū)域的局部細(xì)節(jié)特征相對(duì)于其他區(qū)域更明顯一些。
發(fā)明內(nèi)容
本發(fā)明的任務(wù)是提供一種基于小波變換和雷登變換的車牌提取方法,采用本發(fā)明的方法,可以在普通環(huán)境中都能夠有效、快速、準(zhǔn)確地提取車牌,為車牌字符的準(zhǔn)確識(shí)別奠定基礎(chǔ)。所述的普通環(huán)境包括晴天、雨天,車牌水平、車牌傾斜,車輛靜止、車輛運(yùn)動(dòng),白天、夜晚等情況。
為了方便描述本發(fā)明地內(nèi)容,首先在此作一個(gè)術(shù)語定義1.車牌每輛車中安裝的用于標(biāo)識(shí)車輛身份的長方形號(hào)碼牌,號(hào)碼牌有上下左右四個(gè)邊框,邊框內(nèi)包含有7個(gè)字符,有統(tǒng)一的制作標(biāo)準(zhǔn),一般懸掛于車輛的前端或者后部,不同用途的車輛的車牌標(biāo)準(zhǔn)是不一樣的。
2.灰度圖像圖像中只包含了亮度信息而沒有任何顏色信息的圖像。
3.灰度判斷一種判斷當(dāng)前所讀取的圖像是否屬于真彩色圖像的圖像處理手段,此處專指對(duì)所拍攝到的車輛圖像進(jìn)行判斷,判斷依據(jù)為分析車輛圖像矩陣的結(jié)構(gòu),若車輛圖像矩陣包含三基色分量,則當(dāng)前所讀取得車輛圖像屬于真彩色圖像,如若不然,則為灰度圖像。
4.灰度轉(zhuǎn)換一種把彩色圖像轉(zhuǎn)化為灰度圖像的手段,利用公式f(i,j)=0.114*I(i,j,1)+0.587*I(i,j,2)+0.299*I(i,j,3)可以把一幅灰度圖像轉(zhuǎn)換為灰度圖像,其中i表示圖像的行坐標(biāo)值,j表示圖像的列坐標(biāo)值,f(i,j)表示轉(zhuǎn)換后的灰度圖像中第i行第j列的象素的灰度值,I(i,j,1),I(i,j,2)和I(i,j,3)分別表示彩色圖像中第i行第j列的象素的R,G,B分量的值。
5.垂直梯度為了突出原車輛圖像的垂直細(xì)節(jié)信息,提取邊緣,用每一行的后一個(gè)象素灰度值減去前一個(gè)象素的灰度值,得到垂直梯度值。計(jì)算公式為gV(i,j)=|f(i,j+1)-f(i,j)|,其中i表示圖像的行坐標(biāo)值,j表示圖像的列坐標(biāo)值,f(i,j)表示第i行第j列的象素的灰度值,f(i,j+1)表示第i行第j+1列的象素的灰度值,gV(i,j)表示相應(yīng)的垂直梯度值。
6.梯度水平投影一種把二維空間中的圖像灰度梯度值通過一個(gè)函數(shù)變換后轉(zhuǎn)換到一維空間中的方法,該函數(shù)變換為TH(i)=Σj=1ngV(i,j),]]>其中g(shù)V(i,j)表示第i行第j列的垂直梯度值,n表示垂直梯度圖像矩陣的總列數(shù),TH(i)為第i行的投影值。
7.高斯濾波一種有名的平滑濾波方法,通過一個(gè)濾波函數(shù)變換對(duì)曲線進(jìn)行濾波處理,可以使曲線更平滑,此處轉(zhuǎn)指對(duì)梯度水平投影曲線進(jìn)行濾波,濾波函數(shù)為TH′(i)=1k{TH(i)+Σj=1w[TH(i-j)h(j,σ)+TH(i+j)h(j,σ)]}.]]>其中TH′(i)是濾波后的梯度水平投影值,i的變化范圍是從1到n,n代表圖像的高度也即圖像矩陣的總行數(shù);w表示了平滑區(qū)域的寬度大小,此處取8;h(j,σ)=exp(-j22σ2)]]>是高斯函數(shù),k=2Σj=1wh(j,σ)+1,]]>σ表示灰度圖像的均方差,此處取0.05;TH(i)表示第i個(gè)梯度水平投影值,TH(i-j)表示第(i-j)個(gè)的梯度水平投影值TH(i+j)表示第(i+j)個(gè)梯度水平投影值。
8.小波變換此處專指對(duì)梯度水平投影曲線進(jìn)行一維小波變換,從而從梯度水平投影曲線上提取有利于車牌定位的曲線特征。具體變換為,首先,構(gòu)造一個(gè)高斯函數(shù)gs(x)=12πσexp(-x22σ2),]]>其中σ表示高斯函數(shù)的均方差,此處取0.5;然后,計(jì)算此高斯函數(shù)的一階導(dǎo)數(shù),并把該一階導(dǎo)數(shù)作為小波函數(shù);最后把此小波函數(shù)和梯度水平投影曲線進(jìn)行數(shù)學(xué)卷積運(yùn)算,從而得到一條小波變換曲線。
9.波峰曲線上的值的一種特征;在該處的曲線值比緊鄰的前一個(gè)曲線值和緊鄰的后一個(gè)曲線值都大。
10.波谷曲線上的值的一種特征;在該處的曲線值比緊鄰的前一個(gè)曲線值和緊鄰的后一個(gè)曲線值都小。
11.車牌候選區(qū)域一些在一幅圖像中具有某些特征的區(qū)域,這些特征是,首先,它一個(gè)是具有一定尺寸大小的長方形或平行四邊形,該長方形或平行四邊形不能太大以至于占據(jù)了整個(gè)車輛圖像,也不能太小以至于肉眼不可見,通常情況下是一個(gè)長440mm左右高140mm左右的長方形或平行四邊形區(qū)域;其次,長方形內(nèi)的區(qū)域必須有字符;最后,該長方形位于一個(gè)車輛圖像中的中下部。正常情況下一幅車輛圖像中的車牌是一個(gè)長方形,但可能在拍攝車輛圖像的時(shí)由于各種原因而造成車牌區(qū)域變形為平行四邊形。
12.水平雷登變換在水平方向進(jìn)行雷登變換,雷登變換是一種幾何變換,它可以用來探測圖像中的直線,在一定的水平角度范圍內(nèi)進(jìn)行雷登變換,然后利用變換結(jié)果即可探測出圖像中水平方向的直線,此處專指用來探測粗切割出來的車牌圖像中的上下邊框。定義水平方向?yàn)?度,則在-5度到5度的范圍內(nèi)每隔1度對(duì)粗切割出來的車牌進(jìn)行雷登變換,變換后將得到11條雷登變換曲線。
13.垂直雷登變換在垂直方向上進(jìn)行雷登變換,此處專指用其來探測車牌圖像中的左右邊框,定義垂直方向?yàn)?0度,在85度到95度的范圍內(nèi)每隔1度對(duì)已經(jīng)刪除上下邊框的車牌進(jìn)行雷登變換,變換后得到11條雷登變換曲線。
14.線狀波峰形狀呈現(xiàn)為一條線或?qū)挾群苷牟ǚ澹颂帉V冈谲嚺频乃胶痛怪崩椎亲儞Q中的線狀波峰,它對(duì)應(yīng)于車牌圖像中的一條直線。
15.灰度翻轉(zhuǎn)對(duì)灰度圖進(jìn)行的變換,用255減去每一個(gè)灰度值即可,黑轉(zhuǎn)化為白,白轉(zhuǎn)化為黑。
本發(fā)明提供的一種新的基于小波分析和雷登變換的車牌提取方法,它包含下列步驟步驟1.將攝像裝置安裝于公路路口,收費(fèi)站或者停車場的適當(dāng)位置,在車輛進(jìn)入攝像范圍內(nèi)后進(jìn)行圖像采集,得到含有車牌圖像的原始圖像;步驟2對(duì)步驟1中所得到的車輛原始圖像進(jìn)行灰度判斷,若所拍攝到的車輛原始圖像為灰度像,則不進(jìn)行處理;若所拍攝到的車輛原始圖像為真彩色圖像,則對(duì)車輛原始圖像進(jìn)行灰度轉(zhuǎn)換,得到一幅包含車牌的灰度圖像;具體方法為采用公式f(i,j)=0.114*I(i,j,1)+0.587*I(i,j,2)+0.299*I(i,j,3)進(jìn)行轉(zhuǎn)換,其中i表示圖像的行位置,j表示圖像的列位置,f(i,j)表示轉(zhuǎn)換后的灰度圖像中第i行第j列的象素的灰度值,*是乘法運(yùn)算符號(hào),I(i,j,1),I(i,j,2)和I(i,j,3)分別表示彩色圖像中第i行第j列的象素的R,G,B分量的值;步驟3.對(duì)步驟2中所得到的灰度圖像進(jìn)行垂直梯度計(jì)算,得到一個(gè)包含有車牌的車輛灰度圖像的垂直灰度梯度圖;具體方法為采用公式gV(i,j)=|f(i,j+1)-f(i,j)|進(jìn)行垂直梯度計(jì)算,其中i表示圖像的行坐標(biāo)值,j表示圖像的列坐標(biāo)值,f(i,j)表示第i行第j列的象素的灰度值,f(i,j+1)表示第i行第j+1列的象素的灰度值,gV(i,j)表示第i行第j列的的垂直梯度值;步驟4.對(duì)步驟3中所得到的垂直灰度梯度圖進(jìn)行梯度水平投影,得到一個(gè)粗糙的梯度水平投影曲線;梯度水平投影的計(jì)算公式為TH(i)=Σj=1ngV(i,j),]]>其中g(shù)V(i,j)表示第i行第j列的垂直梯度值,n表示垂直梯度圖像矩陣的總列數(shù),TH(i)為第i行的投影值;步驟5對(duì)步驟4中所得到的粗糙的梯度水平投影曲線進(jìn)行高斯濾波,得到一個(gè)平滑的梯度水平投影曲線;濾波方法為采用公式TH′(i)=1k{TH(i)+Σj=1w[TH(i-j)h(j,σ)+TH(i+j)h(j,σ)]}]]>進(jìn)行濾波;其中TH′(i)是濾波后的梯度水平投影值,i的變化范圍為從1到n,n代表車輛圖像的高度;w表示了平滑區(qū)域的寬度大小,此處取8;h(j,σ)=exp(-j22σ2)]]>是高斯函數(shù),k=2Σj=1wh(j,σ)+1,]]>σ表示灰度圖像的均方差;TH(i)表示第i個(gè)梯度水平投影值,TH(i-j)表示第(i-j)個(gè)的梯度水平投影值,TH(i+j)表示第(i+j)個(gè)梯度水平投影值;步驟6對(duì)步驟5中所得到的平滑的梯度水平投影曲線進(jìn)行小波變換,得到一個(gè)小波變換曲線;小波變換方法為首先,構(gòu)造一個(gè)高斯函數(shù)gs(x)=12πσexp(-x22σ2),]]>其中x為高斯函數(shù)自變量,σ表示高斯函數(shù)的均方差,此處取0.5;然后,計(jì)算此高斯函數(shù)的一階導(dǎo)數(shù)得到w(x)=-x2πσ3exp(-x22σ2),]]>把該一階導(dǎo)數(shù)w(x)作為小波函數(shù);最后把此小波函數(shù)和梯度水平投影曲線進(jìn)行數(shù)學(xué)卷積運(yùn)算,從而得到一條小波變換曲線;步驟7.對(duì)步驟6中所得到的小波變換曲線進(jìn)行歸一化處理,從而得到一條曲線值位于-1到0之間的曲線;具體方法為,首先,取得小波變換曲線最大值max和最小值min;然后,利用公式s′(x)=(s(x)-min)(max-min)+1]]>進(jìn)行歸一化,其中s(x)為歸一化前的小波變換曲線值,x為曲線的坐標(biāo)值,s′(x)為歸一化處理后的小波變換的曲線值;步驟8.對(duì)步驟7中所得到的小波變換曲線進(jìn)行梯度水平投影曲線掃描,得到兩個(gè)較小的波谷值在小波變換曲線中的位置坐標(biāo);具體方法為從曲線的起點(diǎn)尋找波谷,同時(shí)記錄下小的波谷值的位置坐標(biāo),如此搜尋直到曲線的終點(diǎn);步驟9.利用步驟8中所得到的波谷位置坐標(biāo)進(jìn)行車牌粗定位運(yùn)算,得到一個(gè)或兩個(gè)車牌候選區(qū)域在包含有車牌的車輛圖像中的位置坐標(biāo);具體方法為根據(jù)步驟8提供的曲線的較小的波谷值的位置坐標(biāo)來搜索和此述的波谷緊鄰的左右兩個(gè)波峰的位置坐標(biāo),左邊波峰的位置坐標(biāo)對(duì)應(yīng)的是車牌在包含有車牌的車輛圖像矩陣中的上邊界的橫坐標(biāo),此處用top_boundary來表示車牌的上邊界位置的橫坐標(biāo),右邊波峰的位置坐標(biāo)對(duì)應(yīng)的是車牌在包含有車牌的車輛圖像中的下邊界的橫坐標(biāo),此處用bot_boundary來表示車牌的下邊界位置的橫坐標(biāo);步驟10利用步驟9中所得到的位置信息進(jìn)行車牌粗切割處理,得到一個(gè)或兩個(gè)車牌候選區(qū)域;具體方法為,首先,定義元素均為零的矩陣mask,mask的行數(shù)和列數(shù)分別與包含有車牌的車輛灰度圖像矩陣的行數(shù)和列數(shù)一致;其次,把矩陣mask中位于第top_boundary行和bot_boundary行間的所有的列的元素全部置為1,其中top_boundary表示車牌在包含有車牌的車輛灰度圖像中的上邊界的橫坐標(biāo)值,bot_boundary表示車牌在車輛圖像中的下邊界的橫坐標(biāo)值;然后,把矩陣mask和車輛灰度圖像矩陣中的具有相同坐標(biāo)值的元素相乘,相乘后,車輛灰度圖像矩陣中非車牌候選區(qū)域內(nèi)的元素均為零,車牌候選區(qū)域內(nèi)的元素值保持不變;最后,定義元素均為零的矩陣I_cut,矩陣I_cut的行數(shù)為bot_boundary-top_boundary,列數(shù)和車輛灰度圖像矩陣的列數(shù)相等,把矩陣mask和車輛灰度圖像矩陣相乘的結(jié)果矩陣中的非零元素賦給I_cut,矩陣I_cut就表示車牌候選區(qū)域;步驟11.對(duì)步驟10中所得到的車牌候選區(qū)域進(jìn)行水平雷登變換,得到11條雷登變換曲線;具體處理為定義水平方向?yàn)?度,在-5度到5度的范圍內(nèi)每隔1度對(duì)粗切割出來的車牌進(jìn)行雷登變換,變換后將得到11條雷登變換曲線;步驟12利用步驟11中的11條雷登變換曲線的寬度值確定出車牌的上下邊框在車牌圖像中的坐標(biāo)值;具體方法為比較步驟12中所得到11條雷登變換曲線的寬度,寬度最小的雷登變換曲線所對(duì)應(yīng)的變換角度就是車牌的傾斜角度記為R_hdegree,此時(shí)雷登變換曲線上的第一個(gè)波峰值大于一定值的線狀波峰的坐標(biāo)值對(duì)應(yīng)于車牌上邊框在車牌圖像中的橫坐標(biāo)記為R_top,雷登變換曲線上的最后一個(gè)波峰值大于一定值的線狀波峰的坐標(biāo)值對(duì)應(yīng)于車牌下邊框在車牌圖像中的縱坐標(biāo)并記為R_bot;步驟13利用步驟12中得到的車牌傾斜角度和上下邊框的坐標(biāo)信息,校正車牌并刪除車牌的上下邊框;具體處理為首先,校正車牌,若車牌的傾斜角度R_hdegree不為零,則認(rèn)為車牌是傾斜的,把車牌圖像旋轉(zhuǎn)-R_hdegree從而校正車牌;然后定義一個(gè)元素均為零的矩陣R_hmask,該矩陣的總列數(shù)和總行數(shù)分別等于矩陣I_cut的總列數(shù)和總行數(shù),把矩陣R_hmask位于R_top和R_bot之間的元素置為一,把矩陣R_hmask和矩陣I_cut中具有相同坐標(biāo)值的元素相乘得到一個(gè)相乘結(jié)果矩陣R_htbmask;最后,定義一個(gè)元素均為零的矩陣R_hcut,該矩陣的總行數(shù)為R_bot-R_top,總列數(shù)和矩陣R_htbmask的總列數(shù)相同,把矩陣R_htbmask中的非零元素賦給矩陣R_hcut,矩陣R_hcut就是已經(jīng)刪除車牌上下邊框的車牌圖像對(duì)應(yīng)的圖像矩陣;
步驟14.對(duì)步驟13中所得到的已經(jīng)刪除了車牌上下邊框的圖像矩陣進(jìn)行垂直雷登變換,得到11條雷登變換曲線;具體處理為定義垂直方向?yàn)?0度,在85度到95度的范圍內(nèi)每隔1度對(duì)已經(jīng)刪除上下邊框的車牌進(jìn)行雷登變換,變換后得到11條雷登變換曲線;步驟15利用步驟14中所得到11條雷登變換曲線的波峰值,確定出車牌的左右邊框,具體方法為首先,找出寬度最小的一條雷登變換曲線;然后在此曲線上從左往右搜索一個(gè)波峰值大于一定值的線狀波峰,此波峰的坐標(biāo)值就是已經(jīng)刪除了車牌上下邊框的車牌的左邊框在該車牌圖像矩陣中的縱坐標(biāo)記為R_left,再從右往左搜索一個(gè)波峰值大于一定值的線狀波峰,此波峰的坐標(biāo)值就是已經(jīng)刪除了車牌上下邊框的右邊框在該車牌圖像矩陣中的縱坐標(biāo)記為R_right;步驟16利用步驟15中所得到的已經(jīng)刪除了上下邊框的車牌的左右邊框的坐標(biāo)值,刪除車牌的左右邊框;具體方法為,首先,定義一個(gè)元素均為零的矩陣R_vmask,其總行數(shù)和總列數(shù)分別和矩陣R_hcut的總行數(shù)和總列數(shù)相等,把矩陣R_vmask位于第R_left列和R_right列內(nèi)的元素置為1;然后把矩陣R_vmask和矩陣R_hcut中具有相同坐標(biāo)值的元素相乘得到一個(gè)結(jié)果矩陣R_vlrmask;最后定義一個(gè)元素均為零的矩陣R_vcut,該矩陣的總列數(shù)為R_right-R_left,總行數(shù)和矩陣R_vlrmask的總行數(shù)相等,把矩陣R_vlrmask中的非零元素賦給R_vcut,矩陣R_vcut就是刪除了上下左右四個(gè)邊框的車牌圖像矩陣;步驟17.對(duì)步驟16中所得到的準(zhǔn)確的車牌圖像進(jìn)行車牌顏色歸一化處理,得到一個(gè)包含有可識(shí)別號(hào)碼的具有黑色背景和白色號(hào)碼的車牌圖像;具體方法為,首先,統(tǒng)計(jì)車牌區(qū)域內(nèi)的白色像素?cái)?shù)和黑色象素?cái)?shù);其次比較黑色象素?cái)?shù)和白色像素?cái)?shù),如果白色象素?cái)?shù)為多數(shù),則進(jìn)行灰度翻轉(zhuǎn);通過以上步驟,我們就從含有車牌的原始圖像中提取出了車牌圖像。
需要說明的是1.步驟3中的垂直梯度計(jì)算是因?yàn)檐嚺茀^(qū)域內(nèi)的象素值要比非車牌區(qū)域的像素值變化快且集中,而且更明顯的集中在垂直梯度方面。
2.步驟4中的梯度水平投影是因?yàn)檐嚺茀^(qū)域一定位于具有相當(dāng)高的梯度密度值的小區(qū)域內(nèi),所以我們首先進(jìn)行梯度水平投影從而定位車牌的水平候選區(qū)域。
3.步驟6中進(jìn)行小波變換后,梯度水平投影曲線的值將全部變?yōu)樨?fù)值,故曲線上原來的波峰經(jīng)過小波變換后則變成了波谷,而曲線上原來的波谷經(jīng)過小波變換后則變成了波峰,所以在搜索波峰波谷的時(shí)搜索小波變換后的曲線的波谷就相當(dāng)于搜索小波變換前的曲線的波峰,類似的,搜索小波變換后的曲線的波峰就相當(dāng)于搜索小波變換前的曲線的波谷。另外,在進(jìn)行小波變換前的梯度水平投影曲線已經(jīng)過一次高斯濾波處理了,此時(shí)的曲線已經(jīng)比較光滑了,但經(jīng)過小波變換后的梯度水平投影曲線更加光滑且去除掉了一些變換前曲線的虛假波峰波谷從而更加有利于后續(xù)的車牌定位處理,這也是采用小波變換的優(yōu)勢另一個(gè)優(yōu)點(diǎn)。
4.步驟8中搜索波谷的時(shí)候并不是所有滿足波谷條件的波谷均采納,只把那些波谷值小于一定值且波谷寬度滿足一定值范圍時(shí)才認(rèn)為是波谷,波谷所小于的一定值和波谷寬度所滿足的一定值范圍均為實(shí)驗(yàn)所得的經(jīng)驗(yàn)值。在搜索中,只取波谷值最小的波谷和波谷值次小的波谷值,通常情況下波谷值最小的波谷對(duì)應(yīng)的就是車牌區(qū)域,但有時(shí)候由于車輛圖像背景中的強(qiáng)干擾而造成最小波谷值對(duì)應(yīng)的區(qū)域并非車牌區(qū)域,而變成波谷值次小值的波谷對(duì)應(yīng)的區(qū)域才是車牌區(qū)域,但若提取過多的波谷位置將會(huì)引入在后續(xù)的車牌切割處理中較多的車牌候選區(qū)域,加大處理難度,經(jīng)過實(shí)驗(yàn)總結(jié)可知取波谷值最小的兩個(gè)波谷是合理的。
5.步驟9中車牌粗定位運(yùn)算中,在搜索與滿足條件的波谷緊鄰的左右兩個(gè)波峰時(shí)只把那些滿足一定值范圍的波峰才認(rèn)為是真波峰,由于曲線上的小起伏從而導(dǎo)致了假波峰的存在,真波峰所滿足的一定值范圍是通過實(shí)驗(yàn)得到的經(jīng)驗(yàn)值。此外,粗定位運(yùn)算中所得到的是車牌在包含有車牌的車輛圖像中粗略位置,由于該步驟中是車牌的粗定位運(yùn)算,故而有可能出現(xiàn)一個(gè)或兩個(gè)車牌候選區(qū)域的位置坐標(biāo)。
6.步驟12和15中線狀波峰所大于的一定值是通過實(shí)驗(yàn)得到的經(jīng)驗(yàn)值。
本發(fā)明首先對(duì)原始圖像進(jìn)行預(yù)處理,把真色彩圖像轉(zhuǎn)換為灰度圖像;其次計(jì)算原始圖像的垂直梯度并且根據(jù)垂直梯度的水平投影曲線的小波變換結(jié)果進(jìn)行車牌粗定位,從而粗定位出一個(gè)或兩個(gè)車牌候選區(qū)域。對(duì)粗定位出的車牌進(jìn)行水平雷登變換,從而定位并刪除車牌的上下邊框,同時(shí),如果車牌是傾斜的則加于校正;然后對(duì)已經(jīng)刪除了上下邊框的車牌進(jìn)行垂直雷登變換,從而定位并刪除車牌的左右邊框;最后對(duì)已經(jīng)刪除了四個(gè)邊框的車牌區(qū)域進(jìn)行顏色歸一化處理,最終輸出一幅只包含有可識(shí)別號(hào)碼的車牌圖像。本發(fā)明采用粗定位和精確定位相結(jié)合,在粗定位中采用小波變換的辦法,在精確定位中采用雷登變換的辦法,并在精確定位后進(jìn)行亮度和顏色的歸一化處理,最終得到了一個(gè)具有統(tǒng)一背景和號(hào)碼顏色的包含有可識(shí)別號(hào)碼的無車牌邊框的車牌。采用本發(fā)明的車牌提取方法,可以在普通環(huán)境中都能夠有效、快速、準(zhǔn)確地提取車牌,為車牌字符的準(zhǔn)確識(shí)別奠定基礎(chǔ)。
本發(fā)明的創(chuàng)新之處在于1.利用小波變換粗定位車牌,小波變換具有提取信號(hào)中的高頻特性的特點(diǎn),利用小波變換對(duì)經(jīng)過一次高斯濾波后的梯度垂直投影曲線進(jìn)行處理,可以在最大程度上提取出曲線上的波峰波谷且對(duì)曲線有一定的平滑功能,從而可以快速準(zhǔn)確的粗定位出車牌區(qū)域。
2.利用雷登變換精確定位車牌,因?yàn)槔眯〔ㄗ儞Q只能粗定位出車牌,由于噪聲和背景的干擾粗定位出的車牌中還包含有車牌邊框和一些周邊非車牌區(qū)域,同時(shí)還由于某些原因可能會(huì)使得車牌發(fā)生傾斜,這將會(huì)使后續(xù)的字符分割和識(shí)別的難度加大,所以利用雷登變換來檢測和刪除車牌的邊框并糾正車牌使之處于水平位置,最終得到的是一個(gè)只包含有可識(shí)別號(hào)碼的車牌圖像。
3.提出了車牌粗定位和精確定位相結(jié)合的方法,以便提高方法的速度,滿足車牌識(shí)別系統(tǒng)實(shí)時(shí)性的需要。首先利用原圖像的垂直梯度圖的垂直投影粗略提取出至多兩個(gè)車牌候選區(qū)域,然后再對(duì)這些候選區(qū)域應(yīng)用雷登變換方法精確定位出車牌。
圖1是含有車牌的原始圖像示意圖;其中,標(biāo)注1表示車輛的擋風(fēng)玻璃,標(biāo)注2表示車輛的引擎蓋,標(biāo)注3表示安裝車燈,懸掛車牌和和保險(xiǎn)桿的區(qū)域,標(biāo)注4表示車牌,標(biāo)注5表示輪子,在標(biāo)注4所表示的車牌中,大寫字母A,B,C,D,E,F(xiàn)和G分別代表車牌的第一個(gè),第二個(gè),第三個(gè),第四個(gè),第五個(gè),第六個(gè)和第七個(gè)號(hào)碼,其中第二個(gè)號(hào)碼和第三個(gè)號(hào)碼的間距要稍大些。
圖2是本發(fā)明經(jīng)過高斯濾波后的梯度垂直投影曲線;其中,縱坐標(biāo)上的數(shù)值表示經(jīng)過高斯濾波和歸一化后梯度垂直投影曲線的值,橫坐標(biāo)上的數(shù)值表示經(jīng)過高斯濾波核歸一化后的梯度垂直投影曲線的坐標(biāo)值。
圖3是本發(fā)明經(jīng)過小波變換的梯度垂直投影曲線其中,縱坐標(biāo)上的數(shù)值表示經(jīng)過小波變換和歸一化后梯度垂直投影曲線的值,橫坐標(biāo)上的數(shù)值表示經(jīng)過小波變換和歸一化后的梯度垂直投影曲線的坐標(biāo)值。
圖4是本發(fā)明最終得到的車牌圖像示意圖;其中,A,B,C,D,E,F(xiàn)和G分別表示車牌的第一個(gè),第二個(gè),第三個(gè),第四個(gè),第五個(gè),第六個(gè)和第七個(gè)號(hào)碼。
圖5是本發(fā)明的流程示意圖
具體實(shí)施例方式采用本發(fā)明的方法,首先在高速公路的入口處,收費(fèi)站和其他任何合適位置采用攝像裝置自動(dòng)拍攝車輛的原始圖像;其次把拍攝到的車輛原始圖像做為原數(shù)據(jù)輸入到用Matlab語言編寫的軟件中進(jìn)行自動(dòng)處理,其間無需任何人工干預(yù);最終得到一幅包含有可識(shí)別號(hào)碼的車牌圖像。共采用300張實(shí)地拍攝的彩色車輛圖像做為原數(shù)據(jù),粗定位出295張,定位準(zhǔn)確率為98.33%,精確定位出285張,定位準(zhǔn)確率為95%,定位一幅包含有可識(shí)別號(hào)碼的車牌圖像僅需40ms。
綜上所述,利用本發(fā)明的方法可以快速準(zhǔn)確的從所提供的車輛原始圖像中定位出包含有可識(shí)別號(hào)碼的車牌圖像。
權(quán)利要求
1.一種基于小波分析和雷登變換的車牌提取方法,其特征是它包含下列步驟步驟1.將攝像裝置安裝于公路路口,收費(fèi)站或者停車場的適當(dāng)位置,在車輛進(jìn)入攝像范圍內(nèi)后進(jìn)行圖像采集,得到含有車牌圖像的原始圖像;步驟2對(duì)步驟1中所得到的車輛原始圖像進(jìn)行灰度判斷,若所拍攝到的車輛原始圖像為灰度像,則不進(jìn)行處理;若所拍攝到的車輛原始圖像為真彩色圖像,則對(duì)車輛原始圖像進(jìn)行灰度轉(zhuǎn)換,得到一幅包含車牌的灰度圖像;具體方法為采用公式f(i,j)=0.114*I(i,j,1)+0.587*I(i,j,2)+0.299*I(i,j,3)進(jìn)行轉(zhuǎn)換,其中i表示圖像的行位置,j表示圖像的列位置,f(i,j)表示轉(zhuǎn)換后的灰度圖像中第i行第j列的象素的灰度值,*是乘法運(yùn)算符號(hào),I(i,j,1),I(i,j,2)和I(i,j,3)分別表示彩色圖像中第i行第j列的象素的R,G,B分量的值;步驟3.對(duì)步驟2中所得到的灰度圖像進(jìn)行垂直梯度計(jì)算,得到一個(gè)包含有車牌的車輛灰度圖像的垂直灰度梯度圖;具體方法為采用公式gV(i,j)=|f(i,j+1)-f(i,j)|進(jìn)行垂直梯度計(jì)算,其中i表示圖像的行坐標(biāo)值,j表示圖像的列坐標(biāo)值,f(i,j)表示第i行第j列的象素的灰度值,f(i,j+1)表示第i行第j+1列的象素的灰度值,gV(i,j)表示第i行第j列的的垂直梯度值;步驟4.對(duì)步驟3中所得到的垂直灰度梯度圖進(jìn)行梯度水平投影,得到一個(gè)粗糙的梯度水平投影曲線;梯度水平投影的計(jì)算公式為TH(i)=Σj=1ngV(i,j),]]>其中g(shù)V(i,j)表示第i行第j列的垂直梯度值,n表示垂直梯度圖像矩陣的總列數(shù),TH(i)為第i行的投影值;步驟5對(duì)步驟4中所得到的粗糙的梯度水平投影曲線進(jìn)行高斯濾波,得到一個(gè)平滑的梯度水平投影曲線;濾波方法為采用公式TH′(i)=1k{TH(i)+Σj=1w[TH(i-j)h(j,σ)+TH(i+j)h(j,σ)]}]]>進(jìn)行濾波;其中TH′(i)是濾波后的梯度水平投影值,i的變化范圍為從1到n,n代表車輛圖像的高度;w表示了平滑區(qū)域的寬度大小,此處取8;h(j,σ)=exp(-j22σ2)]]>是高斯函數(shù),k=2Σj=1wh(j,σ)+1,]]>σ表示灰度圖像的均方差;TH(i)表示第i個(gè)梯度水平投影值,TH(i-j)表示第(i-j)個(gè)的梯度水平投影值,TH(i+j)表示第(i+j)個(gè)梯度水平投影值;步驟6對(duì)步驟5中所得到的平滑的梯度水平投影曲線進(jìn)行小波變換,得到一個(gè)小波變換曲線;小波變換方法為首先,構(gòu)造一個(gè)高斯函數(shù)gs(x)=12πσexp(-x22σ2),]]>其中x為高斯函數(shù)自變量,σ表示高斯函數(shù)的均方差,此處取0.5;然后,計(jì)算此高斯函數(shù)的一階導(dǎo)數(shù)得到w(x)=-x2πσ3exp(-x22σ2),]]>把該一階導(dǎo)數(shù)w(x)作為小波函數(shù);最后把此小波函數(shù)和梯度水平投影曲線進(jìn)行數(shù)學(xué)卷積運(yùn)算,從而得到一條小波變換曲線;步驟7.對(duì)步驟6中所得到的小波變換曲線進(jìn)行歸一化處理,從而得到一條曲線值位于-1到0之間的曲線;具體方法為,首先,取得小波變換曲線最大值max和最小值min;然后,利用公式s′(x)=(s(x)-min)(max-min)+1]]>進(jìn)行歸一化,其中s(x)為歸一化前的小波變換曲線值,x為曲線的坐標(biāo)值,s′(x)為歸一化處理后的小波變換的曲線值;步驟8.對(duì)步驟7中所得到的小波變換曲線進(jìn)行梯度水平投影曲線掃描,得到兩個(gè)較小的波谷值在小波變換曲線中的位置坐標(biāo);具體方法為從曲線的起點(diǎn)尋找波谷,同時(shí)記錄下小的波谷值的位置坐標(biāo),如此搜尋直到曲線的終點(diǎn);步驟9.利用步驟8中所得到的波谷位置坐標(biāo)進(jìn)行車牌粗定位運(yùn)算,得到一個(gè)或兩個(gè)車牌候選區(qū)域在包含有車牌的車輛圖像中的位置坐標(biāo);具體方法為根據(jù)步驟8提供的曲線的較小的波谷值的位置坐標(biāo)來搜索和此述的波谷緊鄰的左右兩個(gè)波峰的位置坐標(biāo),左邊波峰的位置坐標(biāo)對(duì)應(yīng)的是車牌在包含有車牌的車輛圖像矩陣中的上邊界的橫坐標(biāo),此處用top_boundary來表示車牌的上邊界位置的橫坐標(biāo),右邊波峰的位置坐標(biāo)對(duì)應(yīng)的是車牌在包含有車牌的車輛圖像中的下邊界的橫坐標(biāo),此處用bot_boundary來表示車牌的下邊界位置的橫坐標(biāo);步驟10利用步驟9中所得到的位置信息進(jìn)行車牌粗切割處理,得到一個(gè)或兩個(gè)車牌候選區(qū)域;具體方法為,首先,定義元素均為零的矩陣mask,mask的行數(shù)和列數(shù)分別與包含有車牌的車輛灰度圖像矩陣的行數(shù)和列數(shù)一致;其次,把矩陣mask中位于第top_boundary行和bot_boundary行間的所有的列的元素全部置為1,其中top_boundary表示車牌在包含有車牌的車輛灰度圖像中的上邊界的橫坐標(biāo)值,bot_boundary表示車牌在車輛圖像中的下邊界的橫坐標(biāo)值;然后,把矩陣mask和車輛灰度圖像矩陣中的具有相同坐標(biāo)值的元素相乘,相乘后,車輛灰度圖像矩陣中非車牌候選區(qū)域內(nèi)的元素均為零,車牌候選區(qū)域內(nèi)的元素值保持不變;最后,定義元素均為零的矩陣I_cut,矩陣I_cut的行數(shù)為bot_boundary-top_boundary,列數(shù)和車輛灰度圖像矩陣的列數(shù)相等,把矩陣mask和車輛灰度圖像矩陣相乘的結(jié)果矩陣中的非零元素賦給I_cut,矩陣I_cut就表示車牌候選區(qū)域;步驟11.對(duì)步驟10中所得到的車牌候選區(qū)域進(jìn)行水平雷登變換,得到11條雷登變換曲線;具體處理為定義水平方向?yàn)?度,在-5度到5度的范圍內(nèi)每隔1度對(duì)粗切割出來的車牌進(jìn)行雷登變換,變換后將得到11條雷登變換曲線;步驟12利用步驟11中的11條雷登變換曲線的寬度值確定出車牌的上下邊框在車牌圖像中的坐標(biāo)值;具體方法為比較步驟12中所得到11條雷登變換曲線的寬度,寬度最小的雷登變換曲線所對(duì)應(yīng)的變換角度就是車牌的傾斜角度記為R_hdegree,此時(shí)雷登變換曲線上的第一個(gè)波峰值大于一定值的線狀波峰的坐標(biāo)值對(duì)應(yīng)于車牌上邊框在車牌圖像中的橫坐標(biāo)記為R_top,雷登變換曲線上的最后一個(gè)波峰值大于一定值的線狀波峰的坐標(biāo)值對(duì)應(yīng)于車牌下邊框在車牌圖像中的縱坐標(biāo)并記為R_bot;步驟13利用步驟12中得到的車牌傾斜角度和上下邊框的坐標(biāo)信息,校正車牌并刪除車牌的上下邊框;具體處理為首先,校正車牌,若車牌的傾斜角度R_hdegree不為零,則認(rèn)為車牌是傾斜的,把車牌圖像旋轉(zhuǎn)-R_hdegree從而校正車牌;然后定義一個(gè)元素均為零的矩陣R_hmask,該矩陣的總列數(shù)和總行數(shù)分別等于矩陣I_cut的總列數(shù)和總行數(shù),把矩陣R_hmask位于R_top和R_bot之間的元素置為一,把矩陣R_hmask和矩陣I_cut中具有相同坐標(biāo)值的元素相乘得到一個(gè)相乘結(jié)果矩陣R_htbmask;最后,定義一個(gè)元素均為零的矩陣R_hcut,該矩陣的總行數(shù)為R_bot-R_top,總列數(shù)和矩陣R_htbmask的總列數(shù)相同,把矩陣R_htbmask中的非零元素賦給矩陣R_hcut,矩陣R_hcut就是已經(jīng)刪除車牌上下邊框的車牌圖像對(duì)應(yīng)的圖像矩陣;步驟14.對(duì)步驟13中所得到的已經(jīng)刪除了車牌上下邊框的圖像矩陣進(jìn)行垂直雷登變換,得到11條雷登變換曲線;具體處理為定義垂直方向?yàn)?0度,在85度到95度的范圍內(nèi)每隔1度對(duì)已經(jīng)刪除上下邊框的車牌進(jìn)行雷登變換,變換后得到11條雷登變換曲線;步驟15利用步驟14中所得到11條雷登變換曲線的波峰值,確定出車牌的左右邊框,具體方法為首先,找出寬度最小的一條雷登變換曲線;然后在此曲線上從左往右搜索一個(gè)波峰值大于一定值的線狀波峰,此波峰的坐標(biāo)值就是已經(jīng)刪除了車牌上下邊框的車牌的左邊框在該車牌圖像矩陣中的縱坐標(biāo)記為R_left,再從右往左搜索一個(gè)波峰值大于一定值的線狀波峰,此波峰的坐標(biāo)值就是已經(jīng)刪除了車牌上下邊框的右邊框在該車牌圖像矩陣中的縱坐標(biāo)記為R_right;步驟16利用步驟15中所得到的已經(jīng)刪除了上下邊框的車牌的左右邊框的坐標(biāo)值,刪除車牌的左右邊框;具體方法為,首先,定義一個(gè)元素均為零的矩陣R_vmask,其總行數(shù)和總列數(shù)分別和矩陣R_hcut的總行數(shù)和總列數(shù)相等,把矩陣R_vmask位于第R_left列和R_right列內(nèi)的元素置為1;然后把矩陣R_vmask和矩陣R_hcut中具有相同坐標(biāo)值的元素相乘得到一個(gè)結(jié)果矩陣R_vlrmask;最后定義一個(gè)元素均為零的矩陣R_vcut,該矩陣的總列數(shù)為R_right-R_left,總行數(shù)和矩陣R_vlrmask的總行數(shù)相等,把矩陣R_vlrmask中的非零元素賦給R_vcut,矩陣R_vcut就是刪除了上下左右四個(gè)邊框的車牌圖像矩陣;步驟17.對(duì)步驟16中所得到的準(zhǔn)確的車牌圖像進(jìn)行車牌顏色歸一化處理,得到一個(gè)包含有可識(shí)別號(hào)碼的具有黑色背景和白色號(hào)碼的車牌圖像;具體方法為,首先,統(tǒng)計(jì)車牌區(qū)域內(nèi)的白色像素?cái)?shù)和黑色象素?cái)?shù);其次比較黑色象素?cái)?shù)和白色像素?cái)?shù),如果白色象素?cái)?shù)為多數(shù),則進(jìn)行灰度翻轉(zhuǎn)。
全文摘要
本發(fā)明提供的是一種基于小波變換和雷登變換的車牌提取方法,它首先把真色彩圖像轉(zhuǎn)換為灰度圖像;其次計(jì)算原始圖像的垂直梯度并且根據(jù)垂直梯度的水平投影曲線的小波變換結(jié)果進(jìn)行車牌粗定位;對(duì)粗定位出的車牌進(jìn)行水平雷登變換,定位并刪除車牌的上下邊框;對(duì)已經(jīng)刪除了上下邊框的車牌進(jìn)行垂直雷登變換,定位并刪除車牌的左右邊框;最后進(jìn)行顏色歸一化,得到了一個(gè)包含有可識(shí)別號(hào)碼的無車牌邊框的車牌。采用本發(fā)明的車牌提取方法,可以在普通環(huán)境中都能夠有效、快速、準(zhǔn)確地提取車牌,為車牌字符的準(zhǔn)確識(shí)別奠定基礎(chǔ)。
文檔編號(hào)G06K9/20GK1932837SQ20051002165
公開日2007年3月21日 申請(qǐng)日期2005年9月12日 優(yōu)先權(quán)日2005年9月12日
發(fā)明者馬爭, 楊京忠 申請(qǐng)人:電子科技大學(xué)