【发布时间】:2019-06-09 18:16:00
【问题描述】:
我尝试将我的 SIFT-Keypoints 与 BF-matcher 进行匹配。我曾经像this那样做。
但如果我想用print(good) 获得 x,y 位置,它只会给我这样的东西:
DMatch 000001DD9C4E0EB0
如何将其转换为职位?
【问题讨论】:
我尝试将我的 SIFT-Keypoints 与 BF-matcher 进行匹配。我曾经像this那样做。
但如果我想用print(good) 获得 x,y 位置,它只会给我这样的东西:
DMatch 000001DD9C4E0EB0
如何将其转换为职位?
【问题讨论】:
由于您没有提供代码,我根据教程中的代码回答您的问题。 基本上,关键点是 SIFT 算法检测到的具有旋转、比例和 x,y 位置的点,而描述符只是用于匹配它们的特征向量。 在匹配变量中,您有一组描述符之间的匹配项(DMatch)。关键点位于 kp1 和 kp2 中。 要查找匹配的两个点 (p1,p2),请使用如下代码:
for match in matches:
p1 = kp1[match.queryIdx].pt
p2 = kp2[match.trainIdx].pt
【讨论】:
kp1[match[0].queryIdx].pt。