2013-04-16 58 views
0

我是計算機視覺的初學者 我使用OpenCV提出的算法http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html來計算相同環境的兩個場景之間的一些匹配點(鳥瞰圖在拍攝圖像的相機的旋轉翻譯之後)。 攝像機和環境都是模擬的(所以沒有亮度變化,沒有失真等) 顯然幀速率足夠高,以使圖像大部分重疊。 之後,我必須使用這一點來計算仿射變換矩陣,它描述了相機所做的移動(圖像拍攝的高度不隨時間變化)。 所以我需要,對於每一對圖像,至少有兩個匹配點.. 我的問題是,經常匹配點少於3 .. 是否存在一些健全的方法,更適合我的海豚? 謝謝OpenCV - FLANN算法沒有獲得足夠的匹配點

+0

您是否在使用您鏈接的代碼?它應該是強大的(至少它應該在你描述的情況下工作)。 – JonesV

+0

是的,完全一樣。從匹配總是精確的意義上說,它是強大的,但奇怪的是,即使圖像只有很少的運動,只有少數像素髮生變化(不超過10個比方說),匹配是非常少的! – Matteo

+0

過濾前有多少個匹配(用'// - 只畫出「好」匹配「評論)?沒有相機移動的 – JonesV

回答

0

我相信在你給的例子中實現的過濾是相當幼稚的。假設你得到了一個真正高分的比賽(描述符之間的距離爲w.r.),那麼min_dist確實很小,可能會篩選出好的比賽。換句話說,匹配具有最好的成績不一定幾何最好的(兩個功能可以看起來很相似,但不是一個真實世界的對應)...

什麼,你可以嘗試做的是:

  • 刪除過濾實現;保留所有的比賽
  • 計算使用findHomography()
    • findHomography()允許你使用一個mask爲了保持正常值的軌道
  • 只畫出了在mask標記爲正常值的比賽中單應矩陣

這應該是一個更好的驗證。

相關問題