Harris角点检测
人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。如下图:
首先,将图像窗口平移[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角点检测相关推荐
- 《OpenCV3编程入门》学习笔记10 角点检测(一)Harris角点检测
第10章 角点检测 10.1 Harris角点检测 10.1.1 角点 1.图像特征类型: (1)边缘 (2)角点(感兴趣点) (3)斑点(感兴趣区域) 2.角点定义: (1) 一阶导数(灰度的梯度) ...
- 通俗易懂的Harris 角点检测
Harris 角点检测 认为 特征点具有局部差异性. 如何描述"特征点具有局部差异性": 以每一个点为中心,取一个窗口,窗口大小为5*5或7*7像素大小. 这个窗口描述了这个特征 ...
- harris角点检测_角点检测(2) - harris算子 - 理论与Python代码
数字图像,图像=矩阵,[m*n]从[0,255]的灰度值 角点检测:物体边缘的拐点 ->应用:图像匹配与检索.图像物体形变恢复(摄像机标定).三维重建 Harris角点检测(早期,原理简单,视频 ...
- OpenCV Harris角点检测
Harris角点检测的思想是通过图像的局部的小窗口观察图像,角点的特征是窗口沿任意方向移动都会导致图像灰度的明显变化,如下图所示: .判断角点,如下图所示: 当R为大数值的正数时是角点 当R为大数值的 ...
- OpenCV角点检测之Harris角点检测
本篇文章中,我们一起探讨了OpenCV中Harris角点检测相关的知识点,学习了OpenCV中实现Harris角点检测的cornerHarris函数的使用方法.此博文一共有两个配套的麻雀虽小但五脏俱全 ...
- OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测
Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...
- OpenCV-图像特征harris角点检测/SIFT函数/特征匹配-05
图像特征-harris角点检测 基本原理 R>0 角点 R≈0 平坦区域 R<0 边界 总结一下Harris算法流程 获取点数据后,计算Ix 和 Iy 整合矩阵,求特征值 比较特征值大小 ...
- 【机器视觉学习笔记】Harris 角点检测算法(C++)
目录 原理 算法步骤 优缺点 源码 效果 原图 输出 平台:Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文摘自2.Harris角点检测算法 -- ...
- OpenCV与图像处理学习十三——Harris角点检测(含代码)
OpenCV与图像处理学习十三--Harris角点检测(含代码) 一.角点的概念 二.Harris角点检测的实现过程 三.Harris代码应用 一.角点的概念 角点: 在现实世界中, 角点对应于物体的 ...
- 角点检测--基于梯度的方法(Moravec角点检测、Harris角点检测、Shi-Tomasi角点检测)
Moravec Detector Moravec角点检测是第一个提出兴趣点(interest points)的Paper.它的主要思想是:以每个像素为中心,有一个固定的滑动窗口.该方法计算并在八个方向 ...
最新文章
- B - Dungeon Master POJ - 2251
- Windows Phone 7 中的页面和弹出框
- 在linux中运行多文件,在Linux中打开了太多文件(Too many open files)的三种解决方法...
- java学习笔记11--集合总结
- window设置快捷键左右方向键
- 华丽的 Metro 风格小图标
- Eclipse的SVN插件经常出错
- 仿得微博字符限制效果
- docker学习-狂神视频
- matlab插值函数 外插,02-函数插值--Matlab插值函数
- (vivo)安卓神器xposed框架Root安装指南
- apache 支持下载rar格式文件问题
- 315来了,跨境卖家们赶紧自检容易被维权举报的问题
- js实现时间戳转化为自定义格式的年月日时分秒(yyyy-MM-dd HH:mm:ss)
- w7设置双显示器_教你怎么设置Win7系统双显示器多屏幕模式
- 360网站卫士常用前端公共库CDN服务
- HIve数仓新零售项目DWD层的构建
- pdf转换器在线转换详细教程
- 搭建JSP运行环境(Eclipse for java EE Developers+Tomcat7.0.79)
- 游戏五子棋(c语言)