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

刚开始学习图片处理没多久,恳请各位大佬指教。图片已经灰度处理,也用resize统一了图片的尺寸。为什么使用尺度不变特征变换后得到的特征矩阵行数不同?如何处理?代码如下:s... 刚开始学习图片处理没多久,恳请各位大佬指教。图片已经灰度处理,也用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],明显不成倍数。
展开
 我来答
時間T間隔
2019-05-14
知道答主
回答量:2
采纳率:0%
帮助的人:1.7万
展开全部
SIFT做出来的矩阵本来就是行数不同的,要用上BOW模型
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友2ffffa7
2019-05-08 · 超过21用户采纳过TA的回答
知道答主
回答量:175
采纳率:40%
帮助的人:13.7万
展开全部
利用sift算法得到了图片的特征值,如何判断图片之间的相似性。
网上都说sift算法可以实现图像识别,我想做的是拿到一张图片,利用sift算法在数据库里面找到和它相似的图片是哪一个,数据库中存储的是很多图片的sift算子。
不知道sift算法是怎么判断图片之间的相似性的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孟子884224
2019-05-08 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:449
采纳率:66%
帮助的人:35.5万
展开全部
新手求教 用sift处理后的图片得到的特征矩阵大小为什么不相同?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式