windows10在visual studio2019下配置使用openCV4.3.0


Posted in Python onJuly 14, 2020

openCV是基于C++开发的一个强大的图像处理库。在用C++处理图像或视频时通常会使用到openCV这个库,但是这个库并非C++中的标准库,因此在使用之前需要先下载,并加载配置到我们的项目中。
那么怎么配置呢?首先你得有以下的所有工具。

  • windows10系统。可以通过镜像安装,也可以通过CD或U盘安装。
  • Visual Studio2019,基于实(省)用(钱),我使用的是community免费版,点击此处可以下载并安装.

点击下面下载中的community2019然后安装即可,具体步骤可参考其他教程案例。

windows10在visual studio2019下配置使用openCV4.3.0

安装完visual studio后就是安装opencv了,opencv在写这篇博客的时候最新版为4.3.0,因此改教程以4.3.0为例,其他版本的安装方式相同。opencv点击此处可以下载

下载完成后直接双击exe文件提取编译好了的文件即可,安装完exe之后会有如下几个文件,其中build文件夹中保存着主要使用到的函数代码块,source文件夹中保存着相关的文档以及其他必要文件。

windows10在visual studio2019下配置使用openCV4.3.0

接下来就是要将opencv的安装路径配置到环境变量中。将opencv中的build文件夹下的x64文件夹下的vec15中的bin路径添加到环境变量中,如下图中我的opencv中的地址:

windows10在visual studio2019下配置使用openCV4.3.0

将以上地址拷贝后加入环境变量中。注意windows10中环境变量分为系统环境变量和用户环境变量,要看你的visual studio的环境变量是在哪一个里面。为了安全起见,建议都加上,如下图:

windows10在visual studio2019下配置使用openCV4.3.0

双击,新建,粘贴地址即可。

现在万事俱备,只欠…啥也不欠了,接下来就打开visual studio创建一个基本的C++项目,然后更改一些配置就可以写opencv代码了。点击创建新项目,找到C++控制台应用(空项目也可以),并输入一个项目名称和项目地址,如下两步:

windows10在visual studio2019下配置使用openCV4.3.0

windows10在visual studio2019下配置使用openCV4.3.0

点击创建之后,需要配置opencv所需的依赖。点击视图,找到“其他窗口”里面的“属性管理器”,点击之后,右边的侧栏中会出现属性管理器。双击项目名称,然后找到VC++目录,将“库目录”和包含目录分别改为opencv所在地址的库目录和包含目录(点击编辑即可),如下图:

windows10在visual studio2019下配置使用openCV4.3.0

注意:包含目录最好将两个都添加进去,一个是include所在的地址,一个是include文件夹下opencv2所在的地址。

windows10在visual studio2019下配置使用openCV4.3.0

那么接下来就愉快的写代码吧,哦,不,还有最后一步。配置链接器中的附加依赖项,附加依赖项就是和bin文件夹同地址中的lib文件夹中的“opencv_worldxxxd.lib"文件,其中xxx表示版本(如4.30版本,则xxx为430,后面的d表示debug),如果是release版的话,把d去掉即可。

windows10在visual studio2019下配置使用openCV4.3.0

这次,可以真正的愉快的敲代码了,敲代码的第一步就是先把头文件包含进来。opencv中几个重要的头文件就是:

windows10在visual studio2019下配置使用openCV4.3.0

把这些头文件都包含好了之后,再通过using namespace cv把cv名空间引入就行了(或者在每需要使用到cv库里的对象或函数时都在前面加一个cv::也行)。

那么接下来就来看一个简单的opencv例子吧,就简单的显示一张图片,图片在opencv中就是Mat对象。代码如下:

#include <iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>

using namespace cv;

int main()
{
  Mat example = imread("F:\\xxxxx\\zhiyezhao.PNG"); //图片地址
  if (example.empty()) {
    std::cout << "ERROR!" << std::endl;
    exit(EXIT_FAILURE); //如果读取不成功直接中断程序,避免引起之后代码产生不可预知的异常
  }
  imshow("我的职业照", example);
  waitKey(0); //这一行一定不要忘了,否则照片就会闪现的,此处表示窗口停顿多久,单位为毫秒,0表示永久

}

显示如下:
当然你们是看不到这张图片的,帅气的职业照是不能随意给大家看的(傲娇脸)。

到这里为止就大功告成啦,快乐的写你自己的代码去吧!

什么,你还是碰到了以下错误?

windows10在visual studio2019下配置使用openCV4.3.0

这个就是因为你没有使用x64模式而是x86模式,只需要把图中的模式改掉即可

windows10在visual studio2019下配置使用openCV4.3.0

什么,你又碰到了下面这个错误?

windows10在visual studio2019下配置使用openCV4.3.0

这个是因为使用了相对路径,去属性里面把链接器中的输入依赖项目改成绝对路径即可,如下:

windows10在visual studio2019下配置使用openCV4.3.0

接下来就没什么大问题了。

到此这篇关于windows10在visual studio2019下配置使用openCV4.3.0的文章就介绍到这了,更多相关vs2019配置使用openCV4.3.0内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的ORM框架SQLObject入门实例
Apr 28 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
Python3中的2to3转换工具使用示例
Jun 12 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
使用pandas的DataFrame的plot方法绘制图像的实例
May 24 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
python 读取文件并把矩阵转成numpy的两种方法
Feb 12 Python
Python语言异常处理测试过程解析
Jan 08 Python
Python sep参数使用方法详解
Feb 12 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
Python 数据可视化之Bokeh详解
Nov 02 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 #Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 #Python
python3 循环读取excel文件并写入json操作
Jul 14 #Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 #Python
Python爬虫爬取新闻资讯案例详解
Jul 14 #Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
Jul 14 #Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 #Python
You might like
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP可变变量学习小结
2015/11/29 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
js获取页面description的方法
2015/05/21 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
js断点调试经验分享
2017/12/08 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
Python定义一个函数的方法
2020/06/15 Python
Python如何读写CSV文件
2020/08/13 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
华为python面试题
2016/05/03 面试题
方正Java笔试题
2014/07/03 面试题
《桃花心木》教学反思
2014/02/17 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
AngularJS实现多级下拉框
2022/03/25 Javascript