【问题标题】:What are the prerequisite to understand Fourier Descriptor program in matlab?在matlab中理解傅里叶描述符程序的前提是什么?
【发布时间】:2014-10-28 09:57:03
【问题描述】:

我是数字图像处理的新手,必须模拟一个仿射不变的傅里叶描述符程序,我想知道能够理解这个程序所需的先决条件,我的参考是 Gonzalez 的使用 MATLAB 进行数字图像处理,我在这个网站上看到了一个关于相同程序的问题,但无法理解该程序以及解决方案,问题是:

“我正在使用 Gonzalez frdescp 函数来获取边界的傅立叶描述符。我使用这段代码,我得到了两组完全不同的数字,描述了两个相同但不同的比例形状。

那么有什么问题吗?”

可以帮助我了解理解该程序的先决条件并进一步帮助我吗?

【问题讨论】:

  • 我想知道我应该在哪里崩溃材料。你知道傅立叶级数吗?
  • 是的傅里叶级数我知道,也知道快速傅里叶变换 (FFT),并且对傅里叶描述符和一些 MATLAB 的理论有基本的了解
  • 如果您了解傅里叶描述符的理论,您的问题究竟是什么?
  • 好的,让我给你书中的程序和他们的答案,我很困惑,Gonalez 和 VitoShadow 作为解决方案给出的程序(链接stackoverflow.com/questions/9967527/…)说“我假设边界是 N x 2 矩阵”我无法理解这一点,我知道傅立叶描述符的理论,但无法连接 FFT 和傅立叶描述符之间的点,进一步这个程序我给出的链接是我不清楚,我有模拟工作要做傅里叶描述符?我希望你能解决我的问题。
  • 我想我知道你在找什么了。给我一些时间写吧。

标签: matlab fft fourier-descriptors


【解决方案1】:

让我试一试,因为我将不得不使用英语而不是数学符号。首先,这是frdescp 显示的here 的文档。 frdescp 接受一个参数,它是一个 n × 2 的数字矩阵。这些数字是什么?这需要对傅里叶描述符的数学基础有所了解。在计算傅立叶描述符之前,假设是您有对象的轮廓,并且在该轮廓上有一些点。例如,这张图片中显示了一个轮廓:

你看到图片中的那条黑线了吗?在那里,您将选择从轮廓顺时针方向排列的点列表。我们称这个向量 {(x_1, y_1), (x_2,y_2),... ,(x_n,y_n)}。现在我们有了这些点,我们准备计算这个轮廓的傅里叶描述符。在这个 Matlab 函数中实现的复数傅里叶描述符要求数字在复数域中。因此,您必须将列表中的数字转换为复数,这很容易,因为您可以将 2D (x,y) 中的实数元组转换为复平面中的 x + iy。但是,该函数已经为您执行此操作。但是现在您知道 n x 2 矩阵的用途了,它只是轮廓上的 xs 和 ys 列表。完成此操作后,matlab 函数采用离散傅里叶变换并获得描述符。这种描述符业务的好处是它在某些几何变换(如平移、旋转和缩放)下是不变的。我希望这会有所帮助。

【讨论】:

  • 它解决了我的问题,我可以请求您帮助我了解一些关于实现仿射不变傅里叶描述符的材料吗?我对它的理论概念很弱,需要实现它(为此我需要 FD)。无论如何,非常感谢:)
  • @Ankit 没问题。如果这是非常具体的事情,那么我可以在这里为您提供帮助。否则,如果它需要与这篇文章一样多的解释,那么我建议您发布另一个问题。
  • 我已经写了另一个同样的问题,请您检查并告诉您是否可以提供帮助? stackoverflow.com/questions/26814588/…
  • @Ankit 我今天晚些时候会阅读它,如果没有其他人回复,我会在周末结束之前尝试回复。抱歉有点忙。
  • 没问题 :),慢慢来
猜你喜欢
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 2012-11-28
  • 2010-10-11
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多