人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。如下图:

首先,将图像窗口平移[u,v]产生灰度变化的自相关函数如下:

其中窗口函数(权重矩阵)可以是平坦的,也可以是高斯的如下图(权重矩阵W(通常为高斯滤波器Gσ):

然而将平移后的式子进行泰勒展开如下:

则:

其中Ο(u2,v2)近似为0.故该式可以进一步简化。

由于是对局部微小的移动量 [u,v],所以可以近似得到下面忽略余项之后的表达式为一个二项式函数

其中,M的表达式如下,可由图像的导数求得:

,

M=W*MI,其中

该卷积的目的是得到MI在周围像素上的局部平均。矩阵M又称为Harris矩阵。W 的宽度决定了在像素x 周围的感兴趣区域。像这样在区域附近对矩阵M取平均的原因是,特征值会依赖于局部图像特性而变化。如果图像的梯度在该区域变化,那么MI 的第二个特征值将不再为0。如果图像的梯度没有变化,M的特征值也不会变化。

忽略余项之后的表达式为一个二项式函数,然而二项式函数的本质上就是一个椭圆函数,椭圆的扁率和尺寸是由M(x,y)的特征值λ1、λ2决定的,椭圆的方向是由M(x,y)的特征矢量决定的,如下图所示,椭圆方程为:

椭圆函数特征值与图像中的角点、直线(边缘)和平面之间的关系如下图所示。共可分为三种情况:

  • 图像中的直线。一个特征值大,另一个特征值小,λ1>λ2或λ2>λ1。自相关函数值在某一方向上大,在其他方向上小。
  • 图像中的平面。两个特征值都小,且近似相等;自相关函数数值在各个方向上都小。
  • 图像中的角点。两个特征值都大,且近似相等,自相关函数在所有方向都增大。

通过M的两个特征值λ1和λ2的大小对图像点进行分类:

如果λ1和λ2都很小,图像窗口在所有方向上移动都无明显灰度变化。

由于我们是通过M的两个特征值的大小对图像进行分类,所以,定义角点相应函数R:

其中k为经验常数,一般取k=0.04~0.06。为了去除加权常数κ,我们通常使用商数detM/(traceM)2作为指示器。:所以,上图可以转化为:

其中:

•  R 只与M的特征值有关

   • 角点:R 为大数值正数

• 边缘:R 为大数值负数

• 平坦区:R 为小数值

在判断角点的时候,–对角点响应函数R进行阈值处理:R > threshold,提取R的局部极大值。

Harris角点检测相关推荐

  1. 《OpenCV3编程入门》学习笔记10 角点检测(一)Harris角点检测

    第10章 角点检测 10.1 Harris角点检测 10.1.1 角点 1.图像特征类型: (1)边缘 (2)角点(感兴趣点) (3)斑点(感兴趣区域) 2.角点定义: (1) 一阶导数(灰度的梯度) ...

  2. 通俗易懂的Harris 角点检测

    Harris 角点检测 认为  特征点具有局部差异性. 如何描述"特征点具有局部差异性": 以每一个点为中心,取一个窗口,窗口大小为5*5或7*7像素大小. 这个窗口描述了这个特征 ...

  3. harris角点检测_角点检测(2) - harris算子 - 理论与Python代码

    数字图像,图像=矩阵,[m*n]从[0,255]的灰度值 角点检测:物体边缘的拐点 ->应用:图像匹配与检索.图像物体形变恢复(摄像机标定).三维重建 Harris角点检测(早期,原理简单,视频 ...

  4. OpenCV Harris角点检测

    Harris角点检测的思想是通过图像的局部的小窗口观察图像,角点的特征是窗口沿任意方向移动都会导致图像灰度的明显变化,如下图所示: .判断角点,如下图所示: 当R为大数值的正数时是角点 当R为大数值的 ...

  5. OpenCV角点检测之Harris角点检测

    本篇文章中,我们一起探讨了OpenCV中Harris角点检测相关的知识点,学习了OpenCV中实现Harris角点检测的cornerHarris函数的使用方法.此博文一共有两个配套的麻雀虽小但五脏俱全 ...

  6. OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测

    Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...

  7. OpenCV-图像特征harris角点检测/SIFT函数/特征匹配-05

    图像特征-harris角点检测 基本原理 R>0 角点 R≈0 平坦区域 R<0 边界 总结一下Harris算法流程 获取点数据后,计算Ix 和 Iy 整合矩阵,求特征值 比较特征值大小 ...

  8. 【机器视觉学习笔记】Harris 角点检测算法(C++)

    目录 原理 算法步骤 优缺点 源码 效果 原图 输出 平台:Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文摘自2.Harris角点检测算法 -- ...

  9. OpenCV与图像处理学习十三——Harris角点检测(含代码)

    OpenCV与图像处理学习十三--Harris角点检测(含代码) 一.角点的概念 二.Harris角点检测的实现过程 三.Harris代码应用 一.角点的概念 角点: 在现实世界中, 角点对应于物体的 ...

  10. 角点检测--基于梯度的方法(Moravec角点检测、Harris角点检测、Shi-Tomasi角点检测)

    Moravec Detector Moravec角点检测是第一个提出兴趣点(interest points)的Paper.它的主要思想是:以每个像素为中心,有一个固定的滑动窗口.该方法计算并在八个方向 ...

最新文章

  1. B - Dungeon Master POJ - 2251
  2. Windows Phone 7 中的页面和弹出框
  3. 在linux中运行多文件,在Linux中打开了太多文件(Too many open files)的三种解决方法...
  4. java学习笔记11--集合总结
  5. window设置快捷键左右方向键
  6. 华丽的 Metro 风格小图标
  7. Eclipse的SVN插件经常出错
  8. 仿得微博字符限制效果
  9. docker学习-狂神视频
  10. matlab插值函数 外插,02-函数插值--Matlab插值函数
  11. (vivo)安卓神器xposed框架Root安装指南
  12. apache 支持下载rar格式文件问题
  13. 315来了,跨境卖家们赶紧自检容易被维权举报的问题
  14. js实现时间戳转化为自定义格式的年月日时分秒(yyyy-MM-dd HH:mm:ss)
  15. w7设置双显示器_教你怎么设置Win7系统双显示器多屏幕模式
  16. 360网站卫士常用前端公共库CDN服务
  17. HIve数仓新零售项目DWD层的构建
  18. pdf转换器在线转换详细教程
  19. 搭建JSP运行环境(Eclipse for java EE Developers+Tomcat7.0.79)
  20. 游戏五子棋(c语言)

热门文章

  1. 柬埔寨外资准入法律及政策简介
  2. 计算机网络虚拟局域网步骤,如何构建虚拟局域网 多维网使用教程
  3. java求解二元一次方程
  4. 新书推荐《财务数据治理实战》
  5. java打印鸭子,python – 鸭子打字和(java)界面的概念
  6. 彩色图文验证码(英文、数字、中文)
  7. 湖南省2022年成人高考招生全国统一考试考生须知
  8. 重装系统后,microsoft下的word,excel之类的软件没有了怎么办?
  9. 汇编语言条件跳转指令汇总
  10. FreeRTOS临界区