1.概述相关
harris角点检测是一种特征提取的方法,而特征提取正是计算机视觉的一种重要手段。尽管它看起来很复杂,其实也是基于数学原理和简单的图像处理来实现的。
本文之前可以参看笔者写的几篇图像处理的文章,将会有助于更深入了解harris角点检测的实现。
2.原理详解
1)算法思想
为了判断图像的角点,可以利用卷积窗口滑动的思想,让以该点为中心的窗口在附近滑动。如下图是所有描述角点文章的初始图例,它表征的正是这一特性:当滑动窗口在所有方向移动时,窗口内的像素灰度出现了较大的变化,就可能是角点。
2)数学模型
根据上述的算法思想,可以构建数学模型,图像窗口平移[u,v]产生灰度变化E(u,v)为:
其中w(x,y)是一种加权函数,几乎所有的应用都把它设为高斯函数。由上述公式,进行推导如下:
最后得到的公式(6),在几何意义上表征的是一个椭圆。椭圆的长短轴分别沿着矩阵M的两个特征向量的方向,而两个与之对应的特征值分别是半长轴和半短轴的长度的平方的倒数。
那么根据矩阵M的两个特征值λ1和λ2,可以将图像上的像素点分类成直线、平面与角点:当λ1和λ2 都比较大,且近似相等时,可以认为是角点。如下图所示:
3)优化推导
而上述表达不太方便使用,又定义了一个角点响应函