新手求教 用sift处理后的图片得到的特征矩阵大小为什么不相同?

刚开始学习图片处理没多久,恳请各位大佬指教。图片已经灰度处理,也用resize统一了图片的尺寸。为什么使用尺度不变特征变换后得到的特征矩阵行数不同?如何处理?

    sift = cv2.xfeatures2d.SIFT_create()
    des_list = []
    index=0
    for image_path in image_paths:
        if index<2:
            im_bgr = cv2.imread(image_path)
            im_gra=cv2.cvtColor(im_bgr,cv2.COLOR_BGR2GRAY)
            im_new=cv2.resize(im_gra,(600,600))
            kpts = sift.detect(im_new)
            kpts, des = sift.compute(im_new, kpts)
            des_list.append((image_path, des))
            print("image file path : ", image_path)
            del im_new,kpts, des
            gc.collect()
            index = index + 1
            print(index)


    descriptors = des_list[0][1]
    for image_path, descriptor in des_list[1:]:
        descriptors = np.vstack((descriptors, descriptor))

index为1时,处理第一张图片矩阵大小是[1739, 12000]。index为2时处理两张图片矩阵大小是[2231, 12000],明显不成倍数。

1个回答

index为1时,处理第一张图片矩阵大小是[1739, 12000]。index为2时处理两张图片矩阵大小是[2231, 12000],明显不成倍数。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐