Opencv - 从特征匹配中获取像素坐标

9
1个回答

14
DMatch类给出了两个匹配KeyPoints(train和query)之间的距离。因此,最佳匹配对应该具有最小距离。本教程获取所有距离小于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...
}

有一些分号丢失了 :) - Scott Marchant
@ScottMarchant 谢谢,先生 :) 分号已经添加了。 - mevatron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接