2014-01-28 27 views
3

我試圖找到兩個圖像描述符之間的配對匹配,以便我可以估計它們之間的單應性。還有其他方法,如BFMatcherFlannBasedMatcher,但我想使用BestOf2NearestMatcher。我已經使用的語法如下:如何使用BestOf2NearestMatcher

vector<MatchesInfo> pairwise_matches; 
detail::BestOf2NearestMatcher matcher(false,0.3,10,10); 
matcher(features,pairwise_matches); 
matcher.collectGarbage(); 

我面臨的一個問題,因爲pairwise_matches不包含匹配和不正常值。我懷疑matcher有一些問題。如果我執行BFMatcherFlannBasedMatcher,那麼我得到46場比賽。有人使用過這種方法嗎?

關於BestOf2NearestMatcher的更多信息可以查到here

回答

1

BestOf2NearestMatcher是SIFT論文中描述的Lowe的第二最近鄰比率標準的實現,其中他推薦使用比率= 0.8。 SURFs也是如此。有時甚至是0.85。 0.3的值太過於嚴格。

+0

OpenCV有一個圖像拼接演示,其中0.65用於SIFT描述符,0.3用於ORB描述符。 –

+0

OpenCV提供了一個單引號評估的演示,用於選擇與Lowe的論文相矛盾的「好匹配」的白癡策略。所以「OpenCV有一個演示」不是論點:) 但0.65可以是平方比率的閾值:0.8^2 = 0.64。 –

+0

我只是說0.3對ORB描述符來說顯然不是太嚴格。 –