FAST角点检测

概述

FAST,全称Features From Accelerated Segment Test,是一种快速的角点检测算法。该算法的核心思想是加上合适的阈值t来和邻域像素的灰度值进行比较来确定是否角点。

算法流程

在这里插入图片描述
1.在图像中选取一个像素P,其像素值为Ip;
2.以该像素点为中心画一个半径为3像素的离散化圆,这个圆的边界上有16个像素;
3.设置一个阈值t;
4.如果在这个大小为16个像素的圆上有n个连续的像素值都比Ip+t大,或者都比Ip−t小,那么它就是一个角点。
5.加速后的改进:仅仅检查在位置1,9,5和13四个位置的像素。如果P是一个角点,四个像素点中至少有3个应该必须都大于Ip+t或者小于Ip−t,因为若是一个角点,超过四分之三圆的部分应该满足判断条件。
6.非极大值抑制:比较两个相邻的特征点,并比较它们的响应值大小,较低的点将会被删除。

算法特点

1.依赖阈值t的设置;
2.不产生多尺度特征,特征点没有方向信息,会失去旋转不变性。

代码实现

在这里插入图片描述

#创建一个FAST对象,传入阈值t
fast = cv2.FastFeatureDetector_create(threshold=50)
keypoints = fast.detect(image,None)
#在图像上绘制关键点
image = cv2.drawKeypoints(image,keypoints = keypoints,outImage=image,color=(255,0,255),flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值