文章目录
一、Harris角点检测器
概念:Harris 角点检测算法(也称 Harris & Stephens 角点检测器)是一个简单的角点检测算法。该算法的主要思想是,如果像素周围显示存在多于一个方向的边,我们认为该点为兴趣点。该点就称为角点。
1、角点的特征
局部窗口沿各方向移动,均产生明显变化的点;图像局部曲率突变的点;轮廓之间的交点;对于同一场景,即使视角发生变化,通常具备稳定性质的特征;该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化;
2、Harris角点检测基本思想
从图像局部的小窗口观察图像特征,窗口向任意方向的移动都导致图像灰度的明显变化。
3、Harris检测:数学表达
我们可以由一个函数来判断是否是角点:
E ( u , v ) = ∑ x , y w ( x , y ) [ I ( x + u , y + v ) − I ( x , y ) ] 2 E(u,v)= ∑_{x,y}w(x,y)[I(x+u,y+v)−I(x,y)]^2 E(u,v)=x,y∑w(x,y)[I(x+u,y+v)−I(x,y)]2
w(x,y)表示矩形窗口,I(x,y)表示该点像素的强度,u与v表示窗口的偏移量,若在任意方向都存在着较大灰度的变化,则判断该点是角点。我们可以使用高斯权重矩阵来突出变化较大的点,赋予更大的权值。
我们可以使用一阶泰勒公式来简化上述的函数:
E ( u , v ) ≈ ∑ ∣ I ( x , y ) + u I x + v I y − I ( x , y ) ∣ 2 = ∑ u 2 I x 2 + 2 u v I x I y + v 2 I y 2 E(u,v)≈∑∣I(x,y)+uI_x+vI_y−I(x,y)∣ ^2=∑u ^2I_x^2+2uvI_xI_y+v^2I y^2 E(u,v)≈∑∣I(x,y)+uIx+vIy−I(x,y)∣2=∑u2Ix2+2uvIxIy+v2Iy2
用矩阵表示:
令矩阵M为中间的矩阵,求解特征值