5

我正在尝试编写 SIFT 的实现,就像练习一样。但是,我遇到了我还没有弄清楚的问题。据我所知,我得到的结果与 SIFT 相反:它会发现图像中无趣的平坦区域。我正在使用 VXL。

无论如何,我对SIFT早期阶段的理解如下:

  1. 建立一个高斯金字塔

  2. 使用这个金字塔,得到一个高斯差金字塔

  3. 查找所有局部极值以获得潜在关键点

  4. 没关系,因为我没有走到这一步。

我有我的代码的粘贴箱,如果有人愿意提供帮助,我将永远感激不尽。到目前为止,就是我的算法吐出的内容,在每个检测到的“关键点”的位置都有一个洋红色像素。

最后,标准免责声明,如果我做错了什么或违反了某些行为规则,我深表歉意。

4

2 回答 2

0

您可以查看 sift 的 opencv 实现是否具有相同的行为: http ://docs.opencv.org/modules/nonfree/doc/feature_detection.html#sift

于 2013-04-15T12:44:02.113 回答
0

对于任何有这个问题的人:我相信那是因为你弄错了模糊常数。我也犯了错误。

BLUR_i+1_oct(j) = BLUR_i_oct(j)*BLUR_STEP_CONSTANT;
BLUR_0_oct(j+1) = 2*BLUR_0_oct(j);

例如 sigma = 1.5,模糊应该是:

1 -> 1.5 -> 1.5^2 -> 1.5^3 -> 1.5^4
2 -> 2*1.5 -> ...
于 2013-11-08T18:49:48.200 回答