2013-01-17 83 views
0

匹配的圖像我工作的源代碼here使用SURF在OpenCV的 EmguCV

似乎indices變量存儲匹配的信息,但我不知道這個信息的存儲方式。

例如,你能告訴我有多少對匹配點被發現?哪一點匹配哪個點?

+0

請在這裏發表的代碼。 – sgarizvi

+0

我的代碼與[鏈接的文章](http://www.emgu.com/wiki/index.php/SURF_feature_detector_in_CSharp)一樣激動人心。如果我在這裏發佈,我認爲我的帖子太長了。或者是在計算器的方式應該在這個問題,而不是鏈接到其他地方張貼代碼? – Gqqnbig

回答

2

就以這條線看看。

Image<Bgr, Byte> result = Features2DToolbox.DrawMatches(modelImage, modelKeyPoints, observedImage, observedKeyPoints, 
     indices, new Bgr(255, 255, 255), new Bgr(255, 255, 255), mask, Features2DToolbox.KeypointDrawType.DEFAULT); 

最重要的變量是面具。這個變量有所有需要的信息。它是數組。如果此數組上的值等於1,這意味着我們有一個公共對。您必須計算在該陣列中出現1次的次數。

public int CountHowManyPairsExist(Matrix<byte> mask) 
    { 
     var matched = mask.ManagedArray; 
     var list = matched.OfType<byte>().ToList(); 
     var count = list.Count(a => a.Equals(1)); 
     return count; 
    }