項 璟 李海鑫 張汝峰* 褚俊英 郭寶軍 喬東旭,2
(1.北京交通大學海濱學院,河北 滄州 061199;2.長城汽車股份有限公司徐水分公司,河北 保定 071000)
在采集車輛圖像時大部被都處于室外,由于天氣變化、光照、陰影等影響,會導致收集到的圖像通常都含有一定的噪聲,造成圖像的畫質降低。圖像預處理主要是對圖像進行去噪,提高車牌檢測與字符識別的可靠性和有效性。首先對圖像進行雙邊濾波,設原圖像為f(x,y),濾波后圖像為:
其中Ωx,y為(x,y)的鄰域,I(x,y)為鄰域內的中心像素值,ws(i,j)為空間距離相似度因子,wr(i,j)為灰度相似度因子。雙邊濾波是一種保持邊緣去噪的濾波器,同時考慮了像素位置的空間鄰近度(空間距離)和像素值的相似度,在圖像梯度較強的地方,可以保持梯度防止邊緣模糊。由式(1)~(3)可知雙邊濾波是在高斯濾波的基礎上增加了像素值相似度影響,像素值相似度較小的地方(例如邊緣),權重函數值會減小,最后產生濾波效應會減小。在像素值較為連續的區域,雙邊濾波有類似于高斯濾波的效果,而在圖像邊緣梯度較強的地方,可以保持梯度,防止邊緣模糊,從而實現車牌圖像的去噪。
車牌圖像經過預處理后,需要對車牌區域進行分割,首先進行邊緣檢測,提取出變化區域較大的位置。車牌的安裝位置都是固定的,在正常采集的照片中,所采集到的車牌基本都處于水平狀態,另外車牌當中有較多數字和字符,梯度有著很明顯的變化,通過這些特征,實現車牌檢測。邊緣算子主要有Roberts、Sobel、Prewitt、Laplacian、Canny等,本算法采用Roberts算子實現邊緣檢測,Roberts算子對具有陡峭低噪聲的圖像有較好的效果,邊緣定位準確性較高,但對于噪聲較敏感,同時并不對這些噪聲產生影響。梯度算子定義為:

圖1 Roberts邊緣算子模型

近似為:
g(x,y)=|xf(x,y)|+|yf(x,y)| (5)
其中f(x,y)、f(x-1,y-1)、f(x-1,y)、f(x,y-1)分別為4個領域的坐標,離散化后xf(x,y)=f(x,y)-f(x-1,y-1),xf(x,y)=f(x-1,y)-f(x,y-1),圖1為2×2的Roberts算子的模型。
對邊緣檢測的圖像進行形態學處理,可以去除噪聲的同時,還能夠提取一些圖像的特征區域。形態學操作主要有腐蝕、膨脹、開運算、閉運算等。對邊緣檢測后的圖像,先進行腐蝕后進行膨脹的操作即開運算。開運算使圖像上的一些小孔幾乎全部消失了,且圖像的邊緣部分被連接到一起,邊界變得很平滑,但物體的大小基本沒有變化。利用形態處理后,再根據車牌縱橫比和大小,去除非車牌區域,從而獲得車牌區域。
分割出車牌區域后,為更好實現字符分割,對車牌區域進行進一步處理,主要有灰度化、直方圖均值化、中值濾波等。把車牌區域進行灰度化,然后直方圖均衡化處理,使車牌區域光照均勻。直方圖均衡化就是在一個圖像統計角度上進行非線性的拉伸,使像素進行重新分布。以峰值部分的對比度基準,在原始直方圖的中心處增強,兩側的較低分的對比度降低。通過改變原始圖像的直方圖,讓它在所有的灰度級中以平均分布的形式表示,使圖像灰度級的動態范圍變大,同時也提高了圖像的對比性。
對獲得的圖像進行二值化,然后進行中值濾波,填補空洞,去除椒鹽噪聲。中值濾波為將圖像的每個像素用鄰域像素的中值代替,是一種常用的非線性濾波方法。中值濾波為:

其中median{}為取中間值運算,f(x,y)為待濾波圖像,g(x,y)為濾波后圖像,S為濾波模板中的點的集合,濾波模板中的點數為奇數個。中值濾波的主要步驟為:①確定濾波模板(一維或二維);②模板在圖像上滑動,取模板中的像素值;③對模板中的像素值進行排序;④取排序序列的中間值,代替圖像上濾波窗口中的中間點。中值濾波復雜度低、算法簡單,對于去除椒鹽噪聲效果明顯。
獲得車牌區域后,基于先前的車牌位置利用橫向投影圖像和縱向投影圖像進行字符分割,并根據字符縱橫比切割出字符,然后根據分割結果利用模板匹配進行字符識別。
字符分割就是把圖像中的7個字符按照順序,在不影響它們大小形狀的基礎上完整的提取出來。首選對車牌字符區域進行橫向投影后,可以把字符的上下邊界給確定出來,然后在進行縱向投影,根據字符縱橫比把每個字符分割出來。
圖像的相應方向的投影,是在該方向上取直線計算圖像上的像素的連續數目,從而確定圖像的剪切位置(坐標),并且在坐標處剪切原始圖像可以獲得目標圖像。
把分割出的字符進行歸一化處理,使字符圖像大小統一,然后利用模板匹配進行字符識別。模板匹配是從一個建好的圖形庫中,通過對比他們的相似度來進行識別。車牌字符的外觀特征非常相似,通過建立數據庫,把車牌上的漢字、英文字母、數字制作模板,然后與待識別字符進行模板匹配,可以精確的識別出字符內容。
本文首先采用雙邊濾波實現圖像去噪,然后利用邊緣檢測和形態學處理,實現車牌區域的定位與分割。對獲得的車牌區域進行灰度化、直方圖均值化、中值濾波等處理,突出關鍵信息。最后利用橫縱投影,有效地分割出字符,并采用模板匹配實現字符識別。本算法可以準確檢測車牌和識別出字符內容。