【问题标题】:Matching Polygons匹配多边形
【发布时间】:2017-05-11 17:39:31
【问题描述】:

我正在做一个学校项目,我的目标是识别物体。我从拍照开始,应用各种滤镜并进行边界追踪。傅里叶描述符对我来说太高了,所以我开始从我的点列表中近似多边形。现在我必须匹配这些多边形,它们都具有相同数量的顶点并且所有站点都具有相同的长度。更具体地说,我有两个多边形,现在我必须计算一些相似度。这个过程必须是平移、旋转和尺度不变的。

  1. 我尝试以不同的方式转动和缩放一个并计算每对顶点之间的距离,但这很慢。

  2. 我尝试在一组向量中转动多边形,计算每个角的角度并进行比较。但这也有点慢。

  3. 我发现了一篇名为 Contour Analysis 的文章。但我觉得这有点困难。在本文中,首先将每个集合的所有向量都解释为复数,因此我们只有两个具有复数的向量。然后计算两个向量的余弦。但是余弦也是一个复数,如果两个向量相同,它的范数总是 1。那么将一组向量解释为一个向量有什么意义。我不明白这种做法。

还有其他方法可以比较两个多边形或向量集吗?或者有人可以解释我的第三次尝试还是用法线向量来做?

我希望有人可以帮助我:-)

【问题讨论】:

  • 发布您需要帮助的代码,我们会尽力提供帮助。
  • 我没有第三种解决方案的任何代码。在文章中,他有多个二维向量,每个向量都写成复数。但随后他将所有这些组合到一个 n 维向量中,其中每个化合物都是复数(前 2D 向量),然后他使用您可以在维基百科上找到的公式计算两个 n 维向量的余弦:en.wikipedia.org/wiki/Cosine_similarity .从中他没有像往常一样得到余弦值,而是一个复数,其中实部是余弦,范数是相似度的标量。但我不明白。

标签: c# geometry similarity polygons


【解决方案1】:

如果您的对象被很好地分离,您可以使用Hu's moments 来表征每个轮廓。

图像时刻的描述和基本数学相当简单,适合学校项目。

【讨论】:

  • 我认为这不是我想要的,但谢谢。
猜你喜欢
  • 2016-04-03
  • 2012-08-10
  • 2013-02-04
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 2017-06-25
  • 1970-01-01
相关资源
最近更新 更多