OpenCV 3.0为什么关键点的数量超过阈值?

时间:2015-11-11 12:53:26

标签: python opencv

我创建了SIFT构造函数,阈值= 20

sift = cv2.xfeatures2d.SIFT_create(20)
keypoints, descriptors = sift.detectAndCompute(image,None)

然后我从图像序列中提取描述符,对于某些图像,我收到的数量大于限制一个的关键点。请参阅下面的描述符:

(20, 128)
(20, 128)
(20, 128)
(20, 128)
(21, 128)

这是一个错误吗?我该如何避免这种行为?

谢谢。

1 个答案:

答案 0 :(得分:0)

documentation要保留的最佳功能的数量。这些特征按其分数排序(在SIFT算法中测量为局部对比度)

这意味着如果您有99个功能且很少(例如3个)具有相同的分数,算法将返回102个功能。

逻辑是:

  • 我们有99个关键点
  • 下一个最佳关键点集包含
  • 例如4个关键点,我们应该添加4个关键点中的一个?第一个出现在图像中的文件?

感谢Eduardo清除该逻辑。