如何访问 DMatch(OpenCV) 对象的每个成员?
How to access to each member of a DMatch(OpenCV) object?
我正在使用 OpenCV 开发基于 FLANN 的匹配器,出于特定原因,我需要访问匹配对象 (DMatch) 的每对坐标。良好匹配过滤器的结果存储在嵌套列表中:即 good_matches = [].
一旦我尝试访问第一个对象 ( print good_matches[0] ),我就得到了一个内存指针:即 .
任何关于此对象的结构在 python 中的样子以及如何访问它的线索?
ratio_thresh = 0.70
good_matches = []
for m,n in knn_matches:
if m.distance < ratio_thresh * n.distance:
good_matches.append(m)
print good_matches[0]
假设每张图片的关键点坐标为:(u_1,v_1)和(u_2,v_2)。所以我可以访问每个匹配的对坐标并稍后以某种方式计算它们。
看我对这个问题的回答:How to get the positions of the matched points with Brute-Force Matching / SIFT Descriptors
长话短说,关键点没有存储在DMatch中,而是存储在另一个列表中。 DMatch 对象仅存储匹配关键点的索引、它们的距离和图像的索引。您可以获取此索引以从其他列表中获取关键点。
我正在使用 OpenCV 开发基于 FLANN 的匹配器,出于特定原因,我需要访问匹配对象 (DMatch) 的每对坐标。良好匹配过滤器的结果存储在嵌套列表中:即 good_matches = [].
一旦我尝试访问第一个对象 ( print good_matches[0] ),我就得到了一个内存指针:即 .
任何关于此对象的结构在 python 中的样子以及如何访问它的线索?
ratio_thresh = 0.70
good_matches = []
for m,n in knn_matches:
if m.distance < ratio_thresh * n.distance:
good_matches.append(m)
print good_matches[0]
假设每张图片的关键点坐标为:(u_1,v_1)和(u_2,v_2)。所以我可以访问每个匹配的对坐标并稍后以某种方式计算它们。
看我对这个问题的回答:How to get the positions of the matched points with Brute-Force Matching / SIFT Descriptors
长话短说,关键点没有存储在DMatch中,而是存储在另一个列表中。 DMatch 对象仅存储匹配关键点的索引、它们的距离和图像的索引。您可以获取此索引以从其他列表中获取关键点。