Harris corner detector

Harris corner detector

参考博客:https://blog.csdn.net/u011534057/article/details/77775974

学习笔记以及源码、图片下载:

一.引入

图像特征的类型

提一下:

  • 边缘
  • 角落(也称为兴趣点)
  • Blob(也称为感兴趣的区域)

在本教程中,我们将特别研究角落特征。

角落为何如此特别?

  • 因为它是两条边的交点,所以它代表这两条边的方向发生变化的点。因此,图像的梯度(在两个方向上)具有高变化,可用于检测它。

二.算法原理分析(需要有高等数学和线性代数基础)

角点检测基本原理:

人们通常通过在一个小的窗口区域内观察点的灰度值大小来识别角点,如果往任何方向移动窗口都会引起比较大的灰度变换那么往往这就是我们要找的角点。

img

下面我们看一下Harris的数学公式,对于[x,y]平移[u,v]个单位后强度的变换有下式,I(x+u,y+v)是平移后的强度,I(x,y)是原图像像素。对于括号里面的值,如果是强度恒定的区域,那么它就接近于零,反之如果强度变化剧烈那么其值将非常大,所以我们期望E(u,v)很大。

img

其中w是窗函数,它可以是加权函数,也可以是高斯函数

img

利用二维泰勒展开式我们有

img

所以其中一阶可以近似为

img

于是我们可以给出Harris Corner的如下推导,其中Ix,Iy是x,y方向的Gradient模,乘以位移得到位移后的量

img

对于小的位移,我们可以用双线性插值方法近似:

img

其中M为2*2矩阵如下

img

在本质上我们可以把二次项看成一个椭圆函数,我们对M进行特征值分析有λ1,λ2

img

根据λ1,λ2的值我们可以把其分为三类:

1.λ1,λ2都很小且近似,E在所以方向接近于常数;

2.λ1>>λ2,或者λ2>>λ1, E将在某一方向上很大;

3.λ1,λ2都很大且近似,E将在所有方向上很大;

如图所示:

img

最后我们通过计算角点响应值R来判断其属于哪个区间

img

img

其中k一般为常数取在0.04-0.06间。

img

算法步骤:

1.计算图像x,y方向的梯度Ix,Iy

img

2.计算每个像素点的梯度平方

img

3.计算梯度在每个像素点的和

img

4

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值