美文网首页
Harris角点检测算法

Harris角点检测算法

作者: MaskStar | 来源:发表于2018-11-11 20:18 被阅读0次

Harris角点算法

特征点检测广泛应用到目标匹配、目标跟踪、三维重建等应用中,在进行目标建模时会对图像进行目标特征的提取,常用的有颜色、角点、特征点、轮廓、纹理等特征。现在开始讲解常用的特征点检测,其中Harris角点检测是特征点检测的基础,提出了应用邻近像素点灰度差值概念,从而进行判断是否为角点、边缘、平滑区域。Harris角点检测原理是利用移动的窗口在图像中计算灰度变化值,其中关键流程包括转化为灰度图像、计算差分图像、高斯平滑、计算局部极值、确认角点。

基础

图像的变化类型:


在特征点检测中经常提出尺度不变、旋转不变、抗噪声影响等,这些是判断特征点是否稳定的指标。
性能较好的角点:
  • 检测出图像中“真实”的角点
  • 准确的定位性能
  • 很高的重复检测率
  • 噪声的鲁棒性
  • 较高的计算效率

角点的类型:


基于图像灰度的方法通过计算点的曲率及梯度来检测角点,避免了第一类方法存在的缺陷,此类方法主要有Moravec算子、Forstner算子、Harris算子、SUSAN算子等。

Harris角点 算法思想

角点原理来源于人对角点的感性判断,即图像在各个方向灰度有明显变化。算法的核心是利用局部窗口在图像上进行移动判断灰度发生较大的变化,所以此窗口用于计算图像的灰度变化为:
[-1,0,1;-1,0,1;-1,0,1][-1,-1,-1;0,0,0;1,1,1]。

从各个方向上移动这个特征的小窗口,如图3中窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如图中,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。

数学模型

根据算法思想,构建数学模型,计算移动窗口的的灰度差值。 为了减小计算量,利用泰勒级数进行简化公式: 上图中W函数表示窗口函数,M矩阵为偏导数矩阵。对于矩阵可以进行对称矩阵的变化,假设利用两个特征值进行替代,其几何含义类似下图中的表达。在几何模型中通过判断两个特征值的大小,来判定像素的属性。

M为梯度的协方差矩阵 ,在实际应用中为了能够应用更好的编程,定义了角点响应函数R,通过判定R大小来判断像素是否为角点。

R取决于M的特征值,对于角点|R|很大,平坦的区域|R|很小,边缘的R为负值。

算法流程

  • 1.利用水平,竖直差分算子对图像的每个像素进行滤波以求得Ix,Iy,进而求得M中的四个元素的值。

    代码中如果窗口数组array为-1,0,1,-1,0,1,-1,0,1}则是求解X方向的,如果为{-1,-1,-1,0,0,0,1,1,1}为Y方向的,则Ix和Iy求解结束,求解IX2相对比较简单,像素相乘即可。

  • 2.对M的四个元素进行高斯平滑滤波,为的是消除一些不必要的孤立点和凸起,得到新的矩阵M。
  • 3.3.接下来利用M计算对应每个像素的角点响应函数R,即: 也可以使用改进的R:
    R=[Ix2*Iy2-(Ix*Iy)2]/(Ix2+Iy^2);里面没有随意给定的参数k,取值应当比第一个令人满意。
  • 4、局部极大值抑制,同时选取其极大值
  • 5.在矩阵R中,同时满足R(i,j)大于一定阈值threshold和R(i,j)是某领域内的局部极大值,则被认为是角点。

相关文章

  • 特征点检测算法

    特征点检测算法 Harris角点检测 SIFT特征检测 SURF特征检测 ORB特征检测

  • 计算机视觉 OpenCV Android | 特征检测与匹配之角

    本文要点总结(俩算法的联系与区别) Harris角点检测与Shi-Tomasi角点检测都是经典的角点特征提取算法,...

  • Harris角点检测算法

    角点检测算法

  • Harris角点检测算法

    Harris角点算法 特征点检测广泛应用到目标匹配、目标跟踪、三维重建等应用中,在进行目标建模时会对图像进行目标特...

  • Harris角点检测

    为什么要用角点检测? 因为我们认为在轮廓是两条线的相交产生的,而角点正好可以去表现这两条相交的线。 怎么去表示角点...

  • Harris 角点检测

    角点的定义有以下两种: 角点可以是两个边缘的交点 角点是邻域内具有两个主方向的特征点 基本假设:如果在各个方向上移...

  • harris角点检测

    一:harris基础 以像素点为中心的窗口经过平移得到窗口,两个窗口像素差异定义为: 其中: ●为窗口内的...

  • Harris角点检测

      角点是一类具有特定特征的点,角点也是处在一个无论框框往哪边移动,框框内像素都会变化很大的情况而定下来的点。角点...

  • [翻译]Harris Corner Detection

    这是opencv3.0.0的python版官方文档,原文在这里 目标 这一章节,将 理解Harris角点检测算法背...

  • Harris算子角点检测 - 资料

    代码例子:http://blog.csdn.net/lql0716/article/details/5262895...

网友评论

      本文标题:Harris角点检测算法

      本文链接:https://www.haomeiwen.com/subject/mftffqtx.html