一直以来,古今中外致力于角点检测技术研究的学者们不胜枚举。但直到现在,对于角点都还没有固定不变的数学定义。通常情况下,我们将二维图像中灰度变化剧烈的点或图像边缘曲线上曲率极大值的点定义为角点[2]。根据这两个定义,我们通常根据图像的灰度和边缘来进行角点检测,于是就衍生出了现今较流行的图像角点检测的三大类方法,分别为:基于模板的角点检测方法、基于边缘特征的角点检测方法、基于灰度变化的角点检测方法。66714
1)基于模板的角点检测方法
这种角点检测方法第一步先是要建立一系列角度不同的角点模板,随后在窗口内计算模板与图像子窗口的相似程度,由此来检验图像中位于子窗口中心的像素是否为角点[3]。这种方法主要分析邻域点像素的灰度变化,并将与邻点亮度对比足够大的点定义为角点。一般方法可总结为先建立一个数学模型来表示角点结构,然后设计模板来检测角点,确定该模板与图像之间的自相关函数,最后通过该自相关函数检测角点。这种算法具有旋转不变性和不随光照条件改变而改变的优点,存在的缺点是它的计算有较大的冗余,必须经过多次实践才能确定阈值。论文网
2)基于边缘特征的角点检测方法
比较早的是基于边缘轮廓链码的角点检测方法。这种方法需要对图像进行预处理,大致可分为以下三个步骤:第一,对图像进行预分割;第二,将得到的图片中边界轮廓点进行相应的顺序编码,得出边沿轮廓链码;第三,通过边缘轮廓链码信息提取图像角点。此方法主要存在的缺陷是边缘提取算法对角点的决定性很大,当边缘线发生中断,会对角点检测的结果有相当大的影响。
3)基于灰度变化的角点检测方法
这类方法主要是通过计算曲率及梯度来进行角点检测的。虽然摆脱了边缘线对角点检测的束缚,但是它的定位准确度不高,原因是角点的准确位置和梯度与曲率的乘积的局部极大值点之间存在很大的偏离。一般来说基于灰度计算方法要计算图像灰度的一阶或二阶导数,相应的求导阶数越高,对图像中噪声的反应灵敏度也越高。因此目前应用比较广泛的是基于灰度自相关函数的Harris角点检测。