姓名:方瑞敏织鲸;學(xué)號(hào):20021210923楼眷;學(xué)院:電子工程學(xué)院
轉(zhuǎn)自
https://mp.weixin.qq.com/s/914-OD_8OYV8znMMo_-VDw
【嵌牛導(dǎo)讀】本文介紹了運(yùn)動(dòng)目標(biāo)檢測(cè)系統(tǒng)的設(shè)計(jì)
【嵌牛鼻子】FPGA裁良,圖像處理算法
【嵌牛提問】如何用FPGA實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè)?
【嵌牛正文】
系統(tǒng)整體設(shè)計(jì)方案
本系統(tǒng)將硬件控制器設(shè)計(jì)隙赁,圖像處理算法設(shè)計(jì)兩大部分有機(jī)地進(jìn)行結(jié)合使之能夠完成運(yùn)動(dòng)目標(biāo)檢測(cè)杖狼。在圖像存入SDRAM前需要將圖像格式由RGB轉(zhuǎn)換為YCbCr澡屡。運(yùn)動(dòng)目標(biāo)檢測(cè)實(shí)現(xiàn)系統(tǒng)整體框架如圖所示。
圖像處理算法及硬件驅(qū)動(dòng)
在SDRAM中存儲(chǔ)兩幀相鄰灰度圖像的數(shù)據(jù)咐旧,使用VGA驅(qū)動(dòng)程序?qū)蓭瑪?shù)據(jù)同時(shí)從SDRAM中取出驶鹉。使用中值濾波算法將兩幀數(shù)據(jù)分別進(jìn)行濾波平滑噪聲,對(duì)圖像信息進(jìn)行差分铣墨。差分后的二值化像素群使用膨脹算法拓展邊界室埋,穩(wěn)定檢測(cè)效果,通過最小包圍盒模塊確定二值化圖像邊界伊约,畫出包圍盒方框姚淆。將方框疊加在原圖像上并輸出即可完成對(duì)運(yùn)動(dòng)目標(biāo)的檢測(cè)。
幀間差分法的核心是對(duì)兩幀相鄰圖像進(jìn)行存儲(chǔ)屡律,根據(jù)數(shù)據(jù)存儲(chǔ)的位置大致可以分為三類腌逢,第一類是上一幀圖像與下一幀圖像分別位于兩段不同的存儲(chǔ)空間中。第二類是將兩幀圖像數(shù)據(jù)交叉存儲(chǔ)于同一段存儲(chǔ)空間中超埋。第三類是將兩幀圖像存儲(chǔ)于同一存儲(chǔ)空間的高低位上如圖所示搏讶。
與前兩種存儲(chǔ)方式相比,將兩幀圖像數(shù)據(jù)存儲(chǔ)于同一地址存儲(chǔ)空間中取出時(shí)序更加簡(jiǎn)單霍殴。兩幀圖像在取出時(shí)擁有相同的行場(chǎng)同步信號(hào)時(shí)序媒惕,數(shù)據(jù)也自然對(duì)齊,有利于后續(xù)圖像算法的進(jìn)行来庭。
一般地吓笙,對(duì)于同一地址空間寫入兩次數(shù)據(jù),第一次寫入的數(shù)據(jù)將會(huì)被第二次的數(shù)據(jù)覆蓋巾腕。為了解決這個(gè)問題面睛,一般的存儲(chǔ)器都會(huì)提供數(shù)據(jù)掩碼功能。通過掩碼屏蔽特定位置的數(shù)據(jù)寫入便可防止數(shù)據(jù)覆蓋尊搬。SDRAM提供了數(shù)據(jù)掩碼引腳DQM[1:0]叁鉴,DQM真值表如表所示,當(dāng)DQML引腳為高電平時(shí)屏蔽低字節(jié)數(shù)據(jù)的寫佛寿,當(dāng)DQMH為高電平時(shí)屏蔽高字節(jié)數(shù)據(jù)的寫入幌墓。
本設(shè)計(jì)使用的SDRAM芯片存儲(chǔ)數(shù)據(jù)位寬為16比特。而從攝像頭采集的RGB565格式數(shù)據(jù)為16比特冀泻,SDRAM不能同時(shí)將兩幀RGB圖像存儲(chǔ)常侣。因此在存入SDRAM前先將RGB格式轉(zhuǎn)換為YCbCr格式并提取亮度分量作為灰度圖像,這時(shí)圖像數(shù)據(jù)的位寬為8比特可以將兩幀圖像存于SDRAM高低位中弹渔。對(duì)于圖像數(shù)據(jù)此時(shí)應(yīng)該存放于高位還是低位可以通過對(duì)圖像場(chǎng)同步信號(hào)的監(jiān)測(cè)來實(shí)現(xiàn)胳施。當(dāng)檢測(cè)到場(chǎng)同步信號(hào)的下降沿時(shí)說明本幀顯示結(jié)束即將開始下一幀顯示。因此可以使用幀標(biāo)志信號(hào)肢专,每一幀畫面結(jié)束時(shí)對(duì)幀標(biāo)志信號(hào)進(jìn)行翻轉(zhuǎn)舞肆。通過幀標(biāo)志信號(hào)就能夠準(zhǔn)確的計(jì)算本幀數(shù)據(jù)存放在低位還是高位焦辅。SDRAM掩碼及幀標(biāo)志控制關(guān)系如表所示。
基于灰度的幀間差分法
幀間差分法是通過兩幀相鄰圖像間做差并選取合適的閾值對(duì)圖像進(jìn)行二值化從而選取出運(yùn)動(dòng)的物體椿胯,算法流程筷登,f(x, y)為灰度差分圖像,D(x, y)為幀間差分圖像哩盲,gk(x, y)前方、gk-1(x, y)為相鄰兩幀灰度圖像,差分閾值為T廉油。
將兩幀相鄰圖像對(duì)應(yīng)像素進(jìn)行差分并取絕對(duì)值獲得灰度差分圖像镣丑,將灰度差分圖像與預(yù)設(shè)閾值作比較,將大于閾值的像素劃分為運(yùn)動(dòng)物體娱两。基于灰度的幀間差分法Matlab仿真如圖所示金吗。