我很好奇OpenCV功能描述符是如何比较的。例如,我可以使用cvExtractSURF()获取功能及其64位(或128位)描述符的列表,在哪里可以找到如何比较两个描述符?
通过一些示例代码,在我看来,我的两个“匹配”功能具有非常不同的描述符(至少通过数值)。
有人想过如何获取两个描述符数组并对它们进行比较吗?
谷歌搜索帮不了太多忙。
干杯,布雷特
发布于 2010-11-19 00:33:33
在OpenCV 2.1示例文件find_obj.cpp中,提供了两种方法:
Flann内置的flann函数(flann给出了近似的解决方案,工作速度更快),我不知道它是如何工作的,但它是有文档记录的here.
获得
发布于 2010-11-13 05:49:34
你可能想看看纸质的Local invariant feature detectors: a survey。这是一篇很棒的论文,描述了广泛使用的特征检测器,包括SURF。
发布于 2012-02-27 03:01:02
我发现的一个有效方法(这是受一些OpenCV示例代码的启发)是-使用k近邻搜索和K=2,为查询对象中的每个描述符查找2个匹配项。现在,如果距离(第一场比赛)小于0.6*距离(第二场比赛),则认为第一场比赛是“良好的比赛”。
为什么你需要这样做,为什么简单的1个最近邻居搜索不能满足需要,是因为这会产生很多误报。
https://stackoverflow.com/questions/4169302
复制相似问题