OpenCV下载与配置(vistual studio 2022)

目录

1 简介

2 opencv的下载

​编辑 3 配置环境变量

​编辑 4 visual studio 2022中的配置

5 代码测试

6 总结 


1 简介

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,广泛应用于图像处理、目标检测、视频分析等领域。本文将详细介绍OpenCV在visual studio 2022中的下载与配置过程,帮助读者快速搭建 OpenCV 开发环境。

2 opencv的下载

我个人使用的是visual studio的2022版本,网上安装visual studio的教程非常多,这里我默认大家已经安装好了visual studio 2022。 然后接下去我们进入opencv的下载与安装。点击链接进入opencv官网这里附上链接:OpenCV - Open Computer Vision Library

2.1 点击上方的library中的releases

 2.2 这里选择安装的版本是4.10.0,可以根据自己的需求下载不同版本。

2.3 下载完成后点击进行安装,这里自定义一下安装的路径,然后点击确认等待安装完成即可。

 3 配置环境变量

3.1 接下来我们要进行环境变量的配置:右键点击此电脑,选择属性,找到高级系统设置,然后点击环境变量。

3.2 然后找到系统变量中的Path,选中再点击编辑。

3.3 然后我们点击右边的新建,在这里添加变量,即这张图片中的最后一行D:\OpenCV\opencv\build\x64\vc16\bin(这是我的路径,这里需换成大家安装时的路径)。此时我们添加完了环境变量,然后一路确定退出。

 4 visual studio 2022中的配置

4.1 这里我们先随便打开一个项目,或者新建一个。

4.2 然后我们点击上方任务栏中的项目,点击下方的属性。

4.3 我们首先点击VC++目录,然后找到包含目录,点击旁边出现的小箭头再点击编辑。

 4.4 此时,点击上方红叉左边的添加新行,再点击新行右边出现的三个小点,选择替换目录,然后点击确认。

 4.5 然后选择下方库目录 一样的操作,这时我们的路径选择是D:\OpenCV\opencv\build\x64\vc16\lib 然后点击确定。

4.6 然后我们点击属性页左边栏中的链接器,选中输入,点击附加依赖项(这里需要注意一点,要记得留意一下我们代码的运行配置,在属性页的正上方可以看到,比如我这边是Debug模式,平台是x64,因此我的附加依赖项应该是opencv_world4100d.lib,而不是opencv_world4100.lib,如果你选择的配置是Release,那么你的附加依赖项就应该是opencv_world4100.lib)。

4.7 此时打开路径D:\OpenCV\opencv\build\x64\vc16\lib文件夹,选中opencv_world4100d.lib 复制文件名(这里每个人的数字也许不同,不要紧)。将名字复制到附加依赖项点开之后的上方新建行中即可。

5 代码测试

 此时我们已经完成了所有的配置,现在我们进入代码测试环节,看看经过我们上面一通操作之后,我们能否顺利在visual studio中使用opencv库吧!

这里附上一个加解密算法的代码:

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;void logisticEncryptDecrypt(Mat& image, double x0, double u) {int rows = image.rows;int cols = image.cols;int channels = image.channels();for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {for (int k = 0; k < channels; k++) {x0 = u * x0 * (1 - x0);uchar key = static_cast<uchar>(fmod(x0 * 1000, 256));image.at<Vec3b>(i, j)[k] = image.at<Vec3b>(i, j)[k] ^ key;}}}
}int main() {// 读取图像Mat image = imread("cat.jpg");if (image.empty()) {cout << "无法加载图像!" << endl;return -1;}// 显示原始图像namedWindow("原始图像", WINDOW_NORMAL);imshow("原始图像", image);// 加密参数double x0 = 0.2915826302;  // 系统密钥1double u = 4.0;            // 系统密钥2// 加密图像Mat encryptedImage = image.clone();logisticEncryptDecrypt(encryptedImage, x0, u);// 显示加密图像namedWindow("加密图像", WINDOW_NORMAL);imshow("加密图像", encryptedImage);imwrite("jiam.jpg", encryptedImage);// 解密图像Mat decryptedImage = encryptedImage.clone();logisticEncryptDecrypt(decryptedImage, x0, u);// 显示解密图像namedWindow("解密图像", WINDOW_NORMAL);imshow("解密图像", decryptedImage);imwrite("jiem.jpg", decryptedImage);// 等待按键waitKey(0);return 0;
}

然后运行代码,如果显示图片,说明你顺利完成了上述配置,可以愉快在c++中运用opencv啦!!

6 总结 

本文详细介绍了 OpenCV 在 Visual Studio 2022 中的下载、安装与配置过程,包括环境变量的设置、VS 配置步骤,以及附带的代码测试示例。通过以上操作,读者可以成功在 C++ 中使用 OpenCV 进行图像处理。希望这篇教程能帮助大家顺利搭建 OpenCV 开发环境,开启计算机视觉的学习之旅!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28779.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pythonweb开发框架—Flask工程创建和@app.route使用详解

1.创建工程 如果pycharm是专业版&#xff0c;直接NewProject—>Flask 填写工程name和location后&#xff0c;点击右下角【create】&#xff0c;就会新建一个flask工程&#xff0c;工程里默认会建好一个templates文件夹、static文件夹、一个app.py文件 templates&#xff1…

服务器CPU微架构

1、微架构图 前端&#xff1a;预解码、解码、分支预测、L1指令缓存、指令TLB缓存 后端&#xff1a;顺序重排缓存器ROB处理依赖&#xff0c;调度器送到执行引擎 执行引擎&#xff1a;8路超标量&#xff0c;每一路可以进行独立的微操作处理 Port0、1、5、6支持整数、浮点数的加…

uniapp对接打印机和电子秤

uniapp对接打印机和电子秤 连接电子秤和打印机&#xff0c;最难的不是连接蓝牙和电子成&#xff0c;而是打印机。因为打印机涉及到向打印机写数据操作&#xff0c;然后这个写的数据需要做一个编码转换。难就难在编码转换。如果是java那就是一句代码的事情&#xff0c;而js就没有…

Linux基础IO

Linux基础IO 1.理解文件1.1 狭义理解1.2 广义理解1.3 文件操作的归类认知1.4 系统角度 2.c的文件接口2.1 hello.c打开文件2.2 hello.c写文件2.3 hello.c读文件2.4 stdin & stdout & stderr 3.系统打开文件接口3.1 一种传递标记位的方法3.2 open函数3.3 文件描述符3.3.0…

Linux下学【MySQL】中如何实现:多表查询(配sql+实操图+案例巩固 通俗易懂版~)

每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论&#xff1a; 本章是MySQL篇中&#xff0c;非常实用性的篇章&#xff0c;相信在实际工作中对于表的查询&#xff0c;很多时候会涉及多表的查询&#xff0c;在多表查询的…

C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例1

本文介绍如何使用C#控制Ni的USB-6008板卡进行模拟量输入、模拟量输出、输出量输入、数字量输出。代码详见下面的链接: C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例1资源-CSDN文库 https://download.csdn.net/download/qq_34047402/90457042 步骤1、确认NI MAX可以正…

Mysql基础-事务

目录 一、事务简介 二、 事务操作 1 未控制事务 ​2 控制事务一 3 控制事务二 三、事务四大特性 ​四、并发事务问题 1). 脏读: 2). 不可重复读: 3). 幻读: 五、事务隔离级别 1). 查看事务隔离级别 ​2). 设置事务隔离级别 一、事务简介 事务 是一组操作的集合&a…

【Azure 架构师学习笔记】- Azure Databricks (15) --Delta Lake 和Data Lake

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (14) – 搭建Medallion Architecture part 2 前言 ADB 除了UC 这个概念之外&#xff0c;前面【Azure 架构师学习笔记】- Azure Databricks (1…

FPGA 高速接口Aurora8B/10B 协议详解与仿真

FPGA 高速接口Aurora8B/10B 协议详解与IP仿真 1 摘要 Aurora 8B/10B 是一种用于高速串行通信的协议&#xff0c;通常用于 FPGA 设计和其他数字通信应用。即一种编码方案&#xff0c;旨在在传输数据时提供可靠性、时钟恢复和错误检测。主要用于在点对点串行链路间移动数据的可…

【Linux-网络】深入拆解TCP核心机制与UDP的无状态设计

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;引言 &#x1f4da;一、UDP协议 &#x1f4d6; 1.概述 &#x1f4d6; 2.特点 &#x1…

一文学会Spring

一、Spring简介 Spring的优点 Spring是一个开源免费的框架、容器Spring是一个轻量级的框架&#xff0c;非侵入式的控制反转IOC、面向切面AOP支持事务 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器 二、IOC 2.1 IOC本质 控制反转IOC&#xff0c;是一种设计思想…

AWR microwave office 仿真学习(三)各类传输线模型学习

目录 引言Phase Spec: Coupled Lines (Closed Form): CLINPhysical Spec: Coupled Lines, Grounded Shield, Improved Accuracy (Closed Form): CLINPPhysical Specification, Floating Shield (Closed Form): COAXElectrical Specification, Grounded Shield (Closed Form): C…

TrustRAG:通过配置化模块化的检索增强生成(RAG)框架提高生成结果的可靠性和可追溯性

TrustRAG旨在风险感知的信息检索场景中提高生成内容的一致性和可信度。用户可以利用私有语料库构建自己的RAG应用程序,研究库中的RAG组件,并使用定制模块进行实验。论文展示了TrustRAG系统在摘要问答任务中的应用,并通过案例研究验证了其有效性。总体而言,TrustRAG通过语义…

pgsql行列转换

目录 一、造测试数据 二、行转列 1.函数定义 2.语法 3.示例 三、列转行 1.函数定义 2.语法 3.示例 一、造测试数据 create table test ( id int, json1 varchar, json2 varchar );insert into test values(1,111,{111}); insert into test values(2,111,222,{111,22…

计算机视觉算法实战——人脑解码(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 领域简介 人脑解码&#xff08;Brain Decoding&#xff09;是神经科学与计算机视觉交叉领域的一个重要研究方向&#xff0c;旨在…

[Computer Vision]实验六:视差估计

目录 一、实验内容 二、实验过程 2.1.1 test.py文件 2.1.2 test.py文件结果与分析 2.2.1 文件代码 2.2.2 结果与分析 一、实验内容 给定左右相机图片&#xff0c;估算图片的视差/深度&#xff1b;体现极线校正&#xff08;例如打印前后极线对&#xff09;、同名点匹配…

【Mac】git使用再学习

目录 前言 如何使用github建立自己的代码库 第一步&#xff1a;建立本地git与远程github的联系 生成密钥 将密钥加入github 第二步&#xff1a;创建github仓库并clone到本地 第三步&#xff1a;上传文件 常见的git命令 git commit git branch git merge/git rebase …

从0搭建Tomcat第二天:深入理解Servlet容器与反射机制

在上一篇博客中&#xff0c;我们从0开始搭建了一个简易的Tomcat服务器&#xff0c;并实现了基本的HTTP请求处理。今天&#xff0c;我们将继续深入探讨Tomcat的核心组件之一——Servlet容器&#xff0c;并介绍如何使用反射机制动态加载和管理Servlet。 1. Servlet容器的作用 S…

文件上传漏洞:upload-labs靶场11-20

目录 pass-11 pass-12 pass-13 pass-14 pass-15 pass-16 pass-17 pass-18 pass-19 pass-20 pass-11 分析源代码 &#xff0c;发现上传文件的存放路径可控 if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],st…

【音视频】视频基本概念

一、视频的基本概念 1.1 视频码率&#xff08;kb/s&#xff09; 视频码率是指视频文件在单位时间内使用的数据流量&#xff0c;也叫码流率。码率越大&#xff0c;说明单位时间内取样率越大&#xff0c;数据流进度也就越高 1.2 视频帧率&#xff08;fps&#xff09; 视频帧率…