从图像中提取 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)))