首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV - SURF功能比较

OpenCV - SURF功能比较
EN

Stack Overflow用户
提问于 2010-11-13 05:43:08
回答 4查看 8.4K关注 0票数 9

我很好奇OpenCV功能描述符是如何比较的。例如,我可以使用cvExtractSURF()获取功能及其64位(或128位)描述符的列表,在哪里可以找到如何比较两个描述符?

通过一些示例代码,在我看来,我的两个“匹配”功能具有非常不同的描述符(至少通过数值)。

有人想过如何获取两个描述符数组并对它们进行比较吗?

谷歌搜索帮不了太多忙。

干杯,布雷特

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-19 00:33:33

在OpenCV 2.1示例文件find_obj.cpp中,提供了两种方法:

Flann内置的flann函数(flann给出了近似的解决方案,工作速度更快),我不知道它是如何工作的,但它是有文档记录的here.

  • a
  • C函数(findPairs()),它通过计算描述符之间的简单欧几里得距离来找到最近的邻居(看看compareSURFDescriptors()函数)。拉普拉斯也可以用作相似性的第一个指示器,因为匹配点不具有相同的拉普拉斯(1或-1)。此示例可从here.

获得

票数 3
EN

Stack Overflow用户

发布于 2010-11-13 05:49:34

你可能想看看纸质的Local invariant feature detectors: a survey。这是一篇很棒的论文,描述了广泛使用的特征检测器,包括SURF。

票数 7
EN

Stack Overflow用户

发布于 2012-02-27 03:01:02

我发现的一个有效方法(这是受一些OpenCV示例代码的启发)是-使用k近邻搜索和K=2,为查询对象中的每个描述符查找2个匹配项。现在,如果距离(第一场比赛)小于0.6*距离(第二场比赛),则认为第一场比赛是“良好的比赛”。

为什么你需要这样做,为什么简单的1个最近邻居搜索不能满足需要,是因为这会产生很多误报。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4169302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档