这是我参与更文挑战的第 23 天,活动详情查看: 更文挑战
什么是角点?
角点就是极值点,即在某方面属性特别突出的点。当然,你可以自己定义角点的属性(设置特定熵值进行角点检测)。角点可以是两条线的交叉处,也可以是位于相邻的两个主要方向不同的事物上的点。角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。常见的角点有:
- 灰度梯度的最大值对应的像素点;
- 两条直线或者曲线的交点;
- 一阶梯度的导数最大值和梯度方向变化率最大的像素点;
- 一阶导数最大,二阶导数为零的像素点(指示物体边缘变化不连续的方向)。
为什么要检测角点?
角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。角点在三维场景重建、运动估计、目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。
Harris角点检测
人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。

Harris角点检测原理用公式演算如下:
E(u,v)=x,y∑w(x,y)[I(x+u,y+v)−I(x,y)]2=x,y∑w(x,y)[I(x,y)+Ixu+Iyv+O(u2,v2)−I(x,y)]2≈x,y∑w(x,y)[Ixu+Iyv]2=x,y∑w(x,y)[u2Ix2+2uvIxIy+v2Iy2]=x,y∑w(x,y)[uv][Ix2IxIyIxIyIy2][uv]=[uv](x,y∑w(x,y)[Ix2IxIyIxIyIy2])[uv]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END