杜召彬, 李廷鋒
(鄭州職業(yè)技術(shù)學(xué)院 軟件工程系,河南 鄭州 450121)
隨著經(jīng)濟(jì)的發(fā)展,我國(guó)汽車的保有量也在快速增長(zhǎng),2011年汽車保有量10 578萬輛,2012年12 089萬輛,2013年13 741萬輛[1]。面對(duì)汽車的快速增長(zhǎng),通過機(jī)動(dòng)車牌照可以對(duì)車輛進(jìn)行身份識(shí)別,實(shí)現(xiàn)交通管理智能化[2](車輛自動(dòng)化管理、停車管理和道路違章自動(dòng)監(jiān)控等功能),因而機(jī)動(dòng)車牌照識(shí)別技術(shù)已經(jīng)成為交通自動(dòng)化系統(tǒng)中的核心技術(shù)。
機(jī)動(dòng)車牌照自動(dòng)識(shí)別系統(tǒng)的核心內(nèi)容包括機(jī)動(dòng)車圖像預(yù)處理、牌照定位、傾斜校正、字符分割和識(shí)別等,其中機(jī)動(dòng)車牌照定位是自動(dòng)識(shí)別系統(tǒng)中最為關(guān)鍵上的一環(huán),由于機(jī)動(dòng)車圖像的采集環(huán)境等因素,受到光線、天氣和運(yùn)動(dòng)失真等影響,這些都會(huì)給機(jī)動(dòng)車牌照的定位帶來一定的影響[3]。一些學(xué)者對(duì)機(jī)動(dòng)車車牌的定位已經(jīng)進(jìn)行了深入研究,具體的做法有基于邊緣特征[4-6]、基于顏色特征[7-9]、基于紋理特征[10-11]和基于數(shù)學(xué)形態(tài)[12-14]等方法?;谶吘壧卣鞯姆椒?,要求圖像邊緣的連續(xù)性要好,實(shí)際情況,由于道路監(jiān)控環(huán)境與光線的不同,得到的牌照區(qū)域圖像往往不連續(xù)?;陬伾卣鞯姆椒ǎ枰槍?duì)彩色圖像進(jìn)行處理,處理數(shù)據(jù)量大,同時(shí)對(duì)圖像的質(zhì)量要求較高?;诩y理特征的方法,方法簡(jiǎn)單常用,但抗干擾能力差,難于解決背景復(fù)雜情況下的圖像定位問題。單一的數(shù)學(xué)形態(tài)牌照識(shí)別方法有較好的抗噪性,在復(fù)雜背景下處理效果仍不理想。針對(duì)以上方法的優(yōu)缺點(diǎn),本文提出一種幾何特征與數(shù)學(xué)形態(tài)學(xué)相結(jié)合的處理方法,首先采用局部閾值法Bernsen和梯度算子Sobel對(duì)灰度圖像進(jìn)行二值化處理和邊緣提取,然后根據(jù)機(jī)動(dòng)車牌照自身的幾何特征和數(shù)學(xué)形態(tài)學(xué)處理相結(jié)合對(duì)機(jī)動(dòng)車牌照區(qū)域進(jìn)行精確定位。
本文的機(jī)動(dòng)車牌照自動(dòng)識(shí)別系統(tǒng)由圖像采集、圖像預(yù)處理、牌照定位、牌照字符分割和字符識(shí)別等組成,整個(gè)系統(tǒng)的結(jié)構(gòu)流程如圖1所示。
機(jī)動(dòng)車識(shí)別系統(tǒng)首先對(duì)采集到的圖像進(jìn)行預(yù)處理,得到二值圖像,然后根據(jù)機(jī)動(dòng)車牌照的特征進(jìn)行精確定位,將定位牌照區(qū)域中的字符分割出來并識(shí)別,最后輸出正確的牌照號(hào)碼。
2.1.1 圖像灰度增強(qiáng)
采集到的圖像是彩色圖像,為了減少數(shù)據(jù)量和處理時(shí)間,需要把采集到的圖像轉(zhuǎn)化為灰度圖像,最后再轉(zhuǎn)化為二值圖像。彩色圖像轉(zhuǎn)化為灰度圖像的公式如公式(1)所示。
I=0.3×R+0.59×G+0.11×B
(1)
公式1中,R、G、B分別代表圖像中像素點(diǎn)的紅、綠、藍(lán)三色分量,I為像素點(diǎn)轉(zhuǎn)化后的灰度值。轉(zhuǎn)化后得到的灰度圖像與現(xiàn)實(shí)物體圖像往往不完全匹配,本文采用直方圖均衡法對(duì)轉(zhuǎn)化后的灰度圖像進(jìn)行處理,增強(qiáng)灰度的變化范圍,以求達(dá)到提高圖像的對(duì)比度。進(jìn)行直方圖均衡化的處理過程如下[15]:
1)首先定義灰度變化的比例因子ɑ=255/PixelSum(圖像總像素?cái)?shù));
2)計(jì)算原圖像的直方圖histgram;
3) 對(duì)圖像的灰度映射進(jìn)行初始化:b[0]= ɑ×histgram[0], b[i]=b[i-1]+ ɑ×histgram[i],b[i]表示為轉(zhuǎn)化后的i的像素點(diǎn)的頻數(shù),histgram[i]表示灰度級(jí)為i的像素點(diǎn)的頻數(shù);
4) 利用上面的計(jì)算結(jié)果,對(duì)圖像中的所有像素點(diǎn)進(jìn)行灰度映射計(jì)算:g(x,y)=b[f(x,y)],f(x,y)為原圖像的灰度值,g(x,y)為增強(qiáng)后圖像的灰度值。
2.1.2 圖像二值化及邊緣檢測(cè)
對(duì)得到的灰度圖像進(jìn)行二值化處理,如何選取合適的閾值T是二值化的關(guān)鍵。閾值T選取過高,會(huì)將圖像中一些目標(biāo)點(diǎn)當(dāng)做噪聲去除,閾值選取過低,就會(huì)出現(xiàn)相反的現(xiàn)象。本文采用文獻(xiàn)16所闡述的Bernsen局部閾值算法,該算法用以 (2m+1)×(2m+1)模板來計(jì)算像素點(diǎn)(x,y)的閾值,算法描述如下:
1)灰度圖像中任一像素的灰度值為f(x,y),f(x,y)∈{0,1,…,255},利用公式2來計(jì)算灰度圖像中每個(gè)像素點(diǎn)的閾值T(x,y),再求平均值t:
(2)
2)求出最佳閾值t(0≤t≤255)后,對(duì)灰度圖像中的像素點(diǎn)利用公式3進(jìn)行二值變換,變換公式如下:
(3)
其中, g(x,y)∈{0,1}為二值化后圖像各點(diǎn)的值, 1表示目標(biāo), 0表示背景。
機(jī)動(dòng)車牌照區(qū)域在整個(gè)圖像中有較大的亮度差異,同時(shí)大多數(shù)牌照是藍(lán)底白字,牌照區(qū)域的邊緣信息在水平和垂直方向上連續(xù)。本文采用Sobel算子[16]進(jìn)行邊緣檢測(cè),Sobel算子算子采用了3×3的模板,模板的卷積核如圖2所示。
根據(jù)數(shù)學(xué)形態(tài)學(xué)的特點(diǎn),要進(jìn)行機(jī)動(dòng)車牌照的定位,就要使結(jié)構(gòu)元素與牌照間具有一定的關(guān)系。因此,還要了解機(jī)動(dòng)車牌照的主要特征,我國(guó)機(jī)動(dòng)車牌照的主要特征[2,17]如下:
1)民用機(jī)動(dòng)車牌照形狀為長(zhǎng)方形,長(zhǎng)為440 mm,寬為140 mm,長(zhǎng)寬比為22 ∶7;
2)機(jī)動(dòng)車牌照的面積與其周長(zhǎng)平方間存在一定的數(shù)學(xué)關(guān)系:(22t×7t)/[2×(22t+7t)]2≈1/22,式中t代表牌照的寬度。
根據(jù)機(jī)動(dòng)車牌照存在上述的特征,對(duì)機(jī)動(dòng)車牌照進(jìn)行形態(tài)學(xué)處理,先確定牌照所在的大概位置,然后利用機(jī)動(dòng)車牌照的幾何特征(長(zhǎng)寬比和面積等)進(jìn)行精確定位。具體算法如下:
1)根據(jù)機(jī)動(dòng)車牌照的特征,確定要采用的數(shù)學(xué)形態(tài)學(xué)結(jié)構(gòu)元素(3×3的單位矩陣),對(duì)經(jīng)過邊緣檢測(cè)的圖像進(jìn)行腐蝕處理,去除不必要的噪聲點(diǎn)。
2)設(shè)定合適的結(jié)構(gòu)元素,對(duì)已經(jīng)過腐蝕的圖像進(jìn)行膨脹處理,以便恢復(fù)腐蝕中消除的有效點(diǎn),連通有效區(qū)域。
3)經(jīng)過上述算法處理的牌照?qǐng)D像,在牌照區(qū)域也會(huì)有其他較小的噪聲干擾,本文采用灰度跳變統(tǒng)計(jì),根據(jù)統(tǒng)計(jì)數(shù)據(jù)確定牌照的邊緣位置。
4)通過上述的算法步驟,已經(jīng)確定了牌照在圖像中的大概區(qū)域位置,接下來利用機(jī)動(dòng)車牌照的長(zhǎng)寬比和面積等幾何特征,對(duì)牌照進(jìn)行精確定位。
本文采用閾值分割算法[16],合理設(shè)置閾值進(jìn)行目標(biāo)圖像和背景圖像的區(qū)分。在IMAQ Morphology中閾值的設(shè)定分為自動(dòng)和手動(dòng)方式。本文采用自動(dòng)設(shè)定閾值方式,自動(dòng)設(shè)定閾值可以動(dòng)態(tài)生成閾值,適合監(jiān)控環(huán)境光線變化較大的情況。
字符識(shí)別利用采集到的字符特征及形狀信息,通過一定的算法和預(yù)先保存在標(biāo)準(zhǔn)字符庫(kù)中的字符模板進(jìn)行逐一匹配,輸出最為相近的字符。本文采用IMAQ Vision模塊進(jìn)行字符識(shí)別,IMAQ Vision模塊是一種完善的字符識(shí)別工具,能夠?qū)|(zhì)量低下的圖像字符進(jìn)行可靠有效的識(shí)別。設(shè)定不同的分割閾值、根據(jù)牌照在圖像所占比例調(diào)整字符間距等操作來完成字符的分割及修正,最終生成一個(gè)機(jī)動(dòng)車牌照字符庫(kù)。將經(jīng)過訓(xùn)練得到的字符庫(kù)提交給IMAQ Vision 的OCR接口,程序就能根據(jù)此字符庫(kù)進(jìn)行具體的字符識(shí)別,達(dá)到對(duì)牌照進(jìn)行識(shí)別的功能。
本文中采用一副大小為600萬像素的彩色圖像,在LabVIEW2010環(huán)境下實(shí)現(xiàn)。仿真過程算法如下:
1)將采集到的彩色圖像進(jìn)行灰度轉(zhuǎn)換和灰度均衡化處理。從處理后的圖3a可知,經(jīng)過灰度處理后的圖像灰度值范圍集中在30至90間,在此基礎(chǔ)上進(jìn)行直方圖均衡化處理,來增加圖像的對(duì)比度,處理結(jié)果如圖3b所示。
2)利用Bernsen算法取得圖像二值化的最佳閾值,對(duì)圖像進(jìn)行二值化處理(結(jié)果如圖4所示),并進(jìn)行一定的降噪處理,然后用Sobel算子對(duì)二值化的圖像進(jìn)行邊緣檢測(cè),結(jié)果如圖5所示。邊緣檢測(cè)能夠?qū)叶鹊碾A躍變化進(jìn)行有效的檢測(cè),通過邊緣檢測(cè)將車身及背景去除,能夠保證后面牌照定位的精度。
3)根據(jù)圖5邊緣檢測(cè)得到的圖像,對(duì)圖5所示圖像進(jìn)行腐蝕和膨脹運(yùn)算,腐蝕運(yùn)算可以確定牌照的大概區(qū)域如圖6a所示,通過膨脹運(yùn)算可以對(duì)圖像中的孔洞進(jìn)行填充,使牌照區(qū)域連通成為一體。然后根據(jù)牌照幾何特征利用數(shù)學(xué)形態(tài)學(xué)進(jìn)行處理,去除其它的噪聲區(qū)域,最終確定牌照的定位坐標(biāo),結(jié)果如圖6b所示。
4)根據(jù)得到的牌照的精確定位坐標(biāo),在LabVIEW2010環(huán)境下,使用IMAQ OCR Read Text函數(shù)的訓(xùn)練接口進(jìn)行字符分割與識(shí)別,結(jié)果如圖7所示。
從得到的結(jié)果來看,仿真處理對(duì)原始圖像進(jìn)行二值化、灰度增強(qiáng)、均衡化和邊緣檢測(cè)都達(dá)到了系統(tǒng)設(shè)計(jì)的處理要求。
本文對(duì)現(xiàn)有常用的汽車牌照識(shí)別算法在工程應(yīng)用的不足進(jìn)行了廣泛的研究,提出了一種基于圖像幾何特征與數(shù)學(xué)形態(tài)學(xué)的汽車牌照識(shí)別算法,在LabVIEW 2010環(huán)境中進(jìn)行了系統(tǒng)的實(shí)現(xiàn)。仿真過程中能夠較好地解決汽車牌照背景復(fù)雜、噪聲多、信息量大等問題,對(duì)汽車牌照的定位準(zhǔn)確,牌照識(shí)別效率較好。