如何在 OpenCV 3.0.0、Visual Studio 2013、C++ 中检测关键点、计算描述符并匹配这些描述符?

How to detect keypoints, compute descriptors and match those descriptors in OpenCV 3.0.0, Visual Studio 2013, in C++?

我看过OpenCV的文档。在那里,SurfFeatureDetectorSurfDescriptorExtractorBruteForceMatcher 被使用。

但是当我在我的代码中尝试时,它显示 -

Error : identifier "SurfFeatureDetector" is unidentified.

另外两个也一样。

在浏览了一些帖子和论坛后,我尝试包含一些头文件,例如 - #include <opencv2 nonfree="" features2d.hpp=""> 和其他一些,但这些文件不存在。所以显示另一个错误说 -

Error : Cannot open source file "opencv2/nonfree/features2d.hpp"

在 OpenCV 3.0.0 中是否有任何替代方法来执行这些操作?

我有类似的问题,当我在我的系统上本地构建 Opencv 而不是使用预构建的库时,它得到了修复。您可以参考此线程在您的系统上构建 Opencv

在 opencv3.0 中,SURF/SIFT/BruteForceMatcher 已移至单独的 opencv_contrib 存储库,您可以下载它并更改 cmake 路径以供 Visual Studio 识别这些函数。虽然它确实是在我的系统上本地构建后出现的,没有做任何额外的修改。

在本地构建后,您可以在以下路径中找到它 Build_folder/install/include/opencv2/features2d.hpp