我试图为学校项目实施高斯模糊。 我需要让CPU和GPU实现来比较性能。高斯模糊和FFT
我不太确定我是否理解高斯模糊是如何工作的。所以我的一个问题是 如果我已经正确地理解了它?
继承人我现在所做的: 我使用维基百科的公式http://en.wikipedia.org/wiki/Gaussian_blur来计算 该过滤器。 对于第2d我采取图像中的每个像素的RGB,并通过 乘以该像素的RGB和周围像素与相关的过滤器位置应用该过滤器。 然后将它们相加成为新的像素RGB值。 对于1d,我首先水平应用滤波器,然后进行滤波,如果我理解正确,应该给出 相同的结果。 此结果与应用2d过滤器时的结果完全相同吗?
我的另一个问题是关于如何优化算法。 我读过快速傅立叶变换适用于高斯模糊。 但我无法弄清楚如何与它联系。 有人能给我一个正确的方向提示吗?
谢谢。
当通过FFT使用快速卷积时,您可能需要将图像和内核填充到图像+内核的大小,否则最终可能会在边缘附近出现圆形环绕瑕疵。 – hotpaw2
可以避免的一种方法是将采样器寻址模式设置为“镜像”纹理。 – bluejamesbond