这里写自定义目录标题
1. 角点定义
角点检测又称为特征点检测,是图像处理和计算机视觉中用来获取局部特征点的一类方法,广泛应用于运动检测、图像匹配、视频跟踪等领域。角点可以简单地定义为轮廓之间的交点,严格地定义是在两个主方向上的特征点,即在两个方向上灰度变化剧烈。通常具有以下特征:
- 角点附近的像素点不论在梯度方向上还是梯度幅值上都存在着较大的变化
- 对于某一场景,当视角发生变化时,其任具备稳定性质的特征
2. 算法原理
角点检测的基本思想就是用固定窗口在图像上沿各个方向进行滑动,比较滑动前后窗口中像素点的灰度变化,如果在任意方向上滑动窗口内都存在较大的灰度变化,则认为该窗口中存在角点;如果任何方向上都不变化,则是均匀区域;如果灰度只在一个方向上变化,则可能是图像边缘。
3. 角点检测算法的分类
在当前的图像处理领域,角点检测算法可以归纳为三类:
1、基于灰度图像的角点检测
2、基于二值图像的角点检测
3、基于轮廓曲线的角点检测
基于灰度图像的角点检测又可分为基于梯度、基于模板、基于模板梯度组合三类方法,其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮度的变化,将与邻近点亮度对比足够大的点定义为角点。常见的基于模板的角点检测算法有Kitchen-Rosenfeld角点检测算法,Harris角点检测算法,KLT角点检测算法以及SUSAN角点检测算法。
4. Harris角点检测
角点计算的数学求解过程在此略过(手动狗头),其中涉及到求解某个矩阵(假设为M矩阵)的特征值,根据矩阵M的特征值判断是否为角点,当两个特征值都较大时则认为是角点(corner),一个特征值较大一个较小时认为是图像边缘(edge),两个特征值都较小时认为是均匀区域(flat),如下图所示:
在具体判断角点时,无需求解矩阵M的特征值,而是通过下面的公式计算角点响应值: