OpenCV 3.0 中缺少非自由模块

2021-12-10 00:00:00 opencv c++ surf

我已经从源代码构建了 openCV 3.0 alpha 版本,支持 CUDA 和 TBB.现在,我想使用 SURF 算法进行特征检测和特征匹配.SurfFeatureDetector 存在于包含文件中

I have built the openCV 3.0 alpha version from source with support for CUDA and TBB. Now, I want to do feature detection and feature matching using SURF algorithm. SurfFeatureDetector is present in the include file

opencv2/nonfree/features2d.hpp &opencv2/nonfree/features2d.hpp

opencv2/nonfree/features2d.hpp & opencv2/nonfree/features2d.hpp

但是这个版本的 openCV 中缺少 nonfree 模块.我尝试在 answers.opencv.org 上查看 opencv 论坛,但该站点正在建设中.

But the module nonfree is missing in this version of openCV. I tried checking the opencv forums at answers.opencv.org but the site is under construction.

如何使用非免费模块?

推荐答案

with opencv3.0, SURF/SIFT 和其他一些东西已经移到一个单独的 opencv_contrib repo .

with opencv3.0, SURF/SIFT and some other things have been moved to a seperate opencv_contrib repo .

您必须下载它,将其添加到您的主要 opencv cmake 设置(请查看那里的自述文件),然后重新运行 cmake/make.

you will have to download that, add it to your main opencv cmake settings (please look at the readme there), and rerun cmake/make.

然后:

#include "opencv2/xfeatures2d.hpp"

...
Ptr<SIFT> sift = cv::xfeatures2d::SIFT::create(...);
sift->detect(...);

相关文章