角点检测概述

角点广义定义:

不同方向线条的交点。如下图:
不同类型的角点

数字图像中角点定义:

  • 像素点附近区域像素无论是在梯度方向,还是在梯度幅值上都发生较大变化
  • 一阶导数(灰度图像的梯度)的局部最大所对应的像素点
  • 两条及两条以上边缘的交点
  • 图像中梯度值和梯度方向变化速率都很高的像素点
  • 角点处一阶导数最大、二阶导数为0,指示物体边缘变化不连续的方向

检测角点的意义:

角点是图像中的重要特征,对帮助人们理解、分析图像有重要的作用。角点在保留图像重要特征的同时,可以有效地减少信息的数据量。使信息含量变高,有效地提高了计算的速度,使得实时处理图像的可靠匹配成为可能。对于同一场景,视角发生改变,角点通常是不变的,具有稳定性。
角点检测(corner detection)是计算机视觉系统中获得图像特征的一种方法,由于角点检测的实时性和稳定性,所以角点检测广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域。角点作为一种特征点,角点检测也被称为特征点检测。
大多数角点检测方法检测的是具有特定特征的图像点,不仅仅是“角点”。这些特征在图像中具有具体的坐标,并具有某些数学特征,如局部最小或最大。我们可以利用检测出的这些点,实现我们想要的操作。

传统的角点检测方法们:

  • Moravec 角点检测算法
  • Harris 角点检测算法
  • Shi-Tomasi 角点检测算法
  • FAST 角点检测算法
  • Forstner 角点检测算法

角点检测难点:

现存的角点检测方法都不是十分鲁棒。

角点检测评价指标:

  • 对多幅图像中相同或相似特征的检测能力
  • 对同一图像不同分辨率图像的检测能力
  • 对光照变化的鲁棒性
  • 对图像旋转的鲁棒性
  • 检测速度

Harris算法角点检测思路:

角点检测算法的基本思想是使用一个固定窗口(某像素的领域窗口)在图像上进行任意方向的滑动。比较滑动前与滑动后,窗口中像素灰度的变化程度。如果存在任意方向上的滑动,前后有着较大灰度变化,我们可以认为窗口中存在角点。如下图所示:
滑动窗口检测角点演示

  • 左图:窗口在平坦的地点移动,移动前后图像灰度值没有变化
  • 中图:沿着边缘方向移动窗口,移动前后图像灰度值变化不大
  • 右图:沿着任意方向移动窗口,移动前后图像灰度值变化很大
原文地址:https://www.cnblogs.com/wojianxin/p/12576256.html