八、特征提取与描述
(一)角点检测
-
Harris 角点检测算法的原理和实现步骤
- 原理:Harris 角点检测基于图像的局部自相关性。对于图像中的每个像素点,考虑其在一个小邻域内的灰度变化情况。通过计算自相关矩阵来衡量这种变化,自相关矩阵反映了像素在不同方向上的灰度变化率。如果在某个像素点处,其在各个方向上的灰度变化都很显著,那么这个点就很可能是角点。具体来说,通过在图像上移动一个小窗口,计算窗口内像素灰度的变化,使用偏导数来近似计算灰度变化的梯度,然后构建自相关矩阵。这个自相关矩阵的特征值与该点是否为角点密切相关,当两个特征值都较大时,表明该点是角点。
- 实现步骤:
- 计算梯度:使用 Sobel 算子或其他合适的梯度计算方法,计算图像在水平和垂直方向上的梯度
和
。
- 计算自相关矩阵元素:根据梯度值计算自相关矩阵的元素,公式为
,通过在局部窗口内对这些元素进行加权求和(通常使用高斯加权)得到自相关矩阵。
- 计算角点响应函数值:根据自相关矩阵计算角点响应函数R ,公式为
(其中
是自相关矩阵的特征值,k 是一个经验常数,通常取值在 0.04 - 0.06 之间)。
- 阈值处理:设定一个阈值,当角点响应函数值R大于阈值时,该点被判定为角点。
- 计算梯度:使用 Sobel 算子或其他合适的梯度计算方法,计算图像在水平和垂直方向上的梯度
-
Shi - Tomasi 角点检测算法与 Harris 角点检测的区别和优势
- 区别:Shi - Tomasi 角点检测算法也是基于图像局部自相关性和自相关矩阵的特征值分析。与 Harris 角点检测不同的是,Shi - Tomasi 角点检测直接使用较小的特征