目录
1. 算法所需的基础知识
1.什么是特征点
特征点就是角点或兴趣点,它具有旋转不变形,光照不变性,视角不变性等特性,可以在目标匹配、目标跟踪、三维重建等应用中使用
1.1梯度
梯度可以看作是变量在某方向上变换大小的参考值。因为图像中的数值是离散的,所以不能用微分,而是得用一阶差分来表示梯度。
1.2角点
通俗的理解,角点就是除边缘外多线的交点。
角点是多种形态的,如下
1.3用梯度说角点
我们用一个模板进行全局的小幅度滑动:
1——无梯度。在这种情况下滑动,由于该区域平滑,均值不变,梯度为0
2——单个梯度值。在这种情况下滑动,由于有黑色的边缘,也就是有突变或灰度值变换较大的区域,水平方向的滑动会造成均值不同,梯度也就不为0。但是朝着垂直方向滑动,会跟情况1相同,均值没有变化。如果朝斜的方向移动,这时用行列式的思想,将居中的黑色数值所在的列移到了靠边的位置,差分值不受影响。
3——多个梯度值。在这种情况下滑动,因为水平方向和垂直方向都有突变区域,在对应的方向上滑动,就会产生梯度值。多方向有梯度值就说明有角点出现。
在第三种情况下,就会产生角点。图像四个边缘角不算角点。
2.数学角度看Harris算法
2.1灰度变换E
作一下说明:
1.图像灰度是指图像窗口内的灰度值,窗口一般是3邻域,5邻域大小的
2.窗口函数的作用是通过赋予邻域内不同像素值的权重来调整对识别角点的贡献。如果窗口的中心是角点,就把中心的权重加大,周围的权重调小,如此调整后,均值就会加大,梯度相应的也就变大了。
2.2 灰度变换E的转换形式
其中I(x)表示X轴方向的梯度方向
提取出u,v,由于移动步幅小,可得到一个近似值
其中M是: