Fast和ORB算法

Fast和ORB算法

1.Fast算法
1.1 原理:取图像中的检测点,以该点为圆心的周围邻域内像素点判断检测点是否为角点;通俗理解为 :若一个像素周围有一定数量的像素与该点像素值不同,则认为其为角点
1.2 基本流程
在这里插入图片描述
缺点:
(1)获得的候选点比较多
(2)特征点的选取不是最优的,因为它的效果取决于要解决的问题和角点的分布情况
(3)进行非特征点判别时大量的点被丢弃
(4)检测到的很多特征点都是相邻的
1.3 实现
语法:

(1)fast=cv.FastFeatureDetector_create(threshold,nonmaxSupperession)

参数:

  • threshold:阈值t,有默认值10
  • nonmaxSupperession:是否进行非极大值抑制,默认值True
  • fast:创建FastFeatureDetector对象

(2)利用fast.detect检测关键点,没有对应的关键点描述:kp=fast.detect(grayImg,None)

参数:

  • grayImg:进行关键点检测的图像,注意是灰度图像
  • kp:关键点信息,包括位置,尺度,方向信息

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

非极大值抑制:
在这里插入图片描述
设置极大值抑制:
在这里插入图片描述
2.ORB算法
2.1 实现:
语法:
(1)实例化ORB:orb=cv.orb_create(nfeatures)
nfeatures:特征点的最大数量
(2)利用orb.detectAndComputer()检测关键点并计算:kp,des=orb.detectAndComputer(gray,None)

参数:

  • gray:进行关键点检测的图像,注意是灰度图像
  • kp:关键点信息,包括位置,尺度,方向信息
  • des:关键点描述符

(3)将关键点检测结果绘制在图像上:cv.drawKeypoints(img,keypoints,outputimg,color,flags)
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值