绝点检测(1):Harris角点检测
一,兴趣点与角点;
二,角点检测;
三,harris角点检测;
四,实现Harris角点检测: cornerHarris()函数;
五,综合示例: harris角点检测与绘制;
一,兴趣点与角点
在图像处理和与计算机视觉领域,兴趣点(interest points),也被称作关键点(key points)、特征点(feature points)。它被大量用于解决物体识别、图像识别、图像匹配、视觉跟踪、三维重建等一系列的问题。我们不再观察整幅图,而是选择某些特殊的点,然后对它们进行局部有的放矢地分析。如果能检测到足够多的这种点,同时它们的区分度很高,并且可以精确定位稳定的特征,那么这个方法就具有实用价值。
图像特征类型可以被分为如下三种:
·边缘
·角点(感兴趣关键点)
·斑点(Blobs)(感兴趣区域)
其中,角点是个很特殊的存在。如果某一点在任意方向的一个微小变动都会引起灰度很大的变化,那么我们就把它称之为角点。角点作为图像上的特征点,包含有重要的信息,在图像融合和目标跟踪及三维重建中有重要的应用价值。它们在图像中可以轻易地定位,同时,在人造物体场景,比如门、窗、桌等处也随处可见。因为角点位于两条边缘的交点处,代表了两个边缘变化的方向上的点,所以它们是可以精确定位的二维特征,甚至可以达到亚像素的精度。又由于其图像梯度有很高的变化,这种变化是可以用来帮助检测角点的。需要注意的是,角点与位于相同强度区域上的点不同,与物体轮廓上的点也不同,因为轮廓点难以在相同的其他物体上精确定位。
另外,关于角点的具体描述可以有如下几种:
一阶导数(即灰度的梯度)的局部最大所对应的像素点;
·两条及两条以上边缘的交点;
·图像中梯度值和梯度方向的变化速率都很高的点;
·角点处的一阶导数最大,二阶导数为零,它指示了物体边缘变化不连续的方向。
二,角点检测
现有的角点检测算法并不是都十分的健壮。很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现。另外,角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力,并且能够应对光照变化、图像旋转等图像变化。
在当前的图像处理领域,角点检测算法可归纳为以下三类。
·基于灰度图像的角点检测
·基于二值图像的角点检测·基于轮廓曲线的角点检测
而基于灰度图像的角点检测又可分为基于梯度、基于模板和基于模板梯度组合三类方法。其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够大的点定义为角点。常见的基于模板的角点检测算法有Kitchen-Rosenfeld 角点检测算法,Harris 角点检测算法、KLT角点检测算法及SUSAN角点检测算法。
接下来,让我们一起来了解harris角点检测。
三,har