2010-07-06 48 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