2010-08-24 116 views
8

即時通訊嘗試使用FFT實現高斯模糊,並可以在這裏找到以下配方。高斯模糊與FFT

這意味着你可以採取 傅立葉變換的圖像和 濾波器,乘以(複數) 結果,然後把逆 傅立葉變換。

我有一個內核K,一個7x7矩陣 和一個圖像I,一個512x512矩陣。

我不明白如何將K乘以I. 通過使K與I(512x512)一樣大是唯一的方法嗎?

回答

15

是的,你需要通過填充零來使K和我一樣大。另外,在填充之後,但在對內核執行FFT之前,需要將其轉換爲環繞形式,以使內核的中心(高斯峯)處於(0,0)處。否則,您的過濾圖像將被翻譯。或者,您可以在完成後翻譯結果過濾的圖像。另一點:對於不使用FFT的小內核實際上可能會更快。二維高斯內核是可分離的,這意味着你可以將它分成兩個一維的內核,分別用於x和y。然後,您可以在空間域的x和y方向上進行兩次一維卷積,而不是二維卷積。對於較小的內核來說,它可能比使用FFT進行頻域卷積更快。

2

如果您習慣使用像素着色器,如果FFT是不是你的主要目標在這裏,但卷積高斯模糊內核, - 然後我可以推薦我的教程on what convolution is

問候。