【正文】
) 表示原始圖像, g (x , y ) 為平滑后點(x , y ) 的灰度值,V x , y 表示以點(x , y ) 為中心的鄰域, 該鄰域包含N 個象素,m (x , y ) 表示鄰域V x , y 內(nèi)的灰度均值?!緟⒖嘉墨I】[1] ,[2] 陳桂明、張明照、。則修正的鄰域平均法由下式給出:m A? m l; N l max{N g ,N 0}g(x,y)= m + A? m g; N g max{N l ,N 0} (1)m ; else (1)式(1) 中, A為修正系數(shù), 取值范圍為0~ 1, 其大小反映V x , y 中的邊緣狀況。但是采用加權(quán)的鄰域平均算法對圖像進行噪聲濾除, 不僅能夠有效地平滑噪聲, 還能夠銳化模糊圖像的邊緣。 在任一邊緣點附近沿邊緣的走向總能找到另一邊緣點,且這兩邊緣點之間的灰度差及方向差都不可能很大。這種算法的優(yōu)點是簡單易行,但是因為它不包含邊緣的方向,因此對噪聲不夠敏感。這些,都使編程效率大為提高。這為編程調(diào)試創(chuàng)造了一個便利的環(huán)境。第二點在程序調(diào)試的過程中要耐心的檢查每一個錯誤。完成了準確識別車牌的目的。然后對最大位置進行判別,返回所對應(yīng)的字符給主程序。; case 3 c=39。);M1=double(M1);M2=double(M2);M3=double(M3);M4=double(M4);M5=double(M5);M6=double(M6);d=zeros(6);d(1)=corr2(H,M1);d(2)=corr2(H,M2);d(3)=corr2(H,M3);d(4)=corr2(H,M4);d(5)=corr2(H,M5);d(6)=corr2(H,M6);[D,e]=max(d(:));switch e case 1 c=39。);M5=imread(39。);M3=imread(39。程序代碼如下: function c=result(H);M1=imread(39。其調(diào)用方法如下: r=corr2(A,B) 因此本設(shè)計中的字符識別只需調(diào)用此函數(shù),即將分割出來的字符與設(shè)置好的模板一一進行相關(guān)運算,然后尋找出它們中的最大相關(guān)值。 用MATLAB來實現(xiàn)字符的識別。XTi 是指矩陣對應(yīng)元素相乘。車牌字符相關(guān)匹配算法如下: 輸入字符用輸入函數(shù)X表示,標(biāo)準模板用函數(shù)T表示,它們的大小均為2614。因此模板庫中的字符應(yīng)該是已知的,是預(yù)先設(shè)置好的是不可更改的,而不是在實驗過程中來得到。作為一幅jpg或者bmp形式的圖片,其中包含了許許多多的像素點,各象素點的值也不一樣,到底如何來確定這些像素點的值呢?模板設(shè)置無疑成為一個難點。其實現(xiàn)方法與前面的汽車邊緣提取的方法相同,也是利用梯度算子。所得到的字符均為黑字白底。代表灰度值255。本次設(shè)計所識別的車牌只有字母與數(shù)字。 字符識別的算法如下: 讀入字符圖像 與模板庫中的字母逐一進行相關(guān)運算 尋找相關(guān)度最大值所對應(yīng)的模板 輸出此模板所對應(yīng)的值 因此在字符識別之前必須把模板庫設(shè)置好。因此,字符特征的提取就成為研究的關(guān)鍵。字符的識別目前用于車牌字符識別(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神經(jīng)網(wǎng)絡(luò)的OCR算法。使其最后得到的圖像與標(biāo)準模板一樣。分割出來的六個字符如下所示,M6jpg并用imwrite函數(shù)寫入圖像文件夾中,以便在后期處理中可以直接進行調(diào)用。有字符的列其灰度值比較高,無字符的則相對比較低。字符識別的算法很多,常采用垂直面積投影法來實現(xiàn)。本設(shè)計中采用的車牌,其寬高比為1:3。(2)確定左邊界: 從左向右掃描 ,當(dāng)遇到灰度值大于設(shè)定值60之后,停止掃描。 類似的方法得出汽車邊緣圖像的垂直面積投影圖 圖8 汽車邊緣圖像的垂直面積投影圖 同上可初步得到汽車牌照的列位置在120~210之間。 圖7 汽車邊緣圖像的水平面積投影圖一般對應(yīng)于車牌位置的投影值T( i) 較大,而在車牌上,下行附近的投影值較小,均有谷點存在。該方法包括三部分: (1) 車牌的橫向定位; (2)車牌的縱向定位; (3) 車牌的微定位。經(jīng)多