从图像中提取 CV2.Keypoints 个对象的像素值
Extract pixel values from an image for CV2.Keypoints objects
我使用以下方法从 img1
中提取了一个元组(关键点、描述符):
(kp, des) = sift.detectAndCompute(img1,None)
kp
是一个包含 cv2.KeyPoint
个对象的列表,并且
des
是一个 numpy.array
包含它们的 128 个维度描述符
我想为每个关键点检索从另一个相同大小的图像 img2
中获取的像素值,并将它们存储在元组 (kp, des)
中,最后得到一个像 [=19] 这样的元组=]
非常感谢您。
您可以从 kp 访问像素坐标。如下所示:
kp[0].pt
我认为以下代码可以满足您的需求:
(kp[i], des[i], img2[kp[i].pt] for i in range(len(kp)))
我使用以下方法从 img1
中提取了一个元组(关键点、描述符):
(kp, des) = sift.detectAndCompute(img1,None)
kp
是一个包含 cv2.KeyPoint
个对象的列表,并且
des
是一个 numpy.array
包含它们的 128 个维度描述符
我想为每个关键点检索从另一个相同大小的图像 img2
中获取的像素值,并将它们存储在元组 (kp, des)
中,最后得到一个像 [=19] 这样的元组=]
非常感谢您。
您可以从 kp 访问像素坐标。如下所示:
kp[0].pt
我认为以下代码可以满足您的需求:
(kp[i], des[i], img2[kp[i].pt] for i in range(len(kp)))