11.2 角点检测算法
11.2.1 Moravec 角点检测算法
Moravec 角点检测算法是最早的角点检测算法之一。该算法将角点定义为具有低“自相关性”
的点。算法会检测图像的每一个像素,将像素周边的一个邻域作为一个 patch,并检测这个 patch
和周围其他 patch的相关性。这种相关性通过两个 patch间的平方差之和(SSD)来衡量,SSD值越小
则相似性越高。
如果像素位于平滑图像区域内,周围的 patch 都会非常相似。如果像素在边缘上,则周围的 patch
在与边缘正交的方向上会有很大差异,在与边缘平行的方向上则较为相似。而如果像素是各个方向
上都有变化的特征点,则周围所有的 patch 都不会很相似。Moravec 会计算每个像素 patch 和周围
patch的 SSD最小值作为强度值,取局部强度最大的点作为特征点。
11.2.2 Harris 角点检测
当一个窗口在图像上移动,在平滑区域如图(a),窗口在各个方向上没有变化。在边缘上如图
(b),窗口在边缘的方向上没有变化。在角点处如图(c),窗口在各个方向上具有变化。Harris角点
检测正是利用了这个直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。
将图像窗口平移[u,v]产生灰度变化 E(u,v)
由: , 得到: