我创建了SIFT构造函数,阈值= 20
sift = cv2.xfeatures2d.SIFT_create(20)
keypoints, descriptors = sift.detectAndCompute(image,None)
然后我从图像序列中提取描述符,对于某些图像,我收到的数量大于限制一个的关键点。请参阅下面的描述符:
(20, 128)
(20, 128)
(20, 128)
(20, 128)
(21, 128)
这是一个错误吗?我该如何避免这种行为?
谢谢。
答案 0 :(得分:0)
documentation说要保留的最佳功能的数量。这些特征按其分数排序(在SIFT算法中测量为局部对比度)
这意味着如果您有99个功能且很少(例如3个)具有相同的分数,算法将返回102个功能。
逻辑是:
感谢Eduardo清除该逻辑。