您的位置:首页 > 运维架构

Win7上编译OpenCV3.2与扩展模块

2017-04-01 17:07 330 查看

一:准备

前几天在写代码的时候发现周围有人都换到了OpenCV3.2上面去啦,我当时就把OpenCV3.1包给删啦,立马下载OpenCV3.2,下载地址在这

里:http://opencv.org/opencv-3-2.html

选择Windows自解压的那个连接点击进去即可下载OpenCV3.2的Windows版本。下载以后解压缩到指定目录即可。

扩展模块下载地址

https://github.com/opencv/opencv_contrib

同样下载好之后先解压缩到指定目录即可。

然后就可以下载CMake了,我用的是CMake3.7.2这个版本,貌似不是最新版本,大家可以下载最新版本。下载安装好了之后就可以开始编译了。

二:编译OpenCV3.2

说一下机器环境 Win764位 + VS2015。

首先要打开CMake GUI然后设置好源代码路径与编译路径,显示如下:



点击【configure】之后会弹出对话框,让你选择编译的位数与版本,记得一定选择VS2015 + Win64的,(当然要根据实际情况来),选择好啦显示如下:



点击【Finish】就会开始配置编译,如果一切顺利就会看到如下界面



在一堆红色区域的Name列对应有一个是设置扩展模块路径的额,看下图的蓝色矩形框,选择设置好即可。



设置好OpenCV扩展模块的路径之后再次点击【configure】按钮。如果一切正常结束之后再点击【generate】按钮。结束之后CMake就编译好啦。显然如下图:



然后在设置的编译路径上D:\opencv3.2\opencv\newbuild目录里面会有个OpenCV.sln文件,双击就可以在VS2015中打开找到

-CMakeTargets->INSTALL右键在弹出的菜单中选择生成即可



如果一切OK,就会生成install目录,以我本机的目录结构为例

D:\opencv3.2\opencv\newbuild\install

点击进去,配置好VS2015之后即可使用。

上面说的是理论应该这样顺利,但是实际不是这么回事情。

几个要注意坑

坑一:

CMake的时候报Download错误与MD5文件校验错误,愿意是因为OpenCV3.2中会去下载谷歌的protobuff和TensorFlow相关第三方程序,结果下载不了,网络就挂啦!原因是OpenCV3.2集成了深度学习框架TensorFlow相关的接口。

坑二

找不到ippicvmt.lib,我也不知道怎么会事情,OpenCV3.2居然没有它编译放到install/lib里面去,而是在第三方的那个目录下面lib里面,所以我手动copy了放到一起。

坑三

我在正常配置之后,在Tracking模块中发现selectROI函数居然用不了,搞了半天,是因为tracking.hpp居然没有把它作为头文件包含进来,这个跟OpenCV3.2的教程上有点不一致。所以我手动包含了一下。最终我的OpenCV3.2+VS2015的配置搞好啦!

测试程序运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: