这是哈里斯角点检测的数学表达式:



但是我有以下疑问:


物理是什么$ u $和$ v $的重要性?许多参考文献说,这是窗口$ w $移动的幅度。那么窗口移动了多少?一个像素还是两个像素?
是窗口覆盖的像素位置的总和吗?
简单地假设$ w(x,y)= 1 $,$ I(x,y)$就是强度$(x,y)$处的单个像素,或以$(x,y)$为中心的窗口内强度的总和?然后我要求考虑$(x,y)$区域上的图像补丁,然后使用符号$ I(x,y)$

我发现它很难理解数学说明。有人有主意吗?

评论

查看有关Harris拐角检测器的讲座。很清楚:youtube.com/watch?v=P35WsRDnTsU&t=41m12s

我在个人博客上写了一篇基于以上讲座的帖子。 matlabcorner.wordpress.com/2012/11/17/…

#1 楼

该公式的含义确实非常简单。想象一下,您要拍摄两个相同大小的小区域,蓝色和红色分别为:



窗口函数在红色矩形外部等于0(为简单起见,我们可以假设窗口在红色矩形内只是恒定的)。因此,窗口功能会选择要查看的像素,并为每个像素分配相对权重。 (最常见的是高斯窗口,因为它是旋转对称的,可以高效地计算和强调窗口中心附近的像素。)蓝色矩形移动了(u,v)。

接下来,您需要计算标记为红色和蓝色的图像部分之间的平方差之和,即,将它们逐像素相减,对差值求平方并求和结果(为简单起见,假设window =我们正在寻找的区域中的1)。这为您提供了每个可能的(u,v)-> E(u,v)的一个数字。
先保持v = 0:



这不足为奇:当图像之间的偏移量(u,v)最小时,图像部分之间的差异最小它们是0。随着两个色块之间距离的增加,平方差的总和也会增加。

保持u = 0: />该图看起来很相似,但是当您将蓝色矩形沿边缘方向移动时,两个图像部分之间的平方差之和要小得多。

E(u ,v)如下所示:



该图看起来有点像“峡谷”:如果将图像向峡谷。这是因为此图像修补程序具有主要的(垂直)方向。

对于不同的图像修补程序,我们可以执行相同的操作: ,则E(u,v)的图看起来不同:


不管您以何种方式移动色块,它看起来总是不同的。 br />如果E(u,v)到处都是0,那么您正在查看的图像补丁中就没有纹理
如果E(u,v)是“峡谷形”,则补丁中有一个主要方向(可能是边缘或纹理)
如果E(u,v)是“圆锥形”,则该贴片具有纹理,但没有主要方向。这就是拐角检测器正在寻找的补丁。


许多参考文献都说,这是窗口“ w”移动的幅度...所以窗口移动了多少一个像素...两个像素?


通常,您根本不会计算E(u,v)。您只对(u,v)= {0,0)附近的形状感兴趣。因此,您只需要E(u,v)在(0,0)附近的泰勒展开式即可完全描述它的“形状”。


是像素位置的总和



从数学上讲,让求和范围覆盖所有像素会更优雅。实际上,将窗口为0的像素相加没有任何意义。

评论


$ \ begingroup $
thanx一吨Nikie ....
$ \ endgroup $
–rotating_image
2012年9月11日在3:31



$ \ begingroup $
我知道您会在这里得到很好的答案@rotating_image
$ \ endgroup $
–karlphillip
2012年9月11日下午16:14

$ \ begingroup $
thanx karlphillip ..
$ \ endgroup $
–rotating_image
2012年9月12日下午3:33

$ \ begingroup $
一百万个投票!
$ \ endgroup $
– Phonon
2012年11月19日在18:39