前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows编译opencv库

Windows编译opencv库

作者头像
languageX
发布2021-01-29 10:35:39
4.5K0
发布2021-01-29 10:35:39
举报
文章被收录于专栏:计算机视觉CV计算机视觉CV

在图像相关项目中一般都会使用到强大的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_EXAMPLESBUILD_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里添加最简单的测试代码,显示一张图片

代码语言:javascript
复制
#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++ ->预编译头 ->右边选择不使用预编译头

在这里插入图片描述
在这里插入图片描述
再记一枚问题

在编译中出现不存在opencv2\opencv.hpp的或者windows 64位 VS2017 模块计算机类型“x64”与目标计算机类型“X86”冲突 (1)链接器 ->高级->目标计算机设置为MachineX64 (/MACHINE:X64)`

在这里插入图片描述
在这里插入图片描述

(2)链接器->命令行->其他选项设置为MachineX64 (/MACHINE:X64)

在这里插入图片描述
在这里插入图片描述

(3)生成->配置管理器->活动解决方案平台设置为X64

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 编译opencv
  • 使用opencv
    • 添加环境变量
      • 新建工程
        • 调用opencv
          • 记一枚问题
            • 再记一枚问题
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档