張奧祥
摘要:智能交通管理應(yīng)用趨勢逐步加升,車牌識別是智能交通中重要的一部分。車牌識別應(yīng)用于許多場合如停車場管理、小區(qū)門禁、高速收費(fèi)處等。該文利用圖像處理技術(shù)和MATLAB軟件的使用來研究車牌的識別,利用Canny算子進(jìn)行車牌的邊緣檢測,在字符分割中應(yīng)用投影法進(jìn)行分割,應(yīng)用模板匹配進(jìn)行車牌的字符識別。
關(guān)鍵詞:圖像圖像處理;Canny算子;投影法;模板匹配;MATLAB
中圖分類號:TP3? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)19-0205-03
隨著現(xiàn)代社會車輛的不斷增多,車牌識別的重要性不言而喻,車牌識別的應(yīng)用使得交通運(yùn)輸和管理的效率增長了許多。車牌識別技術(shù)近幾十年來不斷地改進(jìn)、發(fā)展。文中主要把車牌識別歸納為四大部分:車牌圖像的預(yù)處理、車牌定位、車牌字符分割、車牌字符識別。
1 圖像預(yù)處理
1.1 圖像灰度化
現(xiàn)代相機(jī),手機(jī)等拍攝設(shè)備所采集的圖片均為彩色圖片,但在車牌識別中,彩色圖片對車牌的精確定位并沒有益處,會耗費(fèi)大量的時間和計算工作,因此我們要對彩色圖片進(jìn)行灰度化。彩色圖像通過灰度處理轉(zhuǎn)化為灰度圖像這一過程叫作圖像灰度化,彩色圖像的每個像素的顏色由R、G、B三個分量組成,即紅、綠、藍(lán)三種顏色。每種顏色都有255種灰度值可以進(jìn)行選擇,(0表示黑色,255表示白色)?;叶葓D像就是R、G、B三個分量灰度值相同的一種特殊圖像。
1.2 圖像去噪
圖像去噪的常用方法為:均值濾波、中值濾波、高斯濾波。均值濾波在對于邊緣的去噪過于劇烈,在去噪的同時對圖像的部分細(xì)節(jié)也有損壞,反而會使圖像變得更加模糊,不能很好地去除噪聲點。高斯濾波對于邊緣噪聲的去除效果欠佳。中值濾波可以很好地去除圖像中的噪聲點,但是在夜間的時候,由于光照強(qiáng)度反光等因素的影響,導(dǎo)致夜間車輛圖像各像素點灰度值差距較大,利用中值濾波進(jìn)行圖像平滑導(dǎo)致濾波之后的灰度值變化較大,圖像有些失真,尤其是車牌區(qū)域,字符的清晰較濾波之前反而變得更加模糊。因此,中值濾波運(yùn)用于夜間車輛識別系統(tǒng)中還存在一定的缺陷。
本文首先將圖像進(jìn)行高斯濾波處理,對圖像的像素點附近鄰域的灰度值進(jìn)行相應(yīng)的加權(quán)平均,這樣能有效地消除近似高斯噪聲的噪聲部分,然后對高斯濾波之后的圖像采取中值濾波處理。既利用了中值濾波對圖像平滑處理的優(yōu)勢,又解決了中值濾波在夜間對車牌識別的一定的缺陷。
1.3 車牌的邊緣性檢測
不同的圖像灰度值是不同的,常規(guī)情況下邊界處會有明顯的邊緣,利用此特征可以進(jìn)行圖像的分割。需要注意的是:圖像的邊緣并不等同于物體間的邊界,圖像中像素的值有突變的地方即為圖像邊緣,而物體間的邊界是指在現(xiàn)實世界中真實存在與物體之間的邊界。邊緣存在的地方未必存在邊界,同樣,邊界存在的地方不一定有邊緣?,F(xiàn)實場景中的物體是三維的,而圖像只具有二維信息,從三維到二維的投影成像不可避免地會丟失一部分圖像的信息;此外,光照和噪聲對成像過程的影響也是不可避免。
常用的邊緣檢測算法:(1)Sobel算子;(2)Roberts算子;(3)Laplace算子;(4)Canny算子。設(shè)計選用Canny算子進(jìn)行車牌圖像的邊緣性檢測。圖像邊緣作為一種圖像的基本特征,被應(yīng)用于圖像處理的實際案例中。圖像的邊緣檢測是獲得車牌輪廓的重要方式。車牌邊緣特征明顯,獨立存在一定區(qū)域,并且中國車牌有著特有的背景和尺寸,對于車牌定位和邊緣的提取都有很大的幫助。
1.4 圖像二值化
圖像的二值化,實際上就是把圖像上的灰度值設(shè)置為0(黑)或白(255),目的是將圖像的背景和前景分離,達(dá)到僅有黑白的視覺效果。將256個亮度等級的灰度圖像通過適當(dāng)?shù)拈撝颠x取,然后獲得仍然可以反映圖像整體和局部特征的二值化圖像?;叶鹊燃売?56個,給我們呈現(xiàn)出不同色彩的視覺效果。本文是對車牌進(jìn)行識別,首先我們要通過處理采集車牌圖像中的信息,對車牌區(qū)域進(jìn)行定位。因此,在進(jìn)行車牌的邊緣檢測后,我們需要進(jìn)一步進(jìn)行二值化使車身和車牌分離。
本文選用Otsu算法(最大類間方差法也稱“大津法”)進(jìn)行圖像二值化。其原理是利用圖像的灰度特性,把灰度圖像分成背景和前景(目標(biāo))兩部分。背景和前景之間的類間方差越大,就說明構(gòu)成圖像的這兩部分的差別越大,若部分目標(biāo)被誤分為背景或者部分背景被誤分為目標(biāo),將會導(dǎo)致兩部分差別變小。因此,使類間方差最大的分割意味著錯分概率最小。
2 車牌定位
2.1 我國車牌的特點
我國的車牌是根據(jù)GA36-2014《中華人民共和國機(jī)動車號牌》的規(guī)定進(jìn)行機(jī)動車的車牌底色和數(shù)字顏色的搭配。我國的機(jī)動車號牌的種類十分豐富,常見的有黃底黑字車牌、黑底白字車牌、藍(lán)底白字車牌。其中尤為常見的為普通小汽車所掛的藍(lán)底白字車牌,其長度是440MM,寬度是140MM,由7的字符和一個點分隔符組成,第一個字符為漢字,后面6位由字母和阿拉伯?dāng)?shù)字組成;車牌中每個字符的寬度都為45MM,高度都為90MM,車牌中第二個字符和第三個字符的間隔是35MM,其余相鄰的字符間的距離都是15MM。
2.2 車牌定位算法
數(shù)學(xué)形態(tài)學(xué)是由一組形態(tài)學(xué)的代數(shù)運(yùn)算子組成的,包括的基本運(yùn)算有四個: 膨脹、腐蝕、開運(yùn)算和閉運(yùn)算,它們在二值圖像和灰度圖像中各有特點。在這些基本運(yùn)算的基礎(chǔ)上還可推導(dǎo)和組合出各種有關(guān)數(shù)學(xué)形態(tài)學(xué)實用算法。形態(tài)學(xué)處理文中主要應(yīng)用了開運(yùn)算和閉運(yùn)算操作方式。在簡述開、閉運(yùn)算前需要對膨脹和腐蝕以簡單介紹下。
膨脹:其實,膨脹就是求局部最大值的操作。按數(shù)學(xué)方面來說,其就是求局部最大值的操作。膨脹運(yùn)算在填補(bǔ)圖像各部分小圖像的間隙處理方面非常有益。
腐蝕:腐蝕與膨脹是一對相反的操作。數(shù)學(xué)角度出發(fā),腐蝕就是求局部最小值的操作。腐蝕運(yùn)算可以有效地清除圖像中無意義的雜亂小圖像。
開運(yùn)算是一種復(fù)合運(yùn)算,其就是圖像先進(jìn)行一次腐蝕運(yùn)算,對腐蝕后得到的圖像再進(jìn)行膨脹運(yùn)算。
閉運(yùn)算也算是一種復(fù)合運(yùn)算,計算過程于開運(yùn)算的順序相反,先進(jìn)行膨脹運(yùn)算,再進(jìn)行腐蝕運(yùn)算。
3 車牌字符分割
字符分割環(huán)節(jié)是承上啟下的部分,在上述的車牌定位得到大概的車牌區(qū)域后,接著需要把字符分割出來,進(jìn)而繼續(xù)進(jìn)行下面的字符識別環(huán)節(jié)。車牌字符分割的目的就是,把定位到的車牌分割成8個區(qū)域,漢子和后面的6個字符,把點分隔符去除。只有字符精確的分割出來,在下一環(huán)節(jié)的字符識別中才能更加準(zhǔn)確。也就是說,字符分割直接影響字符識別的結(jié)果。
3.1 車牌校正處理
車牌校正是車牌定位和字符分割不可或缺的環(huán)節(jié)。在車牌的抓拍過程中可能由于攝像頭一定程度的傾斜,司機(jī)再掛車牌時造成一定的傾斜,或者由于車牌的損壞造成的獲取的車牌圖像存在一定程度的角度傾斜。車牌整體的傾斜直接導(dǎo)致了,車牌上字符的傾斜,字符間的間隔大小也發(fā)生了改變。所以這種傾斜不僅會給下一步字符分割帶來困難,最終對車牌識別的正確率造成影響。因此,我們需要對車牌進(jìn)行校正,車牌最常見的是水平水平方向的傾斜。常用的方法是Hough變換法和Radon變換法。本文使用了Hough變換法對車牌進(jìn)行校正。
利用Hough變換進(jìn)行車牌邊框的檢測,確定邊框水平線的傾斜角度,根據(jù)傾斜角度,進(jìn)行相應(yīng)的旋轉(zhuǎn),獲得校正后的圖像。具體步驟如下:
(1)圖像預(yù)處理。讀取圖像,轉(zhuǎn)換為灰度圖像,去除離散的噪聲點。
(2)利用邊緣檢測,對圖像中的水平線進(jìn)行強(qiáng)化處理。
(3)基于Hough變換檢測車牌圖像的邊框,獲取傾斜角度。
(4)根據(jù)傾斜角度,對車牌圖像進(jìn)行傾斜校正。
3.2 字符分割預(yù)處理-邊框去除
由于車牌定位時對位置的限制并不是十分精確,車牌的上下邊框、鉚釘?shù)葧性肼暜a(chǎn)生影響字符分割的精確,為了提高分割準(zhǔn)確度,在分割之前需要對車牌進(jìn)行鉚釘和邊框的去除操作。文中采用統(tǒng)計白色像素點個數(shù)的方法去除車牌的上下左右邊框。去邊框后,如圖所示。
3.3 字符分割
字符分割的方法有很多種,沒有一種是萬能的,我們應(yīng)該視我們的實驗而定。常用的字符分割的方法:基于投影法的字符分割、基于模板匹配的字符分割、基于字符輪廓的字符分割等等。文中所使用的字符分割算法為基于垂直投影的字符分割算法。
基于垂直投影的字符分割算法:利用車牌相鄰字符間的空白間隔來對字符進(jìn)行切割。其方法的主要流程為首先把處理后的車牌圖像進(jìn)行二值化處理,接著二值化處理;然后再對此圖像在垂直方向上進(jìn)行投影;通過投影,會形成一定的波峰和波谷,然后找到兩峰之間的波點。
4 車牌字符識別
字符識別是車牌識別的最后一步,也可以說是整個車牌識別體系中最重要的一個環(huán)節(jié),準(zhǔn)確的識別字符,最終車牌的識別成功率才會提高。在車牌定位、車牌字符分割的成功鋪墊下,在這一環(huán)節(jié),我們只要選擇一個合適的字符識別的算法,便可以高效、準(zhǔn)確的識別字符。常見的字符識別的方法有:基于字符特征匹配的字符識別算法、基于神經(jīng)網(wǎng)絡(luò)的字符識別算法、基于支持向量機(jī)SVM的模式識別算法和利用模板匹配的字符識別。
本文利用模板匹配方法對車牌字符進(jìn)行識別。其原理簡單來講就是創(chuàng)建一個字符庫,把分割的車牌字符與庫里的字符進(jìn)行匹配。首先我們根據(jù)我國的車牌特征,創(chuàng)建一個字符庫。序號0-9為阿拉伯?dāng)?shù)字0-9,序號10-35為26個英文字母,36-66為31個省市包括自治區(qū)的車牌標(biāo)志(此處未包括香港、澳門自治區(qū),臺灣地區(qū)),如:北京“京”、安徽“皖”、上海“滬”等等。然后利用MATLAB軟件進(jìn)行算法的使用對車牌字符進(jìn)行匹配。
5 總結(jié)與展望
通過運(yùn)用圖像圖形處理的相關(guān)知識以及MATLAB的應(yīng)用,完成了車牌識別的整個過程。文中把車牌識別概括為四大部分:車牌圖像的預(yù)處理、車牌的定位、車牌字符分割和車牌字符識別,四個部分依次進(jìn)行,環(huán)環(huán)相扣,每前一步的操作都影響著后一步的進(jìn)行。文中應(yīng)用了OTSU算法、Canny算子的邊緣檢測,相比的其他方法,對車牌識別的效率和成功率更高。
文中僅對常見的藍(lán)色車牌進(jìn)行了實驗研究,對一些特殊的車牌(如:警用、部隊、大使館以及新能源等等)還需要進(jìn)一步的改進(jìn)和探究。在最后一步的字符識別中,還存在一定的錯誤,比如把“0”識別成了“O”。后面還需要進(jìn)行更多的試驗,進(jìn)而是車牌識別的成功率更上一層樓。
參考文獻(xiàn):
[1] 顧李云.基于圖像處理的車牌識別算法的研究與設(shè)計[D].南京郵電大學(xué),2018.
[2] 孫春泉.車牌識別中關(guān)鍵算法的研究與改進(jìn)[D].安徽理工大學(xué),2018.
[3] 黃辰陽.基于圖像處理的車牌識別方法研究[D].廣東工業(yè)大學(xué),2018.
【通聯(lián)編輯:代影】