FFT的高斯模糊

Pau*_*aul 9 fft image-processing gaussian blur

我试图使用FFT实现高斯模糊,可以在这里找到以下配方.

这意味着您可以对图像和滤波器进行傅里叶变换,将(复数)结果相乘,然后进行逆傅立叶变换.

我有一个内核K,一个7x7矩阵和一个Image I,一个512x512矩阵.

我不明白如何将K乘以I.唯一的方法是通过使K与我一样大(512x512)?

Dim*_*ima 16

是的,你需要通过用零填充来使K与我一样大.此外,在填充之后,但在采用内核的FFT之前,需要使用环绕转换它,使得内核的中心(高斯的峰值)处于(0,0).否则,您的过滤图像将被翻译.或者,您可以在完成后翻译生成的过滤图像.

另一点:对于不使用FFT的小内核实际上可能更快.2D高斯内核是可分离的,这意味着您可以将其分为x和y的两个1D内核.然后,您可以在空间域中的x和y方向上进行两次1D卷积,而不是2D卷积.对于较小的内核,可能最终比使用FFT在频域中进行卷积更快.