功能描述:
中值濾波:
對于中值濾波部分,我們只要修改之前我給你提供的代碼中的parameter,將像素大小修改為800*600即可。別的地方不變。
模版匹配:
在進(jìn)行模版匹配的時(shí)候,由于最后的doutput輸出這里參數(shù)設(shè)置了1600和1200,所以在模版匹配的時(shí)候,我們這里的延遲也設(shè)置了2*800,2*600,因此,在這里,我們將原來的模版匹配算法進(jìn)行略微的修改。原理的模版匹配是等中值濾波全部完成之后將數(shù)據(jù)保存起來,然后再通過地址讀取的方法獲得13*13的矩陣,但是這樣做,我在實(shí)際測試的時(shí)候,發(fā)現(xiàn)延遲非常嚴(yán)重。通常有幾幀的延遲,因此,這里我修改了一下模版匹配的算法。使其適合FPGA中運(yùn)行。
通過仔細(xì)測試驗(yàn)證可知,實(shí)際doutput輸出的圖像像素點(diǎn)坐標(biāo),兩行之間滿足如下關(guān)系:
當(dāng)前行x,y,那么對應(yīng)的下一行同一列位置的點(diǎn)的坐標(biāo)為:
x,y+2*800-512
即
x,y+1088。
那么我們在中值濾波得到結(jié)果之后,對其做行列延遲,同時(shí)得到169個并行的信號,同時(shí)和模版中的169個信號進(jìn)行運(yùn)算,這里,我們也不需要將169個數(shù)據(jù)保存到rom中,直接在程序中編寫,這樣就可以進(jìn)行并行的處理了,從而保證顯示的實(shí)時(shí)性。
但是,由于當(dāng)模版大的時(shí)候,所需要暫存的數(shù)據(jù)量也就越大,從而導(dǎo)致資源不夠,因此,為了方便,這里再不改變原理的情況下,我們在原來的基礎(chǔ)上,適當(dāng)了降低了模版大小,這里,我們所使用的模版大小為9*9,另外一方面,由于模版本身比較小,所以為了顯示效果明顯,這里的跟蹤框,我們使用大框來表示,這樣方便觀察。
(當(dāng)然,在理論上,模版越大,則跟蹤效果越好,但是所需要的資源也就越大,時(shí)序也就越復(fù)雜)
這里,由于我們的模版比較小,當(dāng)然13*13也是非常小的,相對于背景800*600而言,不管是13*13還是9*9都比較小,所以在測試的時(shí)候,環(huán)境中存在和模版類似的目標(biāo)的概率較高,從而會影響性能,因此,在測試的時(shí)候,建議將背景布置成單一顏色的背景,當(dāng)然,實(shí)際中,我們一般會采用體積達(dá)到至少背景1/15的作為模版的。但這需要更多的硬件資源以及更復(fù)雜的時(shí)序控制,在本硬件設(shè)備中,暫時(shí)不具備這個條件。這里不予考慮。
|