什么是角点?
- 两条边缘的交点
- 灰度梯度局部最大值对应的点(梯度方向和幅值都有着很大变化)

Harris角点的基本思想
Harris想象有一个滑动窗口,在图像的任意方向上滑动,比较滑动前后像素灰度的变化程度,来判断是否存在角点

Harris角点特征的数学表达

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

将E展开之后得到

一阶可以近似为

推导成矩阵的形式

近似的,有

其中,M为2*2的矩阵

二次项可以看成一个椭圆函数,对M进行特征值分析:

根据λ1,λ2的值我们可以把其分为三类:
- λ1,λ2都很小且近似,E在所有方向接近于常数;
- λ1>>λ2,或者λ2>>λ1, E将在某一方向上很大;
- λ1,λ2都很大且近似,E将在所有方向上很大;


最后根据角点响应值计算R所属区间


不同的k值形状不同,一般取0.04-0.06



可以看到当k=0.05时,R的等高线图很接近与下面这幅图

Harris角点的性质
对于灰度放射变化来说,具有部分的不变性。

但是当图像几何尺度变化之后,原来的边缘点可能会被判断成为角点。


Harris算法具体步骤
1.计算图像x,y方向的梯度Ix,Iy

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

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

4.定义在每个像素点的矩阵H,也就是前面的M

5.计算每个像素的角点响应

6.设置阈值找出可能点并进行非极大值抑制
Tshi-Tomasi角点检测和Harris的区别
主要的区别就是角点检测的打分公式
Harris角点检测的打分公式为:Harris角点检测
R = λ1λ2 - k(λ1 + λ2)²

但是Shi-Tomasi使用的打分函数为:
R = min(λ1, λ2)
如果打分超过阈值,我们就认为它是一个角点。我们可以把它绘制到λ1~λ2空间中,就会得到下图:

参考博客
[图文]Harris角点检测 - 百度文库
https://wenku.baidu.com/view/f61bc369561252d380eb6ef0.html
OpenCV学习笔记-Shi-Tomasi角点检测 - 云中寻雾的博客 - 优快云博客
https://blog.youkuaiyun.com/qq_36387683/article/details/80550964
Harris Corner(Harris角检测) - klitech - 博客园
https://www.cnblogs.com/klitech/p/5779600.html
学习笔记 2.1 — Harris角点检测与特征匹配【含实例】 - Yebin的博客 - 优快云博客
https://blog.youkuaiyun.com/weixin_41923000/article/details/88631944
9万+



被折叠的 条评论
为什么被折叠?



