WIN10下VS2015用cmake配置opencv3.4.4和opencv_contrib3.4.4模块

因为opencv3之后把很多不稳定的模块放到了contrib里面,只安装opencv3.x的话没法使用,只好安装一遍contrib。

目前看到安装contrib的方法都是采用cmake对opencv和contrib的源码进行编译,在这里马克一下。

这里我编译的是3.4.4版本,但是其他版本也ok,都是一个套路,关键是opencv和contrib的版本要一致。

下载cmake的时候也要注意一下是否适用某个版本的opencv,根据下面这篇博客来基本没有什么问题!!!

https://blog.csdn.net/qq_31334371/article/details/86663574

遇到的问题:

1.configure过程

提示错误:查看CMakeLists.log,发现是vs平台的问题,需要更新SDK,可能默认了8.1,但是并不适用。

解决办法:打开vs2015,下载更新对应的SDK就可以了

2.加入contrib再进行configure过程

勾选需要生成的模块,除了勾选上面链接博客中的两个模块,还可以勾选BULID_EXAMPLES、BUILD_opencv_world。

勾选BUILD_opencv_world之后在添加链接器lib的时候会比较方便,因为它把所有的都放在opencv_world344d.lib中了,不需要逐个添加,几十个上百个真是吃不消的,效果如下:

没有勾选BUILD_opencv_world时,在vs工程中配置链接器---输入时需要添加的lib文件

WIN10下VS2015用cmake配置opencv3.4.4和opencv_contrib3.4.4模块只截取了一小部分

勾选BUILD_opencv_world时,在vs工程中配置链接器---输入时需要添加的lib文件

WIN10下VS2015用cmake配置opencv3.4.4和opencv_contrib3.4.4模块这里版本应该是你安装的opencv版本,d说明是debug版本,release版本没有d。

效果对比很明显,所以建议勾选一下比较方便~~~

另外,如果configure之后还有一部分是红色的,那么就再configure一次,直到没有红色

3.最后在测试阶段,执行测试代码的时候

运行时出现错误:由于找不到opencv_world344d.dll,无法继续执行代码。。。

WIN10下VS2015用cmake配置opencv3.4.4和opencv_contrib3.4.4模块

解决方法:

此时,检查一下在计算机系统环境配置时的Path路径是否正确,对应文件夹下是否存在该dll文件,

如果检查无误,但是还是出现这个问题,那么把自己opencv文件目录下的D:\APP\OpenCV\opencv3.4.4_x64\install\x64\vc14\bin(本人的路径)中的三个dll文件,拷贝到C:\\window\\System32和C:\\window\\SysWOW64 中。如果是64位系统拷贝到System32文件夹中,32位系统则拷贝到SysWOW64中,如果自己确定不了,一个懒方法是两个系统文件夹内都拷贝过去。

WIN10下VS2015用cmake配置opencv3.4.4和opencv_contrib3.4.4模块

再运行一下,问题应该已经解决了。

简单记录一下,以防再次需要踩坑~~~~~~