ZV1*_*ZV1 6 fft image-processing convolution fftw
我正在尝试使用FFTW进行图像卷积.
首先,为了测试系统是否正常工作,我执行了fft,然后执行了反向fft,并且可以获得返回的完全相同的图像.
然后向前迈出一小步,我使用了身份内核(即内核[0] [0] = 1,而所有其他组件都等于0).我在图像和内核之间(都在频域中)采用了分量方面的产品,然后进行了反向fft.从理论上讲,我应该能够得到相同的图像.但我得到的结果甚至都不接近原始图像.我怀疑这与我将内核置于频域之前的内核有关(因为我将"1"置于内核[0] [0],它基本上意味着我将正面部分置于顶部剩下).谁能告诉我这里出了什么问题?
我认为您对 Identity 内核的理解可能有所偏差。Identity 内核的 1 应该位于 2D 内核的中心,而不是 0, 0 位置。
以 3 x 3 为例,您的设置如下:
1, 0, 0
0, 0, 0
0, 0, 0
Run Code Online (Sandbox Code Playgroud)
它应该是
0, 0, 0
0, 1, 0
0, 0, 0
Run Code Online (Sandbox Code Playgroud)
也看看这个
另请参阅第 3 页底部的此处。
http://www.fmwconcepts.com/imagemagick/digital_image_filtering.pdf