使用傅里叶功率谱的主导方向

信息处理 图像处理 傅里叶变换
2022-02-14 20:49:57

我一直在使用傅立叶变换功率谱来估计某些图像中的主要方向。

但是,我现在正在处理尺寸为 8X8 像素的极小图像,我发现即使在这个级别上,关于图像的主要方向也有一些结果。由于图像尺寸为 8X8,因此总像素数为 64,如下图所示,角度数会减少。

我只是简单地完成了图像的傅里叶变换功率谱的极坐标转换,该图像将具有相同的大小(8X8),然后我对每个角度的强度求和并将它们与角度作图。

具有坐标和角度信息的图像。

现在,从图中我可以找到最大角度,但我想提高结果的准确性。我会首先找到图像(医学图像)的主导方向,然后我会找到疾病状态的变化。

非常感谢你的帮助。

2个回答
  1. 从 8x8 图像中减去其像素的平均值,这不应影响主要方向。这将在下一步中移除由于窗口化而产生的伪影。
  2. 使用圆对称窗口函数对图像进行窗口化,消除与图像轴对齐的伪影。确保您选择了一个足够平滑的窗口函数,可以在没有频域混叠的情况下使用 8x8 网格进行采样。
  3. 用零将图像填充到 32x32 以增加图像大小,从而增加离散傅里叶变换 (DFT) 分辨率。这使得 DFT 结果更平滑,因此更容易插值。
  4. 为每个角度计算 DFT 结果的平方幅度在与该角度对应的直线上的积分。必须平等对待所有角度;使用相同长度的线。如果在 DFT 的轴对齐分辨率下通过点样本的总和来近似积分,则 4x4 分段双三次多项式插值就足够了。

如果你想使计算更快,你可以利用积分将作为角度的函数非常平滑地变化,所以你可以首先以至少以找到最高峰可能在哪里,然后围绕该角度进行更精细的采样。atan(1/8)×360°/(2π)7°

您需要注意的几件事:

  • 边界:要么使用平滑函数对图像进行窗口化,要么尝试任何消除边界不连续性的变换(例如,周期性 + 平滑http://www.math-info.univ-paris5.fr/~moisan/p+s/
  • 角度:您在某些方向(例如 0° 45° 等)比其他方向(例如 10°)有更多的点。因此,对于每个方向,您需要重新归一化总和,以确保您不喜欢有很多点的方向——取平均值而不是总和,或者插值并始终采用相同数量的样本。
  • 范数:傅里叶变换是一个酉变换,即它保留了 L_2 范数,而不是 L_1 范数。尽管它们是相关的,但我建议您将系数模的平方相加。