open cvSURF特征检测

SURF(Speeded Up Robust Features)是一种高效的计算机视觉算法,用于尺度不变特征检测。它不仅具备良好的尺度不变性,还能在各种光照、视角变化下稳定工作,常用于对象定位、识别、3D重建和图像匹配。SURF通过Hessian矩阵检测兴趣点,并通过非极大值抑制和方向赋值来描述特征,确保旋转不变性。要提取SURF特征,主要分为检测和描述两个步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是SURF特征检测(加速鲁棒特征)

1.属于尺度不变特征的检测,即不仅在任何尺度下拍摄的物体都能检测到一致的关键点,而且每个被检测的特征点都对应一个尺度因子

2.SURF 特征,它的全称为加速稳健特征( Speeded Up Robust Feature ),它不仅是尺度不变特征,而且是具有较高计算效率的特征

3.这个算法可被用于对象定位和识别、人脸识别、3D重建、对象跟踪和提取兴趣点 他部分的灵感来自于 SIFT 算法

应用场景

SURF可以用于对象定位和识别、人脸识别、3D重建、对象跟踪和提取兴趣点等。常用来进行物体辨识和图像匹配

SURF 全称 speed up robust feature 是加速版的SIFT

由于SURF特征检测较于Harris等检测算子有良好的尺度不变性,所有在不同景深不同高度不同方向不同视角都可以快速精准的匹配特征信息


如何提取SURF特征?两步:检测和描述

检测特征点

描述特征点

什么样的点是特征点

检测到,只要这个点所对应的那个物体还在摄像头的视野范围内,那么这个点就能被检测出来。比如角点,边界点,亮处的暗点,暗处的亮点等,一言以蔽之,就是与周围有反差的点

不受明暗光线变化的影响

工作原理

1.选择图像中POI(Points of Interest)Hessian Matrix
2.在不同的尺度空间发现关键点,非最大信号抑制
3.发现特征点方向、旋转不变性要求
4.生成特征向量

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <opencv2/xfeatures2d.hpp>//opencv第三方扩展库文件 用于特征SURF SIFT检测等 必须添加此库文件
#include <iostream>
#include <math.h>

using namespace cv;
using namespace cv::xfeatures2d;
using namespace std;

Mat src, dst;

int HessianNum = 200;
int HessianMax = 500;
void SurfFeature(int, void*);
int main()
{
   
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值