②边缘点提取法
这种方法的步骤是,采用小波变换中的多尺度分析理论,首先将图像进行小波变换,然后计算出相应的小波变换的模值,最后提取模的局部极大值并将它作为图像的边缘点。
③角点检测法
在图像的所有特征中,角点具有非常显著的优点,尤其是旋转不变和不随光照条件改变而变化的特性。在某些应用中如果使用角点特征进行处理的话,就可以使参与计算的数据量相对减少,与此同时又不会损失图像中比较重要的灰度信息。更加重要的是,在匹配运算中利用这种方法能够在某种程度上显著地提高匹配的速度。
3。3 选择最优特征点的具体算法
①构造选择模板MASK(二维矩阵)
②首先从尺度相对比较高的图像开始提取特征点然后赋值给相应位置上的MASK点对。(因为如果高斯核函数的尺度越大,那么经过高斯核函数平滑之后的图像的纹理越稀疏,与此同时能够检测到的特征点也越少。所以先提取高尺度图像中的特征点,并把特征点的响应值Response(x,y,σ)赋值给对应的MASK(x,y)点对)
③紧接着提取相邻尺度图像上的特征点(从高尺度图像开始,依次提取相邻尺度图像上的特征点。不断重复操作步骤②,直到所有尺度图像上的特征点都赋值给模板MASK。如果模板相同位置出现不同尺度上检测到的两个兴趣点,那么选择较大Response(x,y,σ’)值的点赋值给MASK(x,y))。
④利用统计滤波器筛选兴趣点(可以利用半径为3的统计滤波器对模板MASK进行滤波,求出每一点角点响应的最大值并将它表示为Max(x,y),角点响应的次大值表示为Second(x,y)。如果Max(x,y)>Second(x,y),并且满足Max(x,y)=MASK(x,y),则记录下该点坐标)
⑤生成最终的特征点
3。4 角点提取算子的要求以及种类
什么样的点才可以被称得上为角点?对于角点的特性,有很多种不同的解释。比如可以是图像的边界上曲率足够高的点,也可以是曲率变化相对比较明显的点;又或者是图像的边界上方向变化不连续的点;图像中的梯度值以及梯度变化率均比较高的点等等。角点是指至少在两个方向上图像灰度变化都比较大的点。在实际图像中,线段的尾端或者轮廓的拐角等都可以算的上是角点。
角点提取算子的要求:首先,对角点的定位要准确,能够提取到所有真实的角点并且不提取假的角点。其次,具有良好的重复率、稳定性和抗噪性并且计算效率高[6]。
角点提取算子的种类:文献综述
(1)Harris算子
Harris角点检测算法的原理,就是利用一个小窗在图像中缓慢移动,通过考察这个小窗口里面图像灰度的平均变化值来确定哪些点作为角点[9]。
以下列出这种算法的具体数学推导公式:假设图像的窗口平移量用来表示,产生的相应的灰度变化表示成,那么有,其中是窗口函数,是平移后的灰度值,是平移前的灰度值。
由泰勒公式展开可得:,,分别表示偏微分,在图像中就是图像的方向导数。 因此 ,
即 (3。6) 。
令,因此到了最后,对角点的检测变成了对矩阵M的特征值的分析,设M的特征值为x1和x2; 当x1远大于x2或者x2远大于x1的时候,那么此时检测到的是图像的边缘部分; 当x1,x2都很小的时候,那么图像窗口在所有的移动方向上的移动灰度级都不会产生明显的变化;而 当X1,X2都很大并且它们大小相当的时候,那么此时检测到的都是角点。由于编程的时候用x1,x2非常不方便,所以定义角点响应函数; ,其中表示矩阵M的行列式,则表示矩阵M的迹。下面给出实际的编程步骤以及详细的数学推导公式: