安装opencv后如何安装OpenCV_contrib模块

时间:2017-06-06 12:16:45

标签: c++ opencv ubuntu cmake opencv3.0

我决定使用一些额外的opencv模块,所以我应该先安装OPENCV_CONTRIB, 我从http://www.voidtricks.com/password-show-hide-checkbox-click/下载了contrib并解压缩了我安装opencv的目录。

opencv files : /programs/opencv3.0
opencv build:  /programs/opencv3.0/build
contrib folder:/programs/opencv3.0/opencv_contrib_master

然后我在CMake中添加了额外的模块路径,当我按下配置按钮时,我收到一个错误: 配置过程出错,项目文件可能无效

并在底部窗口中出现此错误:

CMake Error at opencv_contrib-master/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake:32 (ocv_download):
  Unknown CMake command "ocv_download".
Call Stack (most recent call first):
  opencv_contrib-master/modules/dnn/CMakeLists.txt:5 (include)

请帮帮我!

2 个答案:

答案 0 :(得分:1)

您正在尝试安装在3.1中发布的contrib模块,并在3.2中进行了大量更改。 (针对nn的google protobuff是新功能) 所以现在构建它可能是一个问题。 我在星期五建造了带有contrib的3.2并且效果很好。请仔细阅读本教程:http://docs.opencv.org/3.2.0/d3/d52/tutorial_windows_install.html

答案 1 :(得分:1)

我建议您使用head / master版本(或至少源代码)以保持 opencv opencv contrib 同步,并且因为opencv contrib的版本不那么频繁。如果您计划自动更新它,则可能需要使用脚本。在bash脚本(update.sh)中:

#!/bin/bash
cd opencv && git pull
cd ../opencv_contrib && git pull

然后使用powershell:

$src = "I:/opencv-master/opencv"
$srcextra = "I:/opencv-master/opencv/opencv_contrib"
$build = "I:/opencv-master/build"
$target = "Visual Studio 15 2017 Win64"
bash update.sh
cd $build

rm -Recurse -Force CMake*
cmake -G $target -T v140,host=x64 `
    -DOPENCV_ENABLE_NONFREE=1 `
    -DOPENCV_EXTRA_MODULES_PATH="../opencv_contrib/modules" `
    ../opencv | Tee-Object -Variable RESULT
if("$RESULT" -eq 1)
{
    "cmake didn't succeed, exiting."
    exit
}
msbuild.exe OpenCV.sln /verbosity:m /m
cd ..

然后你要做的就是运行powershell脚本。您可以使用变量-DXXX调整您的cmake配置,以满足您的需求。