forstner算子和Moravec角点检测算子

Forstner算子是摄影测量中的著名点定位算子,其特点是速度快、精度较高。其基本思想是:对于角点,对最佳窗口内通过每个像元的边缘直线(垂直于梯度方向)进行加权中心化,得到角点的定位坐标;对于圆状点,对最佳窗口内通过每个像元的梯度直线进行加权中心化,得到圆心的坐标。因此,Forstner定位算子分两步进行。


1.1最佳窗口
以每个像素为中心,取一个窗口N(如5×5)。计算每个窗口的有利值q和w。如果有利值大于给定的阈值,则将以该像元为中心的窗口作为候选最佳窗口,阈值为经验值,抑制局部非最大,得到最佳窗口。为了减少计算量,在计算q,w值之前,可以先计算像元:分别在X,Y正反方向上的4个梯度值的绝对值,取出4个值中的最小值记为T,只有T值大于某个阈值时才计算q,w值。


1.2定位和圆状点定位
最佳窗口内任意一个像元(r,C)的边缘直线l的方程为:
0 rcos0+csinO
式中,p为原点(设为最佳窗口的左上角像元)到直线l的距离,e为梯度角,tan0=g /gr,而gc、g为该点的Robert梯度。设角点坐标为(Co,r0),设v是点(C,r)到直线l的垂直距离,在(C,r)处给出误差方程,即
0+V r0cos0+cosin0
训(r,C)=I gI =g;+g;

上式的含义是:把原点到边缘直线的距离p当作观测值,而保持边缘直线的方向不变,权训(r,C)等于梯度模的平方,所以权实质上是一个边缘尺度。对上式法化,得到法方程:
『-Σ grg ] 『r01 『-Σgzr+ grgeC~
LP,grg r,g~J L CO J lΣg盛+Σg _J

法化结果与最佳窗口内像元的加权中心化结果一致。对上式求解,可以得到角点坐标(CO,ro)。圆状点的定位与角点的定位是相似的,也按照类似方法处理。从上述介绍可以看出,Forstner算子通过在最佳窗口内进行加权中心化的操作,可以将定位精度提高到子像素,但它的缺点是要确定阈值,因此受图像灰度、对比度变化的影响。而另一种点特征提取算子Harris算子只用到一阶差分,计算简单,稳定性好、且不受阈值影响,可以最大限度地提出局部特征点,但精度不高。可以将两种方法的优点结合,进行改进。


Moravec角点检测算子

Moravec 在1981年提出Moravec角点检测算子,并将它应用于立体匹配。

      首先, 计算每个像素点的兴趣值, 即以该像素点为中心, 取一个w*w(如:5x5)的方形窗口, 计算0度、45度、90度、135度四个方向灰度差的平方和, 取其中的最小值作为该像素点的兴趣值。其数学表达式为:

forstner算子和Moravec角点检测算子_第1张图片

 

  其中四种移位 (u,v) = (1,0), (1,1), (0,1), (-1, 1).w(x,y)为方形二值窗口,若像素点在窗口内,则取值为1, 否则为0。

其次,根据实际图像设定一个阈值, 遍历图像以兴趣值大于该阈值的点为候选点。

  最后, 选一个一定大小的滑动窗口 , 让该窗口遍历灰度图象, 在此过程中取窗口中兴趣值最大的候选点为特征点, 算法结束。

  Moravec角点检测算子对斜边缘的响应很强,因为只考虑了每隔45度的方向变化,而没有在全部的方向上进行考虑;同时由于窗口函数是一个二值函数,不管像素点离中心点的距离,赋于一样的权重,因此对噪声响应也较强。最终对角点的定位也不是很准确.







你可能感兴趣的:(机器视觉,图像处理,计算机视觉)