Harris corner detector数学理解

角点检测是图像处理里面经常遇到的一个问题,给你下面一张图片,你如何找到他的角点(或者我们说拐弯点,虽然不太严谨,但可以帮助我们理解)


首先我们需要一个检测器,在图像处理里面,我们一般都喜欢用一个N * N 的小窗口并对这个小窗口所处的区域附上一个运算,以此来作为检测器。一般N都为奇数。首先,作为边界的检测,我们可以借助梯度来理解,边缘处必是梯度的第一局部极值,也就是在边缘的两边,灰度值的变化相对会比较剧烈;但是,如果沿着边缘的方向移动,梯度的变化会比较小。那么对于角点我们怎么考虑?对于上图来看,如果检测器的中心处于角点处,那么此时我如果再向各个方向(一共八个方向)移动检测器,此时的梯度变化仍然会十分剧烈。问题来了!我们如何来刻画其灰度的变化程度?既然都已经有现成的,为了方便学习,下面直接给出公式:


其中,I为其灰度值,(x,y)为窗口的坐标。W(x,y)为该窗户内的函数,在窗口外则w(x,y)= 0 。但是,给定上面的式子,变化u,v时,我们不能很直观的看出E(u,v)的变化。所以,我们要对上式进行一些变化和近似,

将I(x+u,y+v)做上述的泰勒展开,并到一阶处,带入上面的E(u,v),我们有


观察到右边是一个二次型,由高等代数的知识我们可以知道,其可以化成x^T*A*x的矩阵向量形式。即,

其中

进一步的,通过特征值分解我们有,其中sigma矩阵为其特征值从小到大的排列的矩阵,U为其相应的归一化特征向量。[u,u]U相当于对坐标轴进行了旋转,于是我们有如下的关系


暂时先写到这,有空再完善修饰一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值