【图文详解】Visual_studio中配置C++版OpenCV(超详细图像教程,附C++测试代码)

【图文详解】Visual_studio中配置C++版OpenCV(超详细图像教程,附C++测试代码)
在这里插入图片描述

💪图像算法工程师 | 深耕并挚爱的图像处理💪
💪🧑‍💻🔍✨📈 持续为你点亮技术灯塔,专栏最新动态如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》
📝《C++》
📝《Qt》
📝《ISP算法》
📝B站


在这里插入图片描述

目录

一、OpenCV包

1.1 OpenCV包下载

从官网上下载OpenCV包的方法见下:

官网链接:OpenCV

打开官网链接后选择查看OpenCV已发布各历史版本,见下:

在这里插入图片描述

在打开的历史版本中选择自己想要下载的版本点击进去,我自己下载的是4.10.0版本,见下:

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

击进去后是OpenCV4.10.0包相关的文件,具体各个文件分别是啥,见下:

1.2 各包解析

1.2.1 opencv-4.10.0-android-sdk.zip

opencv-4.10.0-android-sdk.zip包是Android 平台的预编译 SDK,包含 OpenCV 的 Java 和 C++ 库(.aar、.so)、头文件、示例代码和 Android 构建工具。

适用场景:开发 Android 应用时直接集成 OpenCV。

1.2.2 opencv-4.10.0-docs.zip

opencv-4.10.0-docs.zip包是OpenCV 的离线文档,包含 API 参考、教程和示例代码。解压后,打开 doc/html/index.html 用浏览器查看。
搜索函数名或模块名快速查阅 API 细节,适合离线学习或调试时参考。

1.2.3 opencv-4.10.0-ios-framework.zip

opencv-4.10.0-ios-framework.zip包是iOS 平台的预编译框架(.framework),支持 Objective-C 和 Swift。

适用场景:开发 iOS 应用时快速集成 OpenCV。

1.2.4 opencv-4.10.0-windows.exe

opencv-4.10.0-windows.exe包是Windows 平台的安装程序,包含预编译的二进制文件(.dll、.lib)、头文件和示例。

本教程就是基于windows讲解,所以下载此包。

在这里插入图片描述

1.2.5 Source code (zip) 和 Source code (tar.gz)

Source code (zip) 和 Source code (tar.gz)两个包都是OpenCV 核心库的完整源代码(不含 opencv_contrib),格式为 ZIP 或压缩的 tar.gz。

适用场景:需要自行编译 OpenCV(如添加 CUDA 支持、修改源码或生成特定平台的库)。

使用OpenCV源码包用CMake手动编译的方法,在后面我会出一篇教程。

1.3 解压预编译包

下面是下载好预编译包好后解压方法,见下:

在这里插入图片描述

解压后的预编译包见下:

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

二、Visual_studio中配置OpenCV

2.1 配置包目录

学者先自己打开Visual_studio软件新建一个项目工程,打开后鼠标定位到项目工程文件名,右击鼠标选项属性,添加包目录的详细步骤见下:

在这里插入图片描述


在这里插入图片描述

下面是导入opencv包路径:

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

添加后的样子见下:

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

同样的方法添加opencv2路径,见下:

在这里插入图片描述

2.2 配置库目录

下面是添加库目录的详细步骤,见下:

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

2.3 配置链接器

先声明:opencv4.10.0\opencv\build\x64\vc16\lib路径中的opencv_world4100d.lib文件依赖项用于配置Debug模式,opencv_world4100.lib文件依赖项用于配置Release模式。

下面是链接器的配置的详细步骤,我自己选择的是Debug模式:

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

没有第7步骤,直接接上下面图片中的第8步骤:

在这里插入图片描述

2.4 添加系统环境变量

如果没有添加OpenCV到系统环境变量中,可能出现报错如下:

在这里插入图片描述

具体添加系统环境变量的方法如下:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

三、测试是否配置成功

3.1 编译器选择

如果配置的是Debug模式,选项见下:

在这里插入图片描述

3.2 测试代码

测试opencv是否配置成功,测试代码见下:

#include<opencv2/opencv.hpp>#include<iostream>usingnamespace std;usingnamespace cv;intmain(){//OpenCV版本号 cout <<"OpenCV_Version: "<< CV_VERSION << endl;//读取图片 Mat image =imread("D:/code/C++/image/OIP-C.jpg");imshow("picture", image);waitKey(0);return0;}

3.3 测试结果

运行上面测试代码,输出类似下面能正常显示图像,说明OpenCv配置成功:

在这里插入图片描述

四、总结

以上就是Visual_studio中配置C++版OpenCV的详细过程,后期我会出一篇使用CMake编译Opencv源码的教程,主要用到contrib模块,必须通过编译源码的方法将contirb模块添加进去,编译好的opencv_contrib包我会开源,学者如果需要可以直接下载后配置调用。

🌟 感谢一路看到这里!

若本文对您有所启发,请毫不吝啬地留下 👍 点赞、⭐ 收藏、✍️ 评论三连——你的每一次互动,都是我持续输出干货的最大动力!

更多精彩内容已就绪:扫码关注下面「视觉研坊」 📸,让实战教程、独家案例与前沿资讯第一时间与你相遇!

Read more

【Linux/C++多进程篇(二) 】万字解析从“传纸条”到“建仓库”:一文读懂linux系统编程之进程间通信 (IPC)

【Linux/C++多进程篇(二) 】万字解析从“传纸条”到“建仓库”:一文读懂linux系统编程之进程间通信 (IPC)

⭐️在这个怀疑的年代,我们依然需要信仰。 个人主页:YYYing. ⭐️Linux/C++进阶系列专栏:【从零开始的linux/c++进阶编程】 系列上期内容:【Linux/C++多进程篇(一) 】C/C++ 程序中神奇的“分身术” 系列下期内容:【Linux/C++多线程篇(一) 】多线程编程入门 目录 前言: 进程间通信(IPC) 一、进程间通信的基础概念 二、内核提供的通信方式 2.1、无名管道  📖 无名管道的API  📖 代码案例 2.2、有名管道  📖 有名管道的API  📖 代码案例 2.3、管道特点 2.4、信号  📖 信号相关概念

By Ne0inhk
C++起始之路——模板进阶

C++起始之路——模板进阶

💁‍♂️个人主页:进击的荆棘 👇作者其它专栏: 《数据结构与算法》《算法》《C++起始之路》 目录 1.非类型模板参数 2.模板的特化 3.模板分离编译 4.模板总结 1.非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或typename之类的后面的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。 namespace Achieve{ //定义一个模板类型的静态数组 tempalte<class T,size_t N=10> class array{ public: T& operator[](size_t index)

By Ne0inhk
【C++初阶】C++入门相关知识(2):输入输出 & 缺省参数 & 函数重载

【C++初阶】C++入门相关知识(2):输入输出 & 缺省参数 & 函数重载

🎈主页传送门:良木生香 🔥个人专栏:《C语言》 《数据结构-初阶》 《程序设计》《鼠鼠的C++学习之路》 🌟人为善,福随未至,祸已远行;人为恶,祸虽未至,福已远离 上期回顾:在上一篇文章中,我们对C++进行了初步的认识,学习了C++的发展历史,第一个C++程序以及命名空间,我们知道,C++的出现就是为了改进和完善C语言的不足,使得程序更加高效,程序员编写起来更加方便快捷,那么本篇文章我们继续往下认识C++的入门相关知识 目录 一、C++的输入&输出 1.1、核心载体:头文件 1.2、核心的IO对象:cin与cout 1.2.1、std::cin 标准输入流 1.

By Ne0inhk
Microsoft Visual C++ 运行库安装教程(最新版完整指南 | DLL修复方案)

Microsoft Visual C++ 运行库安装教程(最新版完整指南 | DLL修复方案)

前言 用过大型软件或者玩过 3A 大作的小伙伴,多少都遇到过这种弹窗: * “缺少 msvcp140.dll” * “无法继续执行代码,因为系统找不到 vcruntime140_1.dll” * 甚至是“程序无法启动,因为计算机中丢失了 MSVCR100.dll” 别慌~其实这类报错几乎 100% 是因为 Microsoft Visual C++ 运行库(VC++ Redistributable)缺失或损坏。 本文将为你带来 2025年最新版 VC++运行库下载与安装教程,覆盖: *  一键修复方法(新手必备,解决 DLL 缺失) *  专业用户手动安装方案(x86 / x64 全兼容) *  常见报错与完整修复套路 *  DLL 问题常见 FAQ 帮助你在最短时间内修好 DLL 报错,

By Ne0inhk