2015-02-24 5 views
0

Мне интересно, есть ли способ установить максимальное количество ключевых точек, извлеченных из каждого изображения, с помощью OpenCV Python. Я бы предпочел, чтобы количество ключевых точек менялось от изображения к изображению, а не просто устанавливало одинаковое количество ключевых точек для каждого изображения.OpenCv Python SIFT-Как уменьшить количество ключевых точек?

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

ответ

4

Ничего, я только что понял, как это сделать. Мы можем поставить максимальное количество ключевых точек, мы хотим в функции cv2.SIFT (макс), скажем, мы хотим максимум ключевых точек для каждого изображения быть 150.

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

массива ([150, 99. , 150., 150., 1501., 150., 150., 150., 150., 150., 128.])

+0

Имейте в виду, что это не относится ко всем разным алгоритмы. (BRISK приходит на ум) –

+0

Спасибо, что указали это –

+0

Это также работает с KAZE? –