image-processing - 带FFT的高斯模糊

标签 image-processing fft blur gaussian

我试图使用FFT实现高斯模糊,并且可以在此处找到以下食谱。

This means that you can take the Fourier transform of the image and the filter, multiply the (complex) results, and then take the inverse Fourier transform.



我有一个内核K,一个7x7矩阵
以及图片I(512x512矩阵)。

我不知道如何将K乘以I。
通过使K等于I(512x512)来做到这一点的唯一方法吗?

最佳答案

是的,您确实需要通过用零填充来使K与我一样大。同样,在填充之后,但在进行内核FFT之前,您需要先进行环绕转换,以使内核中心(高斯峰)在(0,0)。否则,将过滤您过滤的图像。或者,您可以在完成后转换生成的过滤图像。

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

关于image-processing - 带FFT的高斯模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558462/

相关文章:

image-processing - 使用 libvips 重新缩放图像

android - 在fft中应用窗口功能的正确方法

python - 对图像应用滤镜,使它们看起来像是从更远的地方拍摄的

python - 遍历大量文件并保存数据图的最快/最有效的方法是什么?

c - FFT - 在 PCM 数据上应用窗口

javascript - JS/jQuery - 当用户点击 "Enter"时,blur() 不会触发?

android - React Navigation - 在 Blurview 中包装标题和选项卡导航器会丢失 Prop

image-processing - 将 EXR 图像序列转换为 .MOV

opencv - 如何通过OpenCV用序列图像制作视频

javascript - 可以使用 javascript 更改图像调色板吗?