2011-12-08 107 views

回答

13

DMatch類給你兩個匹配KeyPoints(火車和查詢)之間的距離。所以,檢測到的最好的配對應該有最小的距離。本教程抓住所有小於2 *(最小線對距離)的比賽並認爲最好。

因此,要獲得最佳匹配的(x,y)座標。您應該使用good_matches(它是一個DMatch對象列表)從兩個不同的KeyPoint向量(keypoints_1keypoints_2)中查找相應的索引。喜歡的東西:

for(size_t i = 0; i < good_matches.size(); i++) 
{ 
    Point2f point1 = keypoints_1[good_matches[i].queryIdx].pt; 
    Point2f point2 = keypoints_2[good_matches[i].trainIdx].pt; 
    // do something with the best points... 
} 
+0

一些分號缺少:) –

+0

@ScottMarchant謝謝你,好先生:)分號現在已經被添加。 – mevatron