1

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

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

那么有什么问题吗?”

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

4

1 回答 1

1

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

车

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

于 2014-10-28T01:09:01.297 回答