我正在实现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?发布于 2013-02-15 18:41:56
您应该参考2008年发布的,其中提供了更多详细信息,特别是关于框过滤器叶属性的详细信息。
如果您参考3.2节和图2,您可以看到箱形滤波器的中央叶(黑色的那个)具有负的-2因子,而白色的侧叶具有正的+1因子。
使用上面的公式,因子3简单地与以下事实相关,这要归功于积分图像:
在整个面积上求和,然后使用-3对中央叶进行减法(
+1 这为您提供了中央叶(1 - 3)的-2预期因子。
https://stackoverflow.com/questions/14793055
复制相似问题