我有一个简单的问题,我想知道,有哪些类型的库可用并且可以为在 c++ 或 opencv 中实现 SIFT、HOG(面向直方图的梯度)和 SURF 提供良好的结果?
因此: 1- 如果可以的话,请给我代码链接,我将不胜感激。2-如果您知道其中一个或任何类型的信息来引导我找到我想要的东西,我也会非常感激。
谢谢
openCV中的冲浪代码示例 https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/matching_to_many_images.cpp
检查这些: surf - 很棒的文章 http://people.csail.mit.edu/kapu/papers/mar_mir08.pdf sift - 很好的来源,我在 iPhone 上试过 http://blogs.oregonstate.edu/hess/ - fast - 快速角检测库 http://svr-www.eng.cam.ac.uk/~er258/work/fast.html
小心 OpenCV 实现,因为最新版本的 OpenCV 已将 SIFT 和 SURF 实现分类为非自由 http://docs.opencv.org/modules/nonfree/doc/nonfree.html。
现在您可以使用它们,但它们可能需要获得许可,不能用于商业解决方案。
可能会帮助您了解 SIFT 和 SURF 实现已经集成到 OpenCV 中。 http://opencv.willowgarage.com/documentation/cpp/features2d__feature_detection_and_descriptor_extraction.html
这个使用基于 HoG、Sobel 和 Lab 通道的描述符来检测用于对象检测的特定类霍夫森林(opencv/c 源代码)。
这种方法不是在每个可能的位置执行检测,而是为每个描述符计算一个投票,然后当它们放在一起时,它们会产生一个投票云,其中最大值将对应于目标的最可能位置。与 cvGoodFeaturesToTrack 结合使用时可以产生非常好的结果,即使是小型训练数据库。