openCV之什么是角点

角点检测(Corner Detection)是计算机视觉中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域,也称为特征点检测。

角点通常被定义为两条边的交点,更严格的说法是,角点的局部邻域应该具有两个不同区域的不同方向的边界。在实际的应用中,大多数角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。

在图像处理与计算机视觉中,兴趣点(interest points),也被称为关键点(key points)、特征点(feature points)。它被大量应用于解决物体识别、图像识别等位领域,我们不再观察整幅图像,而是选择某些特殊的点,然后对它们进行局部的分析。如果能够检测到足够多的这种点,同时它们的区分度很高,并且可以精确的定位稳定的特征,那么这个方法就具有实用价值。

图像特征类型可以分为如下三种:

  • 边缘
  • 角点(感兴趣关键点)
  • 斑点(感兴趣区域)

其中,角点是个很特殊的存在。如果某一点在任意方向的一个微小变动都会引起灰度很大的变化,我们就把它称之为角点。角点作为图像上的特征点,包含有重要的信息,它们在图像中可以轻易的定位,同时,在人造物体场景,比如门、窗、桌等处也随处可见。因为角点位于两条线段的交点,代表了两个边缘变化的方向上的点,所以它们是可以精确定位的二维特征,甚至可以达到亚像素的精度。又因为其图像梯度有很大的变化,这种变化是可以用来帮助检测角点的。需要注意的是,角点与位于相同强度区域上的点不同,与物体轮廓上的点也不同,因为轮廓点难以在相同的其它物体上精确定位。

角点的具体描述可以有以下几种:

  • 一阶导数(灰度的梯度)的局部最大所对应的像素点
  • 两条及两条以上边缘的交点
  • 图像中梯度值和梯度方向的变化速率都很高的点
  • 角点处的一阶导数最大,二阶导数为0,它指示了物体边缘变化不连续的方向。

 

你可能感兴趣的:(opencv,图像处理,计算机视觉,opencv)