【问题标题】:compute the period of a texture image by FFT通过 FFT 计算纹理图像的周期
【发布时间】:2021-07-06 19:28:48
【问题描述】:

我有一个纹理图像,它有一些局部形状均匀或不均匀分布。我想通过 FFT 计算这些局部形状的周期。有人可以帮帮我吗?

这是图片:

FFT 后的幅度:

FFT 之后的阶段:

【问题讨论】:

  • 是的,我使用 matlab 进行了 FFT。但是,我没有任何想法,因为我对 FFT 的应用非常熟悉,除了数学公式。
  • 对不起,我没有明白你的想法。我附上了 FFT 之后的幅度和相位结果。如何获取局部形状的周期(例如,以像素为单位)?

标签: textures fft period


【解决方案1】:

量级是您所需要的。 FFT 中强烈的东西线是该方向重复的结果。事实上,当您查看实际纹理时,您会发现这些条带确实在重复。

与这些带正交的结构有限,从我们有 3 条均匀分布的东西线这一事实可以看出。

这 3 条线并不完全是东西线;它们顺时针旋转了大约 10 度。初始图像也是如此,其中波段也被旋转。纹理的周期由 3 条线之间的距离以及沿这些线的强度变化给出。

【讨论】:

  • 非常感谢您的友好回答,尽管我仍然不明白您的想法。在这里我有一些问题。 1)为什么“FFT 中强烈的东西线是该方向重复的结果”? 2) FFT 中的三个强东西线来自频带和与这些频带正交的两个有限结构? 3)为什么纹理的周期是由 3 条线之间的距离给出的? 4)为什么强度会沿着这些线变化? 5)有没有关于这些主题的书籍或论文或ppt或教程?我对这个域知之甚少。谢谢。
  • @Jie:这些都不是编程问题,所以这里跑题了。涉及傅立叶变换的书籍有数以千计,几乎所有书籍都能回答您的问题。
  • MSalters:您能否简要回答我的问题,尽管它们在这里是题外话?我会去读一些书来理解它。
【解决方案2】:

除了将数据减少为点集到角点的讨论之外,您还需要边缘或其他方法来做到这一点。

有一个边缘检测器,它使用傅立叶变换和单基因滤波器的原理在频域中运行,然后转换到空间域。

Peter Kovesi 关于相位一致性的工作是可用的 http://www.peterkovesi.com/matlabfns/PhaseCongruency/phasecongmono.m

代码生成相位角图像,可与细化的相位一致性图像一起使用以查找边缘。

如果您将参数设置为允许更多“噪声”,则也会拾取较小的纹理。

注意:我正在尝试合并我在下一个 cmets 中添加的信息以及作为单独答案添加的信息,这两者都应该是其中的一部分 所以会有一些冗余:

如果您对 FFT 感到困惑,可以将它们作为一维信号阅读,以了解空间域和频域。然后,您可能会对诸如相位一致性等主题感兴趣,这些主题试图查看信号的频率以设计在空间域上运行的频域滤波器。关于您的纹理问题,我认为将其减少到角落等关键点会将信息减少为重要的空间信息。我最近使用相位一致性在我的建筑物图像中找到“噪声”,然后从中制作屋顶纹理的代表性补丁,然后从中制作频域滤波器并将其应用于空间域图像。在空间域中应用颜色和强度过滤器,然后可以在整个图像中很好地发现屋顶纹理……因此,稀疏重要点的 FFT 可能对您回答问题更有帮助。

【讨论】:

  • 我使用新答案的 stackover 流结构添加到此,而不是添加到此,所以以防万一他们分开,这里是点的浓缩......
【解决方案3】:

傅立叶或快速傅立叶变换是间距模式的叠加。您的图像的每个像素都有一个点,这会导致 FFT 中许多信号的叠加。您可能希望将图像缩小到角落或交叉点,然后制作这些点的 FFT 图像。例如,从简单网格的图像制作 FFT 点数(除您的值 > 0 的点外全为零)。 您可以看到通过 FFT 图像的水平切片的垂直切片将显示原始图像中存在的间距分量。您可以旋转点网格以查看 FFT 多快变成更复杂的叠加。

【讨论】:

  • 您可能应该确保在制作 2D FFT 图像之前将点集校正到相同的参考框架方向。然后选择最能代表您的模式的切片(例如,可能水平的最大振幅和垂直的相同)。将一个数据集的频率曲线与另一个数据集进行比较就是将模型与数据进行比较,因此卡方最小化是一种技术。您可以为您的目标选择 FFT 以外的其他方法...
猜你喜欢
  • 1970-01-01
  • 2018-07-10
  • 2014-07-27
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 2023-04-09
相关资源
最近更新 更多