我想知道是否有一种方法可以使用OpenCV Python设置从每个图像提取的最大关键点数。我宁愿让关键点的数量因图像而异,而不是仅为每个图像设置相同数量的关键点。

for pic in Training:
  kp, des = cv2.SIFT().detectAndCompute(pic, None)
  descriptors = np.append(descriptors, des)

最佳答案

没关系,我只是想出了办法。我们可以在cv2.SIFT(max)函数中放入所需的最大关键点数,例如,我们希望每个图像的最大关键点数为150。

for pic in Training:
 kp, des = cv2.SIFT(150).detectAndCompute(pic, None)
 descriptors = np.append(descriptors, des)

array([150.,99.,150.,150.,151.,150.,150.,150.,150.,
150.,150.,128。])

关于python - OpenCv Python SIFT-如何减少关键点的数量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28687100/

10-12 21:42