SIFT возвращает дескрипторы разных размеров

Я пытаюсь извлечь SIFT дескрипторы, чтобы потом их кластеризовать. У меня есть этот кусок кода

images = d.values()[0]
labels = d.values()[1]

sift = cv2.xfeatures2d.SIFT_create()

des = [[] for i in range(10)]
for im in zip(images, labels):
    #des[im[1]].append(sift.detectAndCompute(img_2_RGB_cv2_format(im[0]), None))
    k,d = sift.detectAndCompute(img_2_RGB_cv2_format(im[0]), None)
    print len(d)

и я вижу что len(d) дает различные значения от 4 до 20 (из того, что я вижу, может быть даже дальше).

Можно ли использовать разное количество дескрипторов? Должен ли я попытаться получить постоянное количество дескрипторов?

0 ответов

Другие вопросы по тегам