【发布时间】:2026-01-08 11:00:02
【问题描述】:
我正在尝试使用 Linux 上 opencv_contrib 中的 xfeatures2d 模块构建 OpenCV,但我无法构建任何额外的模块。这是我尝试过的(我基本上按照我在网上和opencv_contrib的README文件中找到的说明进行操作):
- 从 github 下载 opencv 和 opencv_contrib:
$ git clone https://github.com/opencv/opencv.git
$ git clone https://github.com/opencv/opencv_contrib.git
- 创建构建目录:
$ cd ~/opencv
$ mkdir 释放
$ cd 发布
- 运行 cmake:
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local –D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D WITH_LIBV4L=on -D WITH_GSTREAMER=on -D WITH_OPENGL=on -D WITH_VTK= on -D BUILD_EXAMPLES=ON -D WITH_GTK=on -D WITH_QT=on ..
我已经指定了 opencv_contrib/modules 的路径(也尝试了绝对路径,但没有区别),我确信这是正确的路径。 CMake 似乎运行没有错误,但它不想构建额外的模块。这是 cmake 的输出:
-- OpenCV 模块:
-- 待建:core flann imgproc ml objdetect photo video dnn imgcodecs shape videoio highgui superres ts features2d calib3d java 拼接videostab python2
-- 禁用:世界
-- 被依赖项禁用:-
-- 不可用:cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev python3 viz
我只有“标准”模块,但没有来自 opencv_contrib... 如果我此时构建库,我只会得到“标准”库(如预期的那样)。我尝试通过添加 -D BUILD_opencv_xfeatures2d=ON 来显式启用 xfeatures2d,并且我也尝试不构建示例但没有任何效果。
有人知道我做错了什么吗?
感谢您的帮助。
【问题讨论】: