2010-07-06 83 views
1

我使用openCV Surf追踪器来查找两个图像中的精确点。如您所知,Surf会在两张图片中返回许多特征点。我想要做的是使用这些功能参数来找出哪些匹配是完全正确的(真正的正匹配)。在我的申请中,我只需要真正的正面匹配。在openCV中查找SURF的完全匹配

这些参数存在:黑森州拉普拉斯距离大小迪尔

我不知道如何使用这些参数? 是完全匹配有更少的距离还是更粗麻布?拉普拉斯可以提供帮助吗?大小或目录可以帮助吗?

我如何找到完全匹配(真正的正面)?

回答

0

我即将发布的答案仅仅是我的猜测,因为我没有测试过它是否完全按预期工作。 通过比较由opencv返回的3个随机候选特征点之间的相对极距,并将其与模板中的对应点进行比较(有一定的误差),您不仅可以计算真正正确率的概率,还可以计算角度和您的匹配模式的规模。

干杯!

1

很明显,你不能100%确定哪些点真正匹配。您可以通过调整SURF参数来增加(在性能成本中)正数(请参阅一些链接here)。根据您的实际任务,您可以使用强大的算法来消除异常值,即如果执行某种模型拟合,则为RANSAC。另外,如Erfan所说,您可以使用空间信息(查看“弹性束图匹配”和Spatial BoW)。

+0

我找不到文章,你能指点点吗? – 2013-12-08 08:43:11

+0

查看“Elastic Bunch Graph Matching”和[Spatial BoW](http://en.wikipedia.org/wiki/Bag-of-words_model_in_computer_vision#Limitations_and_recent_developments)。 – Cfr 2014-01-16 21:37:42

2

您可以采取以下策略找到查询描述符和图像之间非常体面的比赛 -

使用2 NN搜索图像描述符中查询描述符和以下条件 -

如果距离(第一场比赛)< 0.6 *距离(第二场比赛)第一场比赛是“良好的比赛”。

过滤掉误报。

+0

这称为比率测试,看起来比普通的<= 3 * min_dist更好。 – 2013-12-08 08:42:27