基于迪文T5L1芯片的車牌識別功能,是通過T5L1接收并處理OV2640攝像頭拍攝的車牌號圖片、抓取車牌字符信息來實現(xiàn)的。圖片處理過程借助了DGUS平臺的基本顯示功能,可在一定程度上減少二次開發(fā)工作。
迪文車牌識別系統(tǒng)方案框圖
方案簡介
硬件連接:
P1口分別連接攝像頭數(shù)據(jù)傳輸D0-D7管腳;
P2^0連接SCL、P2^1連接SDA、P2^2連接PWDN、P2^3連接RST、P2^4連接VSYNC、P2^5連接HREF、P2^6連接PCLK;
DGUS界面設(shè)置:
“攝像頭畫面”用于實時顯示當(dāng)前的畫面,用于對車牌位置的定位,以免識別目標(biāo)出現(xiàn)位置偏差或不在攝像頭畫面內(nèi)出現(xiàn)無法識別的現(xiàn)象,大小設(shè)置為160*40像素;
“定位”與“識別”按鈕用于切換當(dāng)前的工作狀態(tài),點擊“定位”按鈕,攝像頭工作在JPEG數(shù)據(jù)輸出模式,迪文屏將JPEG數(shù)據(jù)流存儲到相應(yīng)的變量地址中,圖標(biāo)疊加控件顯示實時畫面;
點擊“識別”按鈕,攝像頭切換到RGB565數(shù)據(jù)輸出模式,將采集到的一幀畫面保存到內(nèi)存中進行后續(xù)的處理;
“攝像頭初始化”用于顯示當(dāng)前攝像頭的初始化結(jié)果,包括通信校驗、設(shè)備ID號校驗、參數(shù)設(shè)置等步驟,只有當(dāng)初始化成功時,攝像頭才能正常工作;
“字符上下邊界”用于顯示當(dāng)前經(jīng)過預(yù)處理后的車牌字符的上下邊界值;
“分割斷點數(shù)”用于顯示對識別到的字符的左右斷點數(shù),正常情況下應(yīng)該為16;
“閾值分割圖像”利用“基本圖形顯示”控件顯示經(jīng)過二值化處理后的圖像,方便判斷圖像預(yù)處理的效果是否達到預(yù)期以及調(diào)整二值化閾值;
“最近鄰插值圖像”用于顯示經(jīng)過插值后的每個字符的形狀,大小設(shè)置為40*20像素;
“狀態(tài)”欄顯示當(dāng)前的識別情況,是否成功;
“識別結(jié)果”用于顯示最終得到的車牌字符串。
車牌識別流程圖:
軟件程序主要函數(shù):
void RGBImage_Acquisition(void);
//RGB565數(shù)據(jù)采集,存儲到內(nèi)存空間
void JPGImage_Acquisition(void);
//JPG數(shù)據(jù)采集,在屏幕上顯示
void RGBImage_threshold();
//二值化處理
voidGray_Filter();
//二值化后圖像濾波,刪除多余雜點
void GRAY_Image_draw();
//將二值化后的圖像通過基本圖形控件顯示
void Table_ChangePoint(u16 Width, u16 Height);
//統(tǒng)計每行和每列黑色像素點的個數(shù)
void ChangePoint_Analysis_row(void);
//橫向跳變點分析,用于統(tǒng)計圖像的上下邊界
void Nearest_neighbor(u8 left,u8 right,u16 up,u16 down);
//最近鄰插值法將字符放縮到標(biāo)準(zhǔn)
void Nebour_GRAY_Image_draw();
//最近鄰插值圖像顯示
u8 Segmentation_Char(void);
//分割字符個數(shù)統(tǒng)計及左右邊界記錄
void Template_Cnstruction();
//創(chuàng)建模板行列跳變特征向量
void Template_Comparison_All();
//全像素點與模板進行比較
void Template_Comparison();
//與模板行列特征向量比較
void License_plate_display(u16 x,u16 num);
//顯示對比結(jié)果即最終輸出
-
芯片
+關(guān)注
關(guān)注
456文章
50936瀏覽量
424668
發(fā)布評論請先 登錄
相關(guān)推薦
評論