我目前正在編寫一個程序來跟蹤在一個小房間中運行的飛行,我想要的是飛行中心的XY座標。 爲此,我首先用高斯濾波器使用fspecial('gaussian',[30 30],100)
和imfilter
對每個幀進行濾波,以獲得蒼蠅所在的白色「雲」。我需要這個來減少飛行中心的噪音。 我使用具有一定閾值的im2bw
將結果轉換爲二進制圖像,以從上述雲中獲取白色斑點。 爲了獲得座標,我使用regionprops
來找到白色斑點的質心。 它已經可以正常工作,但它需要很長時間 - 30分鐘的視頻需要大約6小時;但幀速率爲100 fps。(Matlab)在二進制圖像上使用imfilter進行高斯濾波的性能
我已經發現高斯濾波佔用了大部分時間 - 我可以調整這個過程嗎? 我讀了約conv2
,據說這是更快,但它不適用於二進製圖像,是嗎?並將我的二進制圖像轉換爲單或雙混淆它們。
我已經在其他級別上調試過代碼的性能,比如調整搜索窗口等等,所以過濾就是我所能評估的。
在此先感謝
以下是一個示例圖片: http://i.imgur.com/ 7YlMKpz.png 這是雙(圖片)所做的: http://i.imgur.com/7kctYTs.png – user3459888
您的第一張圖像對我來說不是二元的,更像是灰度。 –
@ user3459888您在第二幅圖像中看到的是範圍轉換突出顯示的噪音。它也存在於你的原始圖像中。使用閾值來擺脫它(請參閱我的編輯)。 –