STM32識別車牌

2021-10-24 06:04:13 字數 1124 閱讀 4752

本系統以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 等,可接非常多的感測器,可以控制...