VS2015+Cmake3.8+opencv3.2+opencv-contrib3.2编译及配置步骤及问题解决方法

由于opencv2中很多函数和新的库,比如人脸识别,神经网络这些库都没有,而且像特征检测这些算法被放在了额外库中opencv-contrib中,所以需要将opencv-contrib和opencv一起编译,生成新的包含opencv-contrib的新opencv,说一下具体步骤

一,准备工具

1.opencv3.2
2.opencv-contrib
3.Cmake3.8
4.vs2015
注:
哪个版本的都可以,关于vs2015比较坑,因为他安装之后是不完全的,需要继续安装完整的通用c++开发平台,这个问题下面会提到

二丶配置步骤

1)Cmake编译opencv-contrib

这里写图片描述
source code:opencv文件中的source
binaries:重新编译的opencv放入的文件夹
Current Generator:一般就是你电脑带的VS

选择好之后,点击configure
这里写图片描述
找到OPENCV_EXTRA_MODULES_PATH,然后把其路径改为opencv-contrib的modules文件夹,并且我把带cuda的全部取消勾选了,cuda是在是太烦了,可以根据自己的需要来选择
这里写图片描述
然后点击configure,没有错,然后点击Gnerate就可以了,
这里写图片描述
完成之后直接点Open Project就可以了

2)生成opencv.sln和INSTALL

这里写图片描述

按F7生成整个解决方案,在Debug和Release下各生成一次,可能比较耗时,生成之后再CMakeTargets下生成INSTALL即可

3)配置重新编译好的Opencv

先看一下编译好的文件夹把
这里写图片描述
在mybuild中生成了一个install文件夹和未编译时文件夹差不多,配置就配置install文件夹下的库和包含目录
这里写图片描述
这里写图片描述
这里写图片描述

关于附加依赖项:

我们可以简写,不用手动添加每一个库,超级简便
debug下: *d.lib就可以了
mybuild\install\x64\vc14\lib*d.lib
release下:*.lib
mybuild\install\x64\vc14\lib*.lib

路径添加:

把D:\opencv3.2\opencv\build\mybuild\install\bin添加到系统变量path中

并把vc14\bin下的多有文件分别拷到C盘Windows下的System32和SysWOW64下
这里写图片描述

三丶可能出现的问题

1.在Cmake编译阶段,找不到编译器,报错
The C compiler identification is unknown
The CXX compiler identification is unknown

具体解决办法在上一篇博客中
Cmake+vs2015编译Opencv-contrib报错“CXX compiler identification is unknown ”解决方法

2.都配置好了程序也没有跑错,跑的过程中报错由于找不到opencv_core320.dll,无法继续执行代码,重新安装程序可能会解决此问题

解决方法:把vc14\bin下的所有文件拷到C盘Windows文件夹System32和SysWOW64下

猜你喜欢

转载自blog.csdn.net/weixin_38285131/article/details/80342025