我决定使用一些额外的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)
请帮帮我!
答案 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配置,以满足您的需求。