我正在尝试编写 SIFT 的实现,作为练习。但是,我遇到了我还没有弄清楚的问题。据我所知,我得到的结果与 SIFT 正好相反:它会找到图像中无趣的平坦区域。我正在使用 VXL。
不管怎样,我对SIFT早期的理解是这样的:
构建高斯金字塔
利用这个金字塔,得到一个差分高斯金字塔
找到所有局部极值以获得潜在的关键点
没关系,因为我还没有走到这一步。
我有一个 pastebin我的代码,如果有人愿意提供帮助,我将永远感激不已。到目前为止,this是我的算法吐出的结果,在每个检测到的“关键点”的位置都有一个洋红色像素。
最后,标准免责声明,如果我做错了什么或违反了一些行为准则,我深表歉意。
最佳答案
您可以查看 sift 的 opencv 实现是否具有相同的行为: http://docs.opencv.org/modules/nonfree/doc/feature_detection.html#sift
关于c++ - 为什么我的 SIFT 实现只能找到平坦区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301897/