Visual Studio部署C++环境下OpenCV库
本文介绍在Visual Studio 2022中配置、编译C++计算机视觉库OpenCV的方法。
1 OpenCV库配置
首先,我们进行OpenCV库的下载与安装。作为一个开源的库,我们直接在其官方下载网站中进行下载即可;如下图所示,我们首先选择需要下载的操作系统。

随后,即可在弹出的新界面中自动开始OpenCV库的下载。

下载完毕后,可以得到OpenCV库的.exe格式文件。

我们双击这一.exe格式文件,即可开始OpenCV库的文件提取过程,也就相当于是安装过程;其中,我们首先需要选择OpenCV库安装的路径。

随后,即可开始OpenCV库的文件提取。

OpenCV库文件提取完毕后,会得到如下所示的文件夹。这里建议将这一文件夹放在纯英文路径下。

接下来,基于Windows电脑环境变量(用户变量、系统变量)的修改提到的方法,配置OpenCV库相关的环境路径。其中,需要在“系统变量”的“Path”中进行操作。

如下图所示,我们将OpenCV库中...\build\x64\vc15\bin路径放入“系统变量”的“Path”中,在我这里这一路径就是C:\opencv\build\x64\vc15\bin。
其中,需要注意的是,OpenCV库中一般会有两个VC版本对应的文件夹,例如我这里下载的4.6.0版本的OpenCV库,其就有vc14与vc15两个文件夹;具体选择哪一个文件夹中的bin文件夹,需要结合我们的Visual Studio软件版本来判断——一般的,只要Visual Studio软件版本是2017年及之后的版本(例如我这里就是Visual Studio 2022),那么就选择vc15这个文件夹;如果Visual Studio软件版本是2015年的,那么就选择vc14这个文件夹;如果Visual Studio软件版本是2015年之前更早的版本,那么最好就更换老版本的OpenCV库,从而找到适配的VC版本。

2 Visual Studio环境配置
接下来,我们基于安装Visual Studio的详细流程提到的方法,新建一个项目,其名称与路径大家可以自行设置。

随后,按照上述文章中的方法,新建一个.cpp格式的源文件。

接下来,按照如何在Visual Studio新C++项目中调用之前配置过的库?提到的方法,分别进行OpenCV库的附加包含目录、附加库目录与附加依赖项的配置。
首先,将附加包含目录配置为OpenCV库的C:\opencv\build\include与C:\opencv\build\include\opencv2等2个路径;如下图所示。

随后,将附加库目录配置为OpenCV库的C:\opencv\build\x64\vc15\lib这一路径;如下图所示。这里需要注意,具体使用哪一个VC版本对应的文件夹路径,还是和前文提到的一样,依据大家的Visual Studio版本来确定。

最后,我们找到OpenCV库的C:\opencv\build\x64\vc15\lib文件夹,可以看到其中有两个.lib格式的文件。

其中,如果我们需要配置Debug版本的OpenCV库,那么就选择名称最后面带有字母d的.lib格式文件(也就是上图中选中的那一个文件);如果需要配置Release版本的OpenCV库,那么就选择名称最后不带有字母d的.lib格式文件。随后,将这一文件的路径复制到附加依赖项中;如下图所示,我这里准备配置Debug版本的OpenCV库,因此就选择了名称最后面带有字母d的.lib格式文件。此外,这里还是一样的,具体使用哪一个VC版本对应的文件夹路径,依据大家的Visual Studio版本来确定即可。

3 代码测试
通过上述步骤,我们完成了OpenCV库的配置工作;此时可以通过一些简单的代码来测试OpenCV库配置是否正确。
例如,可以通过以下代码来测试OpenCV库的配置情况。其中,pic_path是一个指向图片文件的路径,大家可以基于自己电脑中的任何一张图片文件来修改这一路径。
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
const char* pic_path = "E:/99_Other/公众号与博客/03_图库/Amos2.png";
Mat pic = imread(pic_path, 1);
imshow("My Picture", pic);
waitKey();
return 0;
}
随后,在Visual Studio中运行上述代码。

运行代码后,如果出现如下所示的情景,即我们通过pic_path指定的图片可以正常显示出来,说明OpenCV库的配置没有问题。

至此,大功告成。
Visual Studio部署C++环境下OpenCV库的更多相关文章
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- Visual Studio 2017开发环境的安装
Visual Studio 2017是微软为了配合.NET战略推出的IDE开发环境,同时也是目前开发C#程序最新的工具,本节以Visual Studio 2017社区版的安装为例讲解具体的安装步骤. ...
- Python3.5在Windows7环境下Scrapy库的安装
Python3.5在Windows7环境下Scrapy库的安装 忙活了一下午,总算是把Scrapy库给装完了,记下来给需要帮助的人 首先安装的环境:Windows7 64位 Python的版本是:3. ...
- Visual Studio 2017 15.7 下的.NET Core
Visual Studio 2017 15.7版本发布,对.NET Core项目的主要相关改变如下, 同时对Xamarin.Android和iOS项目的支持上也做了较大改进. 一. .NET Core ...
- Visual Studio 控制台应用程序 同时使用OpenCV和matlab mat文件操作
matalb具有灵活的图像处理,代码编写起来简洁而高效.而OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,而且代码运行起来效率很高.所以如何结合两者之间的优点,是让很多学术 ...
- Visual studio 通用开发环境配置:SDL,FFMPEG为例
引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...
- OpenGL超级宝典visual studio 2013开发环境配置,GLTools
做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及 ...
- 转 Visual C++6.0 与matlab联合编程(2)----Visual C++6.0 环境下编译和调试MEX文件
我的最初想法是利用matlab的mex命令调用C++程序生成动态链接库的,但是测试程序(文中另附)通过了,自己的实际应用程序却没有过.还是把方法贴在这儿,以便自己以后进行整理. http://shij ...
- 使用 Visual Studio 部署 .NET Core 应用
可将 .NET Core 应用程序部署为依赖框架的部署或独立部署,前者包含应用程序二进制文件,但依赖目标系统上存在的 .NET Core,而后者同时包含应用程序和 .NET Core 二进制文件. 有 ...
- 驱动开发:配置Visual Studio驱动开发环境
在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.ex ...
随机推荐
- 小白学k8s(12)-k8s中PV和PVC理解
pv和pvc 什么是pv和PVC 生命周期 PV创建的流程 1.创建一个远程块存储,相当于创建了一个磁盘,称为Attach 2.将这个磁盘设备挂载到宿主机的挂载点,称为Mount 3.绑定 持久化卷声 ...
- 分布式ID介绍&实现方案总结
分布式 ID 介绍 什么是 ID? 日常开发中,我们需要对系统中的各种数据使用 ID 唯一表示,比如用户 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品,订单 ID 对应且仅对应一个订单. ...
- SqlSugar Code First
注意点 1.SqlSugar Code First可以快速开发,使用起来也要分阶段使用,比如早期随便搞,中后期需要禁用一些功能保证数据安全(标题6和7 ) 2.数据库账号需要有比较高的权限, 3. ...
- PaddleNLP基于ERNIR3.0文本分类以CAIL2018-SMALL数据集罪名预测任务为例【多标签】
相关项目链接: Paddlenlp之UIE模型实战实体抽取任务[打车数据.快递单] Paddlenlp之UIE分类模型[以情感倾向分析新闻分类为例]含智能标注方案) 应用实践:分类模型大集成者[Pad ...
- Linux的用户和权限 [补档-2023-07-07]
Linux用户和权限 3-1. su用户切换命令 exit用户退出命令 用户切换命令的语法: su [-] [用户名] 其中: - 可选,表示是否在切换用户后加载环境变量,建议带上. ...
- 遥感图像处理笔记之【Multi-label Land Cover Classification with Deep Learning】
遥感图像处理学习(3) 前言 遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月14日 2024年1月24日搬运至本人博客园平台 文章标题:Multi-label Land Cov ...
- SpringBoot接入阿里云oss
1.pom中添加阿里云oss坐标 <?xml version="1.0" encoding="utf-8"?> <dependencies&g ...
- Redis主从配置、数据持久化、集群
发布订阅 ## subscribe 订阅一个或者多个频道 ## publish 给指定的频道发送消息 ## psubscribe 订阅指定模式的频道,*代表所有 ## pubsub channels ...
- 小知识:MySQL配置文件优先级
今天在RHEL7上,严格按之前的安装规范文档,部署MySQL环境时,发现通过服务的方式启动MySQL失败: 关键错误是: log-error set to '/var/log/mariadb/mari ...
- 4.2使用IDA Pro分析实战--《恶意代码分析实战》
使用 IDA Pro 分析 Lab05-01.dll 1.DllMain的地址是什么? 2.使用Imports窗口并浏览到的gethostbyname,导入函数定位到什么地址? 3.有多少函数调用了g ...