gpt4 book ai didi

image-processing - 高斯模糊和 FFT

转载 作者:行者123 更新时间:2023-12-05 00:02:37 26 4
gpt4 key购买 nike

我正在尝试为学校项目实现高斯模糊。
我需要同时使用 CPU 和 GPU 实现来比较性能。

我不太确定我了解高斯模糊的工作原理。所以我的问题之一是
如果我理解正确?

这是我现在所做的:
我使用维基百科中的方程 http://en.wikipedia.org/wiki/Gaussian_blur计算
过滤器。
对于 2d,我采用图像中每个像素的 RGB 并将过滤器应用于它
将像素和周围像素的 RGB 与关联的过滤器位置相乘。
然后将这些相加为新的像素 RGB 值。
对于 1d,我首先水平应用过滤器,然后应用过滤器,这应该给出
如果我理解正确,结果相同。
这个结果与应用 2d 过滤器时的结果完全相同吗?

我的另一个问题是关于如何优化算法。
我读过快速傅立叶变换适用于高斯模糊。
但我无法弄清楚如何关联它。
有人可以给我一个正确方向的提示吗?

谢谢。

最佳答案

是的,二维高斯核是 separable所以你可以将它应用为两个一维内核。请注意,您不能“就地”应用这些操作 - 您至少需要一个临时缓冲区来存储第一个一维传递的结果。

当您拥有大内核时,基于 FFT 的卷积是一种有用的优化 - 这适用于任何类型的滤波器,而不仅仅是高斯滤波器。 “大”有多大取决于您的架构,但您可能不想担心使用基于 FFT 的方法来处理比 49x49 内核更小的任何东西。一般的做法是:

  • FFT 图像
  • FFT 内核,填充到图像的大小
  • 在频域中将两者相乘(相当于空间域中的卷积)
  • IFFT(逆 FFT)结果

  • 请注意,如果您将相同的过滤器应用于多个图像,那么您只需要对填充的内核进行一次 FFT。尽管如此,您仍然至少有两个 FFT 来执行每个图像(一个正向和一个反向),这就是为什么这种技术只会成为大型内核的计算优势。

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

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com