离散傅里叶变换的零频率居中

信息处理 图像处理 傅里叶变换
2021-12-20 09:07:54

我正在开发一个图像处理应用程序,它使用离散傅立叶变换来实现模糊/锐化。该应用程序或多或少可以正常工作,但是有关机制的某些内容仍然让我感到困惑。

特别是,它是如何完成使零频率居中的过程。

我看到的示例通过将输入图像(灰度强度)乘以大小等于输入图像的矩阵来预处理输入图像,其值为(1)x+y, 在哪里x是行,y是列,所以模式交替11

根据注释,这相当于通过翻转矩阵来交换矩阵的象限xy轴。

我理解为什么要这样做,并且我想强调我知道我的代码/傅立叶工作正常,我只是不明白为什么将输入矩阵乘以 1/-1 最终会使零频率分量集中在 0 附近。

谢谢

2个回答

哦!多么酷的把戏!它之所以起作用,是因为卷积定理(即,空间/时间域中的乘法等同于频域中的卷积。)

它没有翻转xy轴,它正在旋转傅里叶变换的图像(想想在圆柱体周围移动一半)。这里的技巧是在空间域中交替 -1,1 是具有最高频率的信号。所以该图像的傅里叶变换是频域中的一个点。对单个点进行卷积相当于将图像从零频率偏移(旋转)了点。

这是一个测试图像: 测试图像它的傅里叶变换看起来像:测试图像的傅里叶变换

如果对交替图像 ( 棋盘图像) 进行傅里叶变换,它会在傅里叶变换的中心产生一个点:在此处输入图像描述(回想一下,我们还没有完成旋转,所以傅立叶变换的中心是高频,而低频仍然在拐角处。)但这是“旋转内核”!与这个旋转内核进行卷积将所有内容向下和向右移动(但从右下角掉落的东西会旋转到左上角。)

将原始图像与旋转核(在图像域中)卷积图像进行卷积得到: ,而将傅里叶变换图像与旋转核(在频域中)进行卷积得到:旋转傅立叶变换

我们可以检查将 testimage 与图像域中的棋盘相乘得到乘法图像,它的傅里叶变换为:再次旋转傅立叶变换

Wandering Logic 的回答是正确而详细的。只是以为你想看一些数学而不是图片:

如果您查看 1D 案例,您将输入乘以(1)k=ejω频率在哪里ω恰好是2π(k/2). 即,乘法将信号的频谱移动了采样频率的一半。

效果是零频率 - 之前在索引 0 处 - 现在是图像宽度(或高度,取决于您是乘以列还是行)的一半。