特点
具有较好的稳定性和不变性,能够适应旋转、尺度缩放、亮度的变化,能在一定程度上不受视角变化、仿射变换、噪声的干扰。
2、区分性好,能够在海量特征数据库中进行快速准确的区分信息进行匹配
3、多量性,就算只有单个物体,也能产生大量特征向量
4、高速性,能够快速的进行特征向量匹配
5、可扩展性,能够与其它形式的特征向量进行联合
步骤
1、提取关键点:关键点是一些十分突出的不会因光照、尺度、旋转等因素而消失的点,比如角点、边缘点、暗区域的亮点以及亮区域的暗点。此步骤是搜索所有尺度空间上的图像位置。通过高斯微分函数来识别潜在的具有尺度和旋转不变的兴趣点。
2、定位关键点并确定特征方向:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。然后基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
3. 通过各关键点的特征向量,进行两两比较找出相互匹配的若干对特征点,建立景物间的对应关系。
关于dog算法求取局部极值(高斯差分):SIFT算法原理_Yokia-CSDN博客
surf特征检测对象包含在Surffeaturedetector的类中,调用方法:
Ptr <xfeatures2d::SurFeatureDetector> ptrsurf = xfeatures2d::SurFeatureDetector::create( 2000.0)//定义SURF中的hessian阈值特征点检测算子
多尺度fast特征检测
【特征检测】BRISK特征提取算法_hujingshuang-CSDN博客_特征提取算法
brisk检测器有两个值,一个用来判断fast关键点的阈值,另一个则是八度的数量
也可以使用orb(基于harris角点强度评分)