趙 珊,裴 亮,劉 翠,王 濤,王新亮,朱雪嬌
(遼寧工程技術(shù)大學(xué) 測(cè)繪與地理科學(xué)學(xué)院,遼寧 阜新 123000 )
基于MATLAB圖像處理的汽車牌照識(shí)別研究
趙 珊,裴 亮,劉 翠,王 濤,王新亮,朱雪嬌
(遼寧工程技術(shù)大學(xué) 測(cè)繪與地理科學(xué)學(xué)院,遼寧 阜新 123000 )
汽車牌照識(shí)別是智能交通領(lǐng)域的重要研究課題,整個(gè)過程主要分為預(yù)處理、車牌定位、字符分割、字符識(shí)別4個(gè)環(huán)節(jié)。用MATLAB軟件編寫代碼實(shí)現(xiàn)每一個(gè)過程,有效地解決惡劣環(huán)境下的車牌定位、字符傾斜、字符分割等復(fù)雜問題,結(jié)果表明MATLAB在彩色汽車牌照的識(shí)別中十分有效。
MATLAB;車牌識(shí)別;數(shù)學(xué)形態(tài)學(xué);字符識(shí)別;圖像處理
當(dāng)今社會(huì)經(jīng)濟(jì)快速發(fā)展、生活水平穩(wěn)步提升,汽車進(jìn)入尋常百姓家,汽車保有量飛速增長(zhǎng),給交通管理帶來了很大的難題,如高速公路超速、違章占道,城市道路違章停車、闖紅燈、肇事逃逸等。為了快速準(zhǔn)確地找到違章車輛,智能交通系統(tǒng)的出現(xiàn)顯得十分必要,智能交通系統(tǒng)的核心是車牌自動(dòng)識(shí)別技術(shù),本文以數(shù)碼相機(jī)拍攝模擬智能交通系統(tǒng)拍攝違章停車車牌為例,闡述智能交通識(shí)別系統(tǒng)識(shí)別車牌的一般流程。
一般的汽車牌照識(shí)別方法是利用汽車牌照的照片,運(yùn)用復(fù)雜的編程語言,如C、C++、C#編程對(duì)圖像進(jìn)行處理,這種方法有一定的局限性,它對(duì)編程能力的要求非常高,難度大且不好維護(hù)。MATLAB軟件是一款很方便的圖像處理工具,可對(duì)已經(jīng)編好的函數(shù)進(jìn)行直接調(diào)用,降低了圖像處理的難度,節(jié)省時(shí)間。由于車輛在行駛過程中會(huì)受到外界環(huán)境(如光照強(qiáng)度、汽車行駛速度以及攝影機(jī)拍攝角度)的影響,以及中國車牌的特殊性,它們由漢字、字母、數(shù)字組成給車牌識(shí)別帶來了一定難度。這些因素都關(guān)系到汽車牌照識(shí)別的效果。
汽車車牌識(shí)別主要步驟有汽車車牌的定位、車牌字符的分割、車牌字符的識(shí)別。其識(shí)別流程如圖1所示。
圖1 汽車牌照識(shí)別流程
1.1 圖像預(yù)處理
由于所采集的圖像受外界光照強(qiáng)度、車行駛速度、拍攝角度的影響,最終會(huì)影響字符識(shí)別的效果,故要對(duì)所采集的圖像進(jìn)行灰度化、二值化、傾斜校正、濾波等一些預(yù)處理,預(yù)處理效果的好壞直接影響車牌識(shí)別的最終結(jié)果。
1.1.1 圖像的灰度化和二值化
采集的彩色圖像包含很多顏色信息,影響圖像處理的速度,車牌的顏色和背景顏色一致,增加車牌定位的難度。圖像二值化是將車牌圖像用MATLAB語言編輯,將車牌圖像劃分為前景和背景,將車牌字符像素分為兩部分目標(biāo)像素,其余為背景像素,將車牌圖像進(jìn)行灰度二值化,其公式表達(dá)為
式中:T為閾值(圖像的二值化的關(guān)鍵就是選擇合適的閾值),B(i,j) 表示坐標(biāo)值為(i,j) 像素點(diǎn)的灰度值。車牌圖像的原圖、灰度圖和二值化圖如圖2~4所示。
圖2 原圖
圖3 灰度圖
圖4 二值化圖
1.1.2 車牌的邊緣增強(qiáng)
邊緣主要存在于目標(biāo)字符與目標(biāo)字符、目標(biāo)字符與背景之間,是分割目標(biāo)、提出紋理的重要特征。通過對(duì)圖像進(jìn)行邊緣增強(qiáng),可以突出車牌邊緣紋理,使得車牌定位快速、準(zhǔn)確。用邊緣檢測(cè)算子對(duì)每一個(gè)像素點(diǎn)的鄰域進(jìn)行檢測(cè),同時(shí)量化灰度變化率。其中Sobel、Prewitt、Roberts、Laplacian of a Gaussian(loG)、Zero crossings(零交叉)、Canny 為MATLAB常用的邊緣檢測(cè)器。本文根據(jù)拍攝的車牌圖像情況經(jīng)過反復(fù)試驗(yàn)得到用Canny邊緣檢測(cè)器進(jìn)行邊緣增強(qiáng),如圖5所示。
圖5 邊緣增強(qiáng)
1.2 利用形態(tài)學(xué)方法對(duì)圖像進(jìn)行除噪并對(duì)車牌進(jìn)行定位
利用數(shù)學(xué)形態(tài)學(xué)收集圖像信息,尋求圖像各個(gè)部分間的相互關(guān)系,通過他們之間的關(guān)系了解圖像結(jié)構(gòu)特征。數(shù)學(xué)形態(tài)學(xué)主要運(yùn)算有腐蝕和膨脹運(yùn)算,以及由其產(chǎn)生的開、閉運(yùn)算。
1)膨脹:A!B=∩{A-b:b∈B},使目標(biāo)前景點(diǎn)縮小,背景增大,消除孤立噪聲點(diǎn)。
2)腐蝕:A⊕B=∪{A+b:b∈B},使目標(biāo)前景點(diǎn)增大,背景縮小,填充目標(biāo)前景物體中的空洞,形成區(qū)域。
3)開運(yùn)算:A°B=(A!B)⊕B,這種運(yùn)算是A被B腐蝕后再用B來膨脹結(jié)果,濾去小于結(jié)構(gòu)元素的細(xì)小區(qū)域。
4)閉運(yùn)算:A!B=(A⊕B)!A,這種運(yùn)算是A被B膨脹后再用B來腐蝕結(jié)果。
車牌圖像多為縱向邊緣。首先,對(duì)預(yù)處理后的車牌圖像先進(jìn)行垂直方向的腐蝕運(yùn)算,進(jìn)行濾波處理;然后進(jìn)行閉運(yùn)算,用來填充圖像細(xì)小區(qū)域、相鄰物體的連接和便捷的平滑,使車牌區(qū)域的影像像素得到增強(qiáng)。
接下來對(duì)連通區(qū)域進(jìn)行檢索,先估計(jì)車牌的高度和寬度,選擇合適的閾值對(duì)圖像進(jìn)行掃描,最終定位出車牌的位置,如圖6所示。
圖6 定位后車牌
2.1 車牌字符的切分
2.1.1 車牌傾斜校正
由于攝像機(jī)放置角度等原因,拍出來的車牌有可能不是水平的,傾斜達(dá)到一定程度就會(huì)對(duì)車牌字符的分割帶來困難。車牌傾斜后在水平軸方向的投影會(huì)變得不清晰,導(dǎo)致無法找到字符中間的空隙,傾斜車牌雖然有時(shí)能進(jìn)行切分,但是切分后的字符上下有很多陰影,在字符識(shí)別拉伸的時(shí)候會(huì)發(fā)生扭曲。應(yīng)用較多的是Hough變換,但是傳統(tǒng)的Hough變換要針對(duì)每一個(gè)像素進(jìn)行計(jì)算,處理的時(shí)間比較長(zhǎng)。本文通過車牌兩端的斜率來調(diào)整圖像的位置,可以達(dá)到預(yù)期的目的,減少了計(jì)算時(shí)間,提高了實(shí)時(shí)性要求,如圖7所示。
圖7 校正后的車牌
2.1.2 車牌的分割字符
汽車牌照識(shí)別中的字符分割有著非常重要的銜接作用,它以車牌定位之后對(duì)字符進(jìn)行分割,再利用分割后得到的字符進(jìn)行最后的識(shí)別。一幅定位準(zhǔn)確的車牌包括由1個(gè)漢字和6個(gè)字母或者數(shù)字組成。想要成功識(shí)別出每一個(gè)字符是什么,必須把這7個(gè)字符獨(dú)立地分割提取出來。車牌的垂直投影上存在字符與字符之間的空隙和跳變,根據(jù)字符樣式、尺寸等進(jìn)行字符的逐個(gè)分割。本文采用的分割方法是投影法,上下掃描,可以得到車牌圖像高度,后左右掃描,找到第一個(gè)字符的重點(diǎn),后繼續(xù)左右掃描,一直到車牌全部掃描完畢。采用投影法編程較簡(jiǎn)單且精度高,易操作。
2.2 車牌的識(shí)別
首先要建立字符模板。中國現(xiàn)行車牌規(guī)定一共有7個(gè)字符,第一個(gè)字符一般是漢字代表省、直轄市或是軍種警別等有特定含義簡(jiǎn)稱;接下來的為字母和數(shù)字。10個(gè)阿拉伯?dāng)?shù)字0~9,26個(gè)英文字母A~Z和相關(guān)的車牌用漢字,將這些所有的字母、數(shù)字、漢字收集到一起組成的字庫就是字符模板。
對(duì)字符進(jìn)行歸一化處理可以有效地解決圖像采集的車牌圖像字符大小不一致的現(xiàn)象,經(jīng)過歸一化處理后的字符大小相同。歸一化是為了使車牌字符與字符模板中的標(biāo)準(zhǔn)字保持特征上的一致。而前面已經(jīng)對(duì)車牌進(jìn)行了傾斜矯正,接下來主要是
對(duì)字符大小進(jìn)行歸一化,大小歸一是指在長(zhǎng)度和寬度方向上分別乘以一個(gè)比例因子,使其等于標(biāo)準(zhǔn)模塊的字符大小。本文運(yùn)用MATLAB中自帶的IMRESIZE函數(shù),進(jìn)行歸一化處理。
最后進(jìn)行字符識(shí)別,其方法主要有神經(jīng)網(wǎng)絡(luò)算法和模板匹配法。本文使用模板匹配法,它的優(yōu)點(diǎn)是操作簡(jiǎn)單,抗干擾能力強(qiáng),識(shí)別率高。在MATLAB中直接調(diào)用NEWLIN和ADAPT函數(shù)即可,如圖8所示。
圖8 車牌最終字符分割結(jié)果
本文用MATLAB 7.0軟件完整地進(jìn)行了汽車牌照識(shí)別的實(shí)驗(yàn),車牌識(shí)別有很多方法,各種方法所表示的優(yōu)劣有所不同。根據(jù)本實(shí)驗(yàn)可以得出MATLAB在車牌識(shí)別過程中有以下優(yōu)點(diǎn):
1)MATLAB函數(shù)庫豐富;
2)程序簡(jiǎn)潔易行;對(duì)車牌的定位非常有效,正確率較高;
3)與C++語言程序相比大大降低了工作量。
但是也發(fā)現(xiàn)了一些缺點(diǎn):
1)程序有一定的局限性,對(duì)于車牌圖像內(nèi)元素較復(fù)雜的照片識(shí)別的效果不理想;
2)有時(shí)還要根據(jù)攝像機(jī)位置的實(shí)際情況對(duì)部分閾值進(jìn)行調(diào)整。
[1]謝盛嘉,梁竟敏.車牌識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010(6):165-167.
[2] 岡薩雷斯.數(shù)字圖像處理(MATLAB版)[M].北京:電子工業(yè)出版社,2007.
[3] 周妮娜,王敏,黃心漢,等.車牌字符識(shí)別的預(yù)處理算法[J].計(jì)算機(jī)工程與應(yīng)用,2003(15):220-221.
[4] 李波,曾致遠(yuǎn),周建中,等.車牌識(shí)別系統(tǒng)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(6):10-11.
[5] 崔屹.圖像處理與分析-數(shù)學(xué)形態(tài)學(xué)方法及應(yīng)用[M].北京:科學(xué)出版社,2000:1-50.
[6] 嚴(yán)寶民,于萬波,魏小鵬.汽車牌照定位研究綜述[J].大連大學(xué)學(xué)報(bào),2002,23(2):6-10.
[7] 馬俊莉,莫玉龍,王明祥.一種基于改進(jìn)模板匹配的車牌字符識(shí)別方法[J].小型微型計(jì)算機(jī)系統(tǒng),2003,24(9):1670-1672.
[責(zé)任編輯:劉文霞]
LicenseplaterecognitionresearchbasedonMATLABimageprocessing
ZHAO Shan ,PEI Liang,LIU Cui,WANG Tao,WANG Xin-liang,ZHU Xue-jiao
(School of Geomatics,Liaoning Technical University,Fuxin 123000,China)
Vehicle license plate recognition plays an important role in the intelligent control of modern traffic, of which the whole process is divided into the image pre-processing,license plate location,character segmentation and character recognition, with each process code written in MATLAB software to solve the harsh environment of the license plate location, character tilt, character segmentation, etc. Results show that MATLAB is very effective in the color car license plate recognition.
MATLAB; license plate recognition; mathematical morphology;character recognition;image processing
2012-12-21
趙 珊(1987-),女,碩士研究生.
P23
:A
:1006-7949(2014)01-0070-03