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