我正在实施SURF算法,我指的是Chris Evan的OpenSURF。
在OpenSURF和几乎所有其他SURF实现中,我看到当计算Dxx和Dyy时,使用乘法因子3(查看下面的代码)。没有在SURF论文或OpenSURF论文中提到他们为什么这么做。我做同样的事情没有问题,但我很想知道为什么这个乘法正在进行。如果它对Dxx和Dyy计算很重要那么为什么它在任何地方都没有提到?我错过了吗? 有经验的人可以给我一些解释吗? 此致
Dxx and Dyy along with Dxy are used to calculate the Determinant
Dxx = BoxIntegral(img, r - l + 1, c - b, 2*l - 1, w)
- BoxIntegral(img, r - l + 1, c - l / 2, 2*l - 1, l)*3; // Why 3 here?
Dyy = BoxIntegral(img, r - b, c - l + 1, w, 2*l - 1)
- BoxIntegral(img, r - l / 2, c - l + 1, l, 2*l - 1)*3; // Why 3 here?
答案 0 :(得分:2)
您应该参考2008年发布的updated paper,其中提供了其他详细信息,特别是有关盒式滤镜片属性的信息。
如果您参考3.2节和图2,您可以看到盒式滤波器的中心波瓣(黑色)具有负因子-2
,而白色侧瓣具有{{1}的正因子。 1}}。
使用上述公式,因子+1
与简单相关,这要归功于积分图像:
3
,+1
)这为您提供了中心叶(-3
)的-2
预期因子。