C fftw的卷积尺度
我已经用ANSIC编写了一个简单的程序,用FFTW(使用r2c和c2r计划)卷积两个真实的2D数组。一切(除了我对天平的理解)都很好,输出看起来很好 问题是,我对如何缩放两个数组有点困惑,因此在处理C fftw的卷积尺度,c,image,fftw,C,Image,Fftw,我已经用ANSIC编写了一个简单的程序,用FFTW(使用r2c和c2r计划)卷积两个真实的2D数组。一切(除了我对天平的理解)都很好,输出看起来很好 问题是,我对如何缩放两个数组有点困惑,因此在处理IDFT[DFT(a)DFT(B)](DFT:离散傅里叶变换。I:逆)之后,最终结果的缩放是正确的。假设图像A是宽度A像素的平方,卷积核是b像素。然后,我创建两个宽度为p=a+b的填充方形阵列,将a和b图像放在其中并进行卷积 将最终输出中的所有像素与1/p^2相乘是否正确?提前感谢。因为您想得到答案:
IDFT[DFT(a)DFT(B)]
(DFT
:离散傅里叶变换。I
:逆)之后,最终结果的缩放是正确的。假设图像A是宽度A
像素的平方,卷积核是b
像素。然后,我创建两个宽度为p=a+b
的填充方形阵列,将a
和b
图像放在其中并进行卷积
将最终输出中的所有像素与
1/p^2
相乘是否正确?提前感谢。因为您想得到答案:
(我认为网址已经足够明确了)
一般来说,我觉得FFTW的文档非常有用,但是它包含了一些您需要知道的小细节。
例如,在关闭程序之前,应该调用
fftw\u cleanup()
,以防止内存泄漏。因为您需要它作为答案:
(我认为网址已经足够明确了)
一般来说,我觉得FFTW的文档非常有用,但是它包含了一些您需要知道的小细节。
例如,在关闭程序之前,应该调用
fftw\u cleanup()
以防止内存泄漏。也许这个页面可以帮助您!谢谢,我明白了,我的猜测是正确的。我只是不确定这是否适用于只使用一半DFT的r2c和c2r例程。但你链接的文章给出了确切的答案。你能不能把它作为一个答案,这样我就可以接受了?再次感谢你。也许这个页面可以帮助你!谢谢,我明白了,我的猜测是正确的。我只是不确定这是否适用于只使用一半DFT的r2c和c2r例程。但你链接的文章给出了确切的答案。你能不能把它作为一个答案,这样我就可以接受了?再次感谢你。