SIFT/SURF算法

SIFT/SURF算法

1.SIFT算法
1.1 SIFT实质:在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向
1.2 SIFT基本流程:
(1)尺度空间极值检测:搜索所有尺度上的图像位置,通过高斯差分函数来识别潜在的对于尺度和旋转不变的关键点
(2)关键点定位:在每个候选位置上,通过一个拟合精细的模型来确定位置和尺度,关键点选择依据于他们的稳定程度
(3)关键点方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向,所有后面的对图像数据的操作都相对于关键点的方向,尺度和位置进行变换,从而保证了对于这些变换的不变性
(4)关键点描述:在每个关键点的邻域内,在选定的尺度上测量图像局部的梯度,这些梯度作为关键点的描述符,它允许较大的局部形状的变形或光照变化

2.SURF算法
2.1 SURF实质:是 SIFT算法的加强版,计算量小,运算速度快,提取的特征与SIFT几乎相同
2.2 SIFT与 SURF算法对比
在这里插入图片描述
2.3 实现
语法
(1)实例化sift:sift=cv.xfeatures2d.SIFT_create()
(2)利用sift.detectAndCompute()检测关键点并计算:kp,des=sift.detectAndCompute(gray,None)

参数:

  • gray:进行关键点检测的图像,注意是灰度图像
  • kp:关键点信息,包括位置,尺度,方向信息
  • des:关键点描述符,每个关键点对应128个梯度信息的特征向量

(3)将关键点检测结果绘制在图像上:cv.drawKeypoints(img,keypoints,outputimg,color,flags)

参数:

  • img:原始图像
  • keypoints:关键点信息,将其绘制在图像上
  • outputimg:输出图片,可以是原始图像
  • color:颜色设置,b=蓝色,g=绿色,r=红色
  • flags:绘图功能的标识设置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值