Chu1024
2019-05-07 12:11新手求教 用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条回答
为你推荐
- 在Wordpress中将单独的文件设置为主页
- wordpress
- php
- 2个回答
- 在PHP中更改DIV包含[关闭]
- html
- php
- 2个回答
- 嵌套数组中的Search_array
- nested
- key
- arrays
- php
- 2个回答
- 报错:sys.argv[1] IndexError: list index out of range?
- 深度学习
- 人工智能
- python
- 机器学习
- 1个回答
- 需要openCV特征提取和匹配指导,具体看内容?
- opencv3.4.3
- vs2017
- sift
- opencv_contrib
- 2个回答
换一换