opencv - 无法向 OpenCV 添加额外的模块(即使使用匹配版本的 opencv/opencv_contrib)

标签 opencv ubuntu opencv-contrib

我正在尝试在运行 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/

相关文章:

linux - 如何阻止 Pop_OS 20.10 在启动时默认为故障显示设置?

php - 有没有办法在 PHP 5.4 旁边运行 PHP 5.3

opencv - 如何使用 OpenCV_Contrib 检测视频中的地标?

opencv - 错误:找不到符号CV_32FC3

python - 使用 Homebrew : No head is defined for opencv 安装 OpenCV3

.net - 在 Ubuntu VM 上安装 .Net Core 时出错 : "dotnet restore" fails in CurlHandler. SetProxyOptions()

c++ - 没有为 opencv_contrib 创建 makefile

python - 属性错误 : module 'cv2.face' has no attribute 'createlbphfacerecognizer'

opencv - OpenCV 库中的 FindContours 函数如何工作?

python-2.7 - 如何在骨架化的迷宫图像中找到最短路径?