本設計STM32F103RBT單片機為主控,控制OV7670攝像頭(帶FIFO)進行圖像采集,通過模式識別、匹配獲得車牌的識別結果,并在顯示屏上顯示。為盡大可能的提高處理速度,所以對STM32單片機進行了16倍頻。識別主要過程包括圖像采集、二值化分析、識別車牌區域、字符分割、字符匹配五過程。在有需要的地方上面可以增加計時計費功能,以便對車輛進行實時有效的管理。減少車輛過多造成困擾,減少城市交通帶來的負擔,在交通違章方面起到監督的作用。
1、圖像采集
圖像通過OV7670攝像頭進行數據采集,采集的圖像大小為320*240像素,像素格式為RGB565。每個像素由兩字節組成,第一字節的高五位是R,第一字節的低三位和第二字節的高三位組成G,第二字節的低五位是B。圖像通過STM32單片機讀取,并將數據進行特殊處理后,顯示于TFT顯示屏上。
2、二值化分析
攝像頭的數據在采集過程中,對每個像素進行二值化處理,即設定R、G、B的閾值。通過二值化處理,將像素值分為全黑0x0000和全白0xffff兩種。同時通過程序分析出每行的跳變點。分析跳變點的目的是識別出車牌區域。
3、識別車牌區域
通過二值化分析出各行的跳變點,車牌區域處由于字符,導致跳變點明顯較多,約大于15個,通過跳變點的分析和判斷,即可識別出車牌區域位置。如下圖中左側紅色標記點,即為各行的跳變點數目。本系統程序中設定跳變點大于15個,在連續行存在多個跳變點大于15的位置處,將起始位置設定為車牌區域的上邊邊界Y_up,結束位置設定為車牌區域的下邊邊界Y_down。再通過RGB-HSV顏色轉換,識別出車牌區域的左邊邊界X_left和右邊邊界X-right。這樣既可獲取車牌區域的準確邊界,如下圖藍色邊框范圍。
4、字符分割
車牌區域識別后,再次通過二值化進行字符的分割處理。處理過程中,獲取各個字符的左邊邊界kk和右邊邊界k,若分割出來的字符數為8,則分割比較準確。如下圖所示,豎向藍線為各個字符的邊界標記。字符分割,為下一步字符匹配準備總要參數。
5、字符匹配
字符分割后,進行歸一化處理,再逐一對各個字符進行字符匹配。字符模板通過取模軟件先提取出,存放于程序中,其大小為24*50的單一像素。匹配后,將相似性最大值的對應字符作為輸出結果,并予以顯示。
因單片機容量有限,目前車牌識別的漢字只有6個:渝閩京浙陜粵。買家可以通過更改程序,更換其他的漢字。數字和字母是全部能識別。
電路原理圖
系統供電為DC5V ,接入STM32核心板5V引腳。STM32核心板上通過穩壓芯片AMS1117將5V變為3.3V電壓,并通過核心板引腳輸出。3.3V電壓為STM32芯片、攝像頭模塊、TFT彩屏的供電電壓。焊接電路時,將攝像頭模塊和TFT彩屏接至3.3V引腳,而不是5V引腳。
-
數據采集
+關注
關注
40文章
7000瀏覽量
115859 -
STM32
+關注
關注
2290文章
11018瀏覽量
362728 -
識別系統
+關注
關注
1文章
150瀏覽量
19067
原文標題:道路千萬條,方案這一條,帶你深入了解車牌號識別系統
文章出處:【微信號:cirmall,微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【FPGA參賽作品】車牌定位和識別系統
【TL6748 DSP申請】基于DSP的車牌識別系統
【TL6748 DSP申請】移動車牌號的識別與測速
智能停車場車牌自動識別系統特點
車牌識別PDA是什么?有什么作用?
請問stm32f103RBT能使用SDIO讀取SD卡嗎?
怎么實現基于STM32F103單片機的車牌識別圖像處理識別系統的設計?
賽靈思FPGA DIY系列(1):車牌號定位與識別系統
如何使用FPGA進行車牌識別系統的設計與實現?詳細資料免費下載

基于STM32單片機的車牌識別

調試心得——航順HK32F103RBT6單片機運行慢的問題

評論