.車牌預(yù)處理
車牌預(yù)處理過程的好壞直接影響到車牌圖像進行后期處理過程,比如車牌字符分割等。車牌預(yù)處理也是盡可能的消除噪聲,減少后期處理帶來的不必要的麻煩。
輸入的車牌是24Bit的BMP真彩色圖像,車牌照有黃底黑字,藍底白字等顏色,為了將這些車牌圖像一并處理,就要先將車牌進行灰度化處理,然后進行二值化(黑白)處理。
圖4-1 原始圖像
將采集的車牌圖像進行預(yù)處理,為了方便起見,這里采用的是BMP格式的圖片,我將采集的車牌圖像進行了裁剪處理,裁剪后的圖片如下:
由于中國大部分的車牌是第一個是漢字,第二個到第七個是字母或數(shù)字,這就可以將車牌圖像識別過程分成兩部分處理,第一部分是識別漢字的過程,第二部分是識別字母和數(shù)字的過程,由于漢字筆畫較多,同字母或數(shù)字的處理過程有所不同。所以我這里就先處理字母或數(shù)字的過程。
除漢字外,在第一個字母和第二個數(shù)字的中間有個一點,所以在字符分割的時候要考慮去掉中間的點。車牌圖像總體來說比較清晰,大型民用車,牌照為黃底黑字,小型民用車,牌照為藍底白字,由于字符與背景顏色對比比較明顯,所以將車牌分割開來比較容易。由于有些車牌的上面和下面也有螺絲之類的東西將車牌固定,所以在將車牌分割的時候,通過水平掃描跳躍點的方法,可以去除掉,以便最后將車牌進行分割,去除這些干擾。
在RGB模型中,如果R=G=B時,則彩色表示一種灰度顏色,其中R=G=B的值叫灰度值,因此,灰度圖像每個像素只需一個字節(jié)存放灰度值(又稱強度值、亮度值),灰度范圍為0-255。一般有四種方法對彩色圖像進行灰度化。
1. 分量法。就是將每個分量上的顏色值即RGB3種顏色提取出來。即:將彩色圖像中的三分量的亮度作為三個灰度圖像的灰度值,可根據(jù)應(yīng)用需要選取一種灰度圖像。f1(i,j)=R(i,j) f2(i,j)=G(i,j) f3(i,j)=B(i,j)其中fk(i,j)(k=1,2,3)為轉(zhuǎn)換后的灰度圖像在(i,j)處的灰度值。
2.最大值法。選取彩色圖像中的三分量中(RGB)的顏色的最大值作為灰度圖的灰度值。即:f(i,j)=max(R(i,j),G(i,j),B(i,j))。
3.平均值法。 將彩色圖像中的三分量亮度求平均得到一個灰度圖f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3。
4.加權(quán)平均法。根據(jù)重要性及其它指標,將三個分量以不同的權(quán)值進行加權(quán)平均。由于人眼對綠色的敏感最高,對藍色敏感最低,因此,按下式對RGB三分量進行加權(quán)平均能得到較合理的灰度圖像。f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))。
以上四種處理過程,在車牌預(yù)處理的過程中,我選擇加權(quán)平均值法。效果如下:
圖4-2 原始圖像
圖4-3灰度圖像
如上圖,是將圖中的原始圖像進行加權(quán)平均值處理后的灰度圖像。
關(guān)鍵代碼如下:
for(i = 0;i < Height; i++)
{
for(j= 0;j < Width*3; j+=3)
{
ired = (unsigned char*)lpDibBits + LineBytes* i + j + 2;
igreen= (unsigned char*)lpDibBits + LineBytes * i + j + 1;
iblue = (unsigned char*)lpDibBits + LineBytes* i + j ;
lpdest[i*Width+ j/3]= (unsigned char)((*ired)*0.299 + (*igreen)*0.588 + (*iblue)*0.114);//加權(quán)平均值計算處理
}
}
-
灰度圖像
+關(guān)注
關(guān)注
0文章
5瀏覽量
7034 -
分量
+關(guān)注
關(guān)注
0文章
4瀏覽量
6976
發(fā)布評論請先 登錄
相關(guān)推薦
評論