本系統以stm32f103rbt6微控制器為主控,控制ov7670攝像頭(帶fifo)進行影象採集,通過模式識別、匹配,最後獲得車牌的識別結果。為盡大可能的提高處理速度,stm32微控制器進行了16倍頻。識別主要過程包括影象採集、二值化分析、識別車牌區域、字元分割、字元匹配五過程。
影象採集
影象通過ov7670攝像頭進行資料採集,採集的影象大小為320*240畫素,畫素格式為rgb565。每個畫素由兩位元組組成,第一位元組的高五位是r,第一位元組的低三位和第二位元組的高三位組成g,第二位元組的低五位是b。影象通過stm32微控制器讀取,並將資料進行特殊處理後,顯示於tft顯示屏上。
二值化分析
攝像頭的資料在採集過程中,對每個畫素進行二值化處理,即設定r、g、b的閾值。通過二值化處理,將畫素值分為全黑0x0000和全白0xffff兩種。同時通過程式分析出每行的跳變點。分析跳變點的目的是識別出車牌區域。
識別車牌區域
通過二值化分析出各行的跳變點,車牌區域處由於字元,導致跳變點明顯較多,約大於15個,通過跳變點的分析和判斷,即可識別出車牌區域位置。本系統程式中設定跳變點大於15個,在連續行存在多個跳變點大於15的位置處,將起始位置設定為車牌區域的上邊邊界y_up,結束位置設定為車牌區域的下邊邊界y_down。再通過rgb-hsv顏色轉換,識別出車牌區域的左邊邊界x_left和右邊邊界x-right。這樣既可獲取車牌區域的準確邊界,如下圖藍色邊框範圍。
字元分割
車牌區域識別後,再次通過二值化進行字元的分割處理。處理過程中,獲取各個字元的左邊邊界kk和右邊邊界k,若分割出來的字元數為8,則分割比較準確。
字元匹配
字元分割後,進行歸一化處理,再逐一對各個字元進行字元匹配。字元模板通過取模軟體先提取出,存放於程式中,其大小為24*50的單一畫素。匹配後,將相似性最大值的對應字元作為輸出結果,並予以顯示。
基於STM32微控制器的車牌識別
使用stm32f103rct6作為主控,攝像頭使用ov7670 帶fifo stm32進行了16倍頻。識別過程分別為 影象採集,二值化,識別車牌區域,字元分割,字元匹配。通過ov7670攝像頭進行影象採集,採集的影象大小為320 240畫素,畫素格式為rgb565。每個畫素由兩位元組組成,第一位元組...
基於STM32的機器學習(手勢識別)
第一次寫部落格,希望能給研究微控制器ai的同仁乙個好的啟示。如有不當,多多指正。所用到的感測器是10g的雷達晶元,晶元出來的是中頻訊號,需要根據這些中頻訊號做手勢識別。微控制器模擬有無目標,當沒有目標時,微控制器模擬if輸出中頻訊號,雷達晶元輸出lo 本振訊號 混頻器的作用是將lo if rf。得到...
預熱2 什麼是STM32?認識STM32
1 什麼是stm32 stm32是由arm公司設計,意法半導體 st 公司生產的基於 arm cortex m 核心的32 位的mcu 系列。2 stm32能做什麼?stm32 屬於乙個微控制器,適用於控制類,自帶了各種常用通訊介面,比如 usart i2c spi 等,可接非常多的感測器,可以控制...