没有合适的资源?快使用搜索试试~ 我知道了~
python利用opencv实现SIFT特征提取与匹配

温馨提示
主要为大家详细介绍了python利用opencv实现SIFT特征提取与匹配,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源推荐
资源详情
资源评论














python利用利用opencv实现实现SIFT特征提取与匹配特征提取与匹配
主要为大家详细介绍了python利用opencv实现SIFT特征提取与匹配,文中示例代码介绍的非常详细,具有一定
的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了利用opencv实现SIFT特征提取与匹配的具体代码,供大家参考,具体内容如下
1、、SIFT
1.1、、sift的定义的定义
SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述。这种描述具有尺
度不变性,可在图像中检测出关键点,是一种局部特征描述子。
1.2、、sift算法介绍算法介绍
SIFT由David Lowe在1999年提出,在2004年加以完善 。SIFT在数字图像的特征描述方面当之无愧可称之为最红最火的一
种,许多人对SIFT进行了改进,诞生了SIFT的一系列变种。SIFT已经申请了专利(所以现在opencv使用这个算法,需要低的
版本)。
SIFT特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、微视角改变的容忍度也相当
高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用
SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的
电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准
确匹配。
SIFT算法具有如下一些特点:
1)SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度
的稳定性;
2)区分性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
3)多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;
4)高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;
5)可扩展性,可以很方便的与其他形式的特征向量进行联合。
1.3、特征检测、特征检测
SIFT特征检测主要包括以下4个基本步骤:
1)尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。
2)关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。
3)方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关
键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
4)关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示
允许比较大的局部形状的变形和光照变化。
1.4、特征匹配、特征匹配
SIFT特征匹配主要包括2个阶段:
第一阶段:SIFT特征的生成,即从多幅图像中提取对尺度缩放、旋转、亮度变化无关的特征向量。
第二阶段:SIFT特征向量的匹配。
SIFT特征的生成一般包括以下几个步骤:
1)构建尺度空间,检测极值点,获得尺度不变性。
2)特征点过滤并进行精确定位。
3)为特征点分配方向值。
4)生成特征描述子。以特征点为中心取16×16的邻域作为采样窗口,将采样点与特征点的相对方向通过高斯加权后归入包含8
个bin的方向直方图,最后获得4×4×8的128维特征描述子。当两幅图像的SIFT特征向量生成以后,下一步就可以采用关键点特
征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。取图1的某个关键点,通过遍历找到图像2中的距离最近的两
个关键点。在这两个关键点中,如果最近距离除以次近距离小于某个阈值,则判定为一对匹配点。
2、、python实现实现
2.1、准备工作、准备工作
由于SIFT已经申请了专利,所以在高版本的opencv中,会出现错误,以前是opencv4.0.1,然后安装版本为opencv3.4.2.16
卸载以前的版本(低版本,可以试试直接运行代码):
pip uninstall opencv-python
资源评论

- chenbtravel2023-07-26通过阅读这篇文件,我成功实现了SIFT特征提取与匹配,并将其应用于我的项目中,效果非常好。
- 江水流春去2023-07-26文章中的示例代码简洁实用,可以直接拿来使用,省去了初学者自己编写代码的麻烦。
- 巴蜀明月2023-07-26作者对于SIFT特征提取与匹配的原理进行了简洁明了的解释,对于初学者来说很容易掌握。
- Jaihwoe2023-07-26对于想要了解SIFT特征提取与匹配的人来说,这篇文件提供了清晰详细的步骤,并配以实例代码,让人易于理解。
- 陈莽昆2023-07-26这篇文件通过简单质朴的语言,很好地讲解了如何利用opencv实现SIFT特征提取与匹配,适合初学者入门。

weixin_38694800
- 粉丝: 4
- 资源: 1021
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
