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库,其就有vc14vc15两个文件夹;具体选择哪一个文件夹中的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\includeC:\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是一个指向图片文件的路径,大家可以基于自己电脑中的任何一张图片文件来修改这一路径。

cpp 复制代码
#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库的配置没有问题。

  至此,大功告成。

相关推荐
raindayinrain1 小时前
c++并发
c++
j7~1 小时前
【C++】智能指针的使用及其原理--详解
c++·c++11·内存泄漏·智能指针·raii·boost智能指针
Persistent的粽子!2 小时前
C++:类与对象(一)
开发语言·c++·经验分享·笔记
库玛西3 小时前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
2402_882893863 小时前
深入浅出 unordered_map 与 unordered_set——从使用到底层差异
c++·哈希·unordered_map·unordered_set
今天要早睡_3 小时前
C++ 核心语法速过:命名空间、引用、函数重载与 nullptr 深度解析
android·java·c++
汉克老师4 小时前
CSP-J 初赛(以满分为目标):第二十七课 《图的遍历——BFS广度优先搜索——像“水波纹”一样,一层一层地搜索》
c++·csp-j·小学生·学c++编程
闻缺陷则喜何志丹4 小时前
【动态规划】P3609 [USACO17JAN] Hoof, Paper, Scissor G
c++·算法·动态规划·洛谷
汉克老师4 小时前
CSP-J 初赛(以满分为目标):第二十六课 《图的遍历——DFS深度优先搜索——从“树的先序遍历”走进真正的图世界》
c++·csp-j·小学生·学c++编程
程序猿编码4 小时前
基于GGML的C++17轻量化语音推理引擎:说话人识别与语音分析技术全解析
开发语言·c++·pytorch·深度学习·神经网络·大模型