安装opencv后如何安装OpenCV_contrib模块
How install OpenCV_contrib modules after installing opencv
我决定使用 opencv 的一些额外模块,所以我应该先安装 OPENCV_CONTRIB
,
我从 this github repo. 下载了 contrib 并提取了我安装 opencv 的相同目录。
opencv files : /programs/opencv3.0
opencv build: /programs/opencv3.0/build
contrib folder:/programs/opencv3.0/opencv_contrib_master
然后我在 CMake 中添加了额外的模块路径,当我按下“配置”按钮时,出现错误:
配置过程出错,工程文件可能无效
在底部 window 有这个错误:
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)
请帮帮我!
您正在尝试安装 contrib 模块,这些模块在 3.1 中发布并在 3.2 中发生了很大变化。 (google nn 的 protobuff 是新功能)
所以现在构建它可能是一个问题。
我在星期五用 contrib 构建了 3.2,它运行良好。请非常仔细地遵循本教程:http://docs.opencv.org/3.2.0/d3/d52/tutorial_windows_install.html
我建议您使用 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 配置以满足您的需求。
我决定使用 opencv 的一些额外模块,所以我应该先安装 OPENCV_CONTRIB
,
我从 this github repo. 下载了 contrib 并提取了我安装 opencv 的相同目录。
opencv files : /programs/opencv3.0
opencv build: /programs/opencv3.0/build
contrib folder:/programs/opencv3.0/opencv_contrib_master
然后我在 CMake 中添加了额外的模块路径,当我按下“配置”按钮时,出现错误: 配置过程出错,工程文件可能无效
在底部 window 有这个错误:
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)
请帮帮我!
您正在尝试安装 contrib 模块,这些模块在 3.1 中发布并在 3.2 中发生了很大变化。 (google nn 的 protobuff 是新功能) 所以现在构建它可能是一个问题。 我在星期五用 contrib 构建了 3.2,它运行良好。请非常仔细地遵循本教程:http://docs.opencv.org/3.2.0/d3/d52/tutorial_windows_install.html
我建议您使用 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 配置以满足您的需求。