Windows编译opencv库
在图像相关项目中一般都会使用到强大的Opencv库,有时候还需要裁剪或者修改源码适应自己项目。今天就介绍下在Windows下如何编译和配置opencv。
准备工作
我的操作系统是win7 64位操作系统,再编译opencv前我们需要先准备好以下工具:
1.安装CMake
先到
官网
下载Cmake编译工具,我在安装最新版本
3.15.3
后在编译过程中会出现
缺少unistd.h
的问题,后改为
3.10.2
版本不会有问题。
2.下载opencv源码
到
opencv官网
下载opencv的源码,我下载的
opencv-3.4.1-vc14_vc15
版本,这个根据自己需求下载,最好先查阅下工具之间的依赖版本,不然会出现各种兼容性问题。
下载后解压,目录结构如下
3.下载安装Vistual Studio
官网 下载安装编译IDE,我安装的是VS2017。
编译opencv
有了以上的工具和opencv源码后我们就可以开始编译了~
首先安装下载的Cmake,在安装过程中注意选择把工具加入环境变量,省去后面手动添加环境变量。 然后打开Cmake,编译目录里选择刚下载的opencv源码对应目录
点击
configure
,选择自己的编译IDE,我的是
VS2017 win64
配置成功后会出现
Configuring done
,如下图
然后手动勾选掉
BUILD_EXAMPLES
和
BUILD_opencv_world
,还可以把不需要编译的勾选掉,然后再点击
Configure
,再次执行配置,完成后界面如下
该步骤完成后选择
generate
,顺利的话会提示
generating done
,如下图:
配置成功后,就需要打开IDE开始编译了,点击
open Projec
打开VS2017后,选择
生成
–
批生成
在弹出框中选择
INSTALL
的两个选项,(我这里是因为已经生成了所以是uninstall)
接着就是等着编译了,这个时间比较长,成功后会在E:\opencv\opencv-3.4.1-vc14_vc15\opencv\build\install\x64\vc15\bin目录下会生成相应的动态库
到此,win系统本地编译OpenCV的工作就全部完成了~
使用opencv
下面我们了解下在工程中如何使用我们编译的库
添加环境变量
右击
电脑
->
属性
->
高级系统设置
->
环境变量
->
系统变量
->
编辑Path
-> 添加环境变量
E:\opencv\opencv-3.4.1-vc14_vc15\opencv\build\install\x64\vc15\bin
新建工程
1.打开VS,新建一个空工程
2.右键工程进入工程
属性页面
先查看下
常规
–
输出目录
然后找到这个目录把我们生成好的dll和Lib(在E:\opencv\opencv-3.4.1-vc14_vc15\opencv\build\install\x64\vc15目录中)拷贝到这个输出目录
3.进入
C/C++
->
常规
->
附加包含目录
进行编辑,把以下三个目录添加进来
4.进入
链接器
->
附加库目录
把lib库目录添加进来
4.进入
链接器
->
输入
->
附加依赖项
添加lib包
配置完成了~下面就可以使用opencv的API了
调用opencv
我们在.cpp里添加最简单的测试代码,显示一张图片
#include<opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
Mat img = imread("E:\\test.png");
imshow("img", img);
waitKey(0);
return 0;
}
运行~可以看到我们的test 图片。如果首次出现图像为空的错误,可以重启下IDE再运行
完成!~~~
记一枚问题
如果在运行中遇到了“是否忘记了向源中添加”#include"pch.h""
解决方案:
右键工程
->
属性
->
配置属性
->
C/C++
->
预编译头
->
右边选择不使用预编译头