角点通常被定义为两条边的交点,准确的来说,角点的部分领域应该具有两个不同范围和不同方向的边界。但在实际的应用之中,大多数所谓的角点检测方法,检测的是拥有特定特征的图像点,而不单单是“角点”。这些特征点在图像里面有具体的坐标,并拥有某些数学特征,某些梯度特征等。

现有的角点检测算法并不是都十分的稳定。很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现。角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力,并且能够应对光照变化、图像旋转等图像变化。

近年来提出的角点检测方法大多是基于灰度图像的角点检测。主要分三类:

(1)基于模板的角点检测。一般首先建立一系列具有不同角度的角点模板,然后在一定的窗口内比较待测图像与标准模板之间的相似程度,以此来检测图像中的角点。基于模板的方法主要考虑像素邻域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够大的点定义为角点。首先设计一系列角点模板,然后计算模板与所有图像子窗口的相似性,以相似性判断在子窗口中心的像素是否为角点。

(2)基于边缘特征的角点检测。主要分三个步骤:

1、首先,对图像进行预分割;

2、然后对预分割后得到的图像中边界轮廓点进行顺序编码,得到边缘轮廓链码;

3、根据边缘轮廓链码对图像中的角点进行描述和提取。Wallg和Braday提出了一种基于表面曲率的角点检测算法。为了改善角点检测的稳定性,首先将图像和高斯滤波器卷积,然后计算整个图像的表面曲率,当曲率高于一定阈值,并为局部值的点被认为是候选角点。

(3)基于亮度变化的角点检测。该算法基于角点相应函数(CRF)对每个像素基于其模板邻域的图像灰度计算CRF值,如果大于某一阈值且为局部极大值,则认为该点为角点。

角点的检测算法不仅这些,还有基于模板的角点检测算法就有Kitchen-Rosenfeld角点检测算法、Harris角点检测算法、KLT角点检测算法及SUSAN角点检测算法等,在此暂不详述。

瑞视特科技机器在机器视觉行业有着多年的经验,在检测算法中也有不少的应用案例,其中就包含优异的角点检测算法。瑞视特科技一直以来致力于机器视觉产品的生产、开发、应用以及销售,为客户提供整体机器视觉解决方案及服务,把机器视觉技术应用到智能生产中。