小白参考很多文档总结的HARRIS角点检测

目录(HARRIS角点检测)

概述

Harris角点检测基本原理

代码实现

模拟结果

概述

角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。角点在三维场景重建运动估计,目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。

在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分析的角度来定义角点可以有以下两种定义:

a. 角点可以是两个边缘的角点;
b. 角点是邻域内具有两个主方向的特征点;

角点检测算法可归纳为3类:
基于灰度图像的角点检测、
基于二值图像的角点检测、
基于轮廓曲线的角点检测

基于灰度图像的角点检测又可分为基于梯度、基于 模板和基于模板梯度组合3类方法,其中基于模板的方法主要考虑 像素领域点的灰度变化,即图像亮度的变化,将与邻点 亮度对比足够大的点定义为角点。常见的基于 模板的角点检测算法有Kitchen-Rosenfeld角点检测算法,Harris角点检测算法、KLT角点检测算法及SUSAN角点检测算法。

Harris角点检测基本原理

在这里插入图片描述
第三张图就是一个角点,不管朝向任何一个方向,像素值都会有很大变化。
首先,将图像窗口平移[u,v]产生灰度变化的自相关函数如下,其中窗口函数可以是平坦的,也可以是高斯的:

在这里插入图片描述
然而将平移后的式子进行泰勒展开如下:
在这里插入图片描述
由于是对局部微小的移动量 [u,v],所以 可以近似得到下面忽略余项之后的表达式为一个二项式函数:
在这里插入图片描述
其中,M的表达式如下,可由图像的导数求得:
在这里插入图片描述
上面我们说到,忽略余项之后的表达式为一个二项式函数,然而二项式函数的本质上就是一个椭圆函数,椭圆的扁率和尺寸是由M(x,y)的特征值λ1、λ2决定的,椭圆的方向是由M(x,y)的特征矢量决定的,如下图所示,椭圆方程为:

在这里插入图片描述
椭圆函数特征值与图像中的角点、直线(边缘)和平面之间的关系如下图所示。共可分为三种情况:
a. 图像中的直线。
一个特征值大,另一个特征值小,λ1>λ2或λ2>λ1。自相关函数值在某一方向上大,在其他方向上小。
b. 图像中的平面。
两个特征值都小,且近似相等;自相关函数数值在各个方向上都小。
c. 图像中的角点。<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值