在我國汽車工業(yè)迅猛發(fā)展的今天,汽車保有量的逐年大幅增加,對傳統(tǒng)的車 輛管理和交通運行方式面臨著巨大的壓力和挑戰(zhàn)。為了解決上述問題,車輛牌照自動識別技術(AVI)應運而生,并發(fā)展成為現(xiàn)代智能交通系統(tǒng)中的重要組成部分之一。它以計算機視覺處理、數(shù)字圖像處理、模式識別等技術為基礎,對攝像機所 拍攝的車輛圖像或者視頻圖像進行處理分析,得到每輛車的車牌號碼,從而完成識別過程。通過一些后續(xù)處理技術其可以實現(xiàn)停車場出入口收費管理、盜搶車輛管理、高速公路超速自動化管理、闖紅燈電子警察、公路收費管理等等功能。對于維護交通安全和城市治安,防止交通堵塞,實現(xiàn)交通全自動化管理有著現(xiàn)實的意義。
設圖像在像素點(x,y)處的灰度值為f(x,y),考慮以像素點(x,y)為中心的(2w+1)*(2w+1)窗口(w為窗口寬度),則局部自適應二值化算法可以描述如下:
a.計算圖像中各點(x,y)的閾值w(x,y)
W(x,y)=0.5*(max f(x+m,y+n)+min f(x+m,y+n))
b.如果f(x,y)>w(x,y),則二值化結(jié)果為1,代表字符區(qū)域的目標點;否則二值化結(jié)果為0,代表背景區(qū)域的目標點。
?
Canny邊緣檢測算子的方向性質(zhì)保證了很好的邊緣強度估計,而且能同時產(chǎn)生邊緣梯度方向和強度兩個信息,即能在一定程度上抗噪聲又能保持弱邊緣,因此采用以canny算子做邊緣檢測。
任何邊緣檢測算法都不可能在未經(jīng)處理的原始數(shù)據(jù)上很好地處理,所以第一步是對原始數(shù)據(jù)與高斯 mask 作卷積,得到的圖像與原始圖像相比有些輕微的模糊(blurred)。這樣,單獨的一個像素雜訊在經(jīng)過高斯平滑的圖像上變得幾乎沒有影響。
(2)用一階偏導的有限差分來計算梯度的幅值和方向。
(3)對梯度幅值進行非極大值抑制。
僅僅得到全局的梯度并不足以確定邊緣,因此為確定邊緣,必須保留局部梯度最大的點,而抑制非極大值。
非極大值抑制產(chǎn)生的二值灰度矩陣的潛在點中按照高閾值尋找邊緣,并以所找到的點為中心尋找鄰域內(nèi)滿足低閾值的點,從而形成一個閉合的輪廓。然后對于不滿足條件的點直接刪除掉。
1.在一個不大的區(qū)域內(nèi)密集包含有多個字符;
2.車牌字符與車牌底色形成強烈對比;
3.車牌區(qū)域大小相對固定,區(qū)域長度和寬度成固定比例。
根據(jù)以上特征,車牌區(qū)域所在行相鄰像素之間0 到1和1到0 的的變化會很頻繁,變化總數(shù)會大于一個臨界值,這可以作為尋找車牌區(qū)域的一個依據(jù)。 因此根據(jù)跳變次數(shù)與設定的閾值比較,就可以確定出車牌的水平區(qū)域。
由于車牌一般懸掛在車輛下部,所以采用從上到下,從左到右的方式對圖像進行掃描。車牌的字符部分由7個字符數(shù)與兩個豎直邊框組成,則車牌區(qū)域內(nèi)任一行的跳變次數(shù)至少為(7+2)*2=18次。從圖像的底部開始向頂部進行掃描,則第一組連續(xù)數(shù)行且每行的跳變次數(shù)都大于跳變閾值,同時滿足連續(xù)行數(shù)大于某個閾值。
在車牌的水平區(qū)域中,最高行與最低行的差值即為車牌在圖像中的高度。我國車牌區(qū)域為矩形,寬高比約為3.14,取3.14*H作為車牌的寬度。在水平區(qū)域內(nèi)選擇任意一行,用L長的窗口由左至右移動,統(tǒng)計窗口中相鄰像素0,1的跳變次數(shù)并存入數(shù)組中。若窗口移動到車牌的垂直區(qū)域時,窗口內(nèi)的跳變次數(shù)應該最大。因此在數(shù)組中找到最大值,其對應的區(qū)域即為車牌的垂直區(qū)域。
?
1框架流程
?

2、平滑處理
?
車牌定位的第一步為圖像預處理。為了方便計算,系統(tǒng)通常將獲取的圖片灰度化。將彩色圖像轉(zhuǎn)化成為灰度圖像的過程就稱為圖像的灰度化處理。彩色圖像中R、G、B三個分量的值決定了具體的像素點。一個像素點可以有上千萬種顏色。而灰度圖像是一種彩色圖像,但是它的特點在于R、G、B三個分量具體的值是一致的?;叶葓D中每個像素點的變化區(qū)間是0到255,由于方便計算,所以在實際工程處理中會先將各種格式的圖像轉(zhuǎn)變成灰度圖像。在保留圖像輪廓和特征的基礎上,灰度圖仍然能夠反映整幅圖像輪廓和紋理。在Opencv里面有實現(xiàn)圖像灰度化的接口。調(diào)用OpenCV中的cvSmooth函數(shù)進行中值濾波處理,以去除細小毛刺。3、二值化
局部自適應二值化是針對灰度圖像中的每一個像素逐點進行閾值計算,它的閾值是由像素周圍點局部灰度特性和像素灰度值來確定的。局部閾值法是逐個計算圖像的每個像素灰度級,保存了圖像的細節(jié)信息,非均勻光照條件等情況雖然影響整個圖像的灰度分布缺不影響局部的圖像性質(zhì),但也存在缺點和問題,相比全局閾值法來說,它的計算時間較長,但適用于多變的環(huán)境。設圖像在像素點(x,y)處的灰度值為f(x,y),考慮以像素點(x,y)為中心的(2w+1)*(2w+1)窗口(w為窗口寬度),則局部自適應二值化算法可以描述如下:
a.計算圖像中各點(x,y)的閾值w(x,y)
W(x,y)=0.5*(max f(x+m,y+n)+min f(x+m,y+n))
b.如果f(x,y)>w(x,y),則二值化結(jié)果為1,代表字符區(qū)域的目標點;否則二值化結(jié)果為0,代表背景區(qū)域的目標點。
4、車牌定位
?
??
Canny邊緣檢測算子的方向性質(zhì)保證了很好的邊緣強度估計,而且能同時產(chǎn)生邊緣梯度方向和強度兩個信息,即能在一定程度上抗噪聲又能保持弱邊緣,因此采用以canny算子做邊緣檢測。
Canny算法步驟:
(1)去噪任何邊緣檢測算法都不可能在未經(jīng)處理的原始數(shù)據(jù)上很好地處理,所以第一步是對原始數(shù)據(jù)與高斯 mask 作卷積,得到的圖像與原始圖像相比有些輕微的模糊(blurred)。這樣,單獨的一個像素雜訊在經(jīng)過高斯平滑的圖像上變得幾乎沒有影響。
(2)用一階偏導的有限差分來計算梯度的幅值和方向。
(3)對梯度幅值進行非極大值抑制。
僅僅得到全局的梯度并不足以確定邊緣,因此為確定邊緣,必須保留局部梯度最大的點,而抑制非極大值。
非極大值抑制產(chǎn)生的二值灰度矩陣的潛在點中按照高閾值尋找邊緣,并以所找到的點為中心尋找鄰域內(nèi)滿足低閾值的點,從而形成一個閉合的輪廓。然后對于不滿足條件的點直接刪除掉。
行掃描定位
車牌細定位的目的是為下一步字符的分割做,就是要進一步去掉車牌冗余的部分。在一幅經(jīng)過適當二值化處理 含有車牌的圖像中,車牌區(qū)域具有以下三個基本特征:1.在一個不大的區(qū)域內(nèi)密集包含有多個字符;
2.車牌字符與車牌底色形成強烈對比;
3.車牌區(qū)域大小相對固定,區(qū)域長度和寬度成固定比例。
根據(jù)以上特征,車牌區(qū)域所在行相鄰像素之間0 到1和1到0 的的變化會很頻繁,變化總數(shù)會大于一個臨界值,這可以作為尋找車牌區(qū)域的一個依據(jù)。 因此根據(jù)跳變次數(shù)與設定的閾值比較,就可以確定出車牌的水平區(qū)域。
由于車牌一般懸掛在車輛下部,所以采用從上到下,從左到右的方式對圖像進行掃描。車牌的字符部分由7個字符數(shù)與兩個豎直邊框組成,則車牌區(qū)域內(nèi)任一行的跳變次數(shù)至少為(7+2)*2=18次。從圖像的底部開始向頂部進行掃描,則第一組連續(xù)數(shù)行且每行的跳變次數(shù)都大于跳變閾值,同時滿足連續(xù)行數(shù)大于某個閾值。
在車牌的水平區(qū)域中,最高行與最低行的差值即為車牌在圖像中的高度。我國車牌區(qū)域為矩形,寬高比約為3.14,取3.14*H作為車牌的寬度。在水平區(qū)域內(nèi)選擇任意一行,用L長的窗口由左至右移動,統(tǒng)計窗口中相鄰像素0,1的跳變次數(shù)并存入數(shù)組中。若窗口移動到車牌的垂直區(qū)域時,窗口內(nèi)的跳變次數(shù)應該最大。因此在數(shù)組中找到最大值,其對應的區(qū)域即為車牌的垂直區(qū)域。
5、模板匹配
?
?
電子發(fā)燒友App













評論