我正在尝试在运行 Ubuntu 14.04.2 的计算机上安装带有额外模块的 OpenCV(我需要这个特定版本的 Ubuntu,因为我正在使用一些需要它的其他硬件)。上周我能够在 Raspberry Pi 3 上做到这一点(运行 Ubuntu Mate 16.04.3),但现在我似乎无法做到这一点。
我知道 opencv_contrib-version 需要与 opencv-version 相同,并且我尝试过构建许多不同的版本,但没有成功(3.4.0、3.3.0、3.2.0、3.1.0)。
下载 opencv 和 opencv_contrib 的匹配版本后,我从终端执行以下命令:
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D OPENCV_EXTRA_MODULES_PATH = ../../opencv_contrib/modules ..
opencv 和 opencv_contrib 文件夹都位于桌面上,因此“../../opencv_contrib/modules”路径应该是正确的。
但是额外的模块没有构建。以下是 cmake 输出的部分内容:
-- OpenCV modules:
-- To be built: core flann imgproc ml objdetect photo video dnn imgcodecs shape videoio highgui superres ts features2d calib3d stitching videostab
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python2 python3 viz
正如您所看到的,仅包含标准模块。我见过很多人遇到同样的问题,但解决方案始终是拥有匹配的 opencv/opencv_contrib 版本。现在我知道版本是正确的,我不知道我做错了什么。
最佳答案
在 cmake
调用中,=
周围有多余的空格,因此路径设置不正确。删除两个空格就可以了:
cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
关于opencv - 无法向 OpenCV 添加额外的模块(即使使用匹配版本的 opencv/opencv_contrib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48750244/