opencv图像特征检测及匹配(harris,sift,surf,fast,breif,orb,BFmatch,FlannBasedMatcher)

本文简单概括各种算法的提出背景及opencv实现,对具体原理不做讨论


一般而言,一个物体的角点最能够代表物体的特征,所以所谓的特征检测又叫角点(Corner)检测
harris是最早提出的特征提取算法:
opencv实现如下:


dst=cv2.cornerHarris(gray,blockSize=2,ksize=5,k=0.04)
# blockSize -检测的临点数
# •ksize - sobel边缘检测的核
# •k - 目标函数的一个参数(一般取值较小)


sift:harris Corner算法能够解决旋转不变性问题,但不能解决尺度变化问题,由此背景提出了sift算法
opencv实现如下:


sift=cv2.xfeatures2d.SIFT_create()
kp,des=sift.detectAndCompute(gray,None) #计算描述子
其中kp指关键点 des指关键点的特征描述


surf:尽管sift的计算效果较好,但是计算速度较慢 surf(speed up robust features)算法是一个加速算法
速度是sift算法的3倍。
opencv实现如下:


# 400 是Hessian矩阵的阈值,阈值越大能检测的特征就越少
surf=cv2.xfeatures2d.SURF_create(400)
# None为mask参数
kp,des=surf.dete
  • 6
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值