C++实战Opencv第一天——win11下配置vs,opencv环境和运行第一个c++代码(从零开始,保姆教学)

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的通用算法和功能,用于处理图像和视频数据。C++ 通常提供比 Python 更高的执行速度,对于需要高性能处理的任务(如实时视频处理或大规模图像分析) 。C++ 提供更细致的内存管理控制跨平台性。这对于优化大型应用或在内存限制较大的环境(如嵌入式系统)中运行非常重要。

OpenCV 可以实现的应用:

  1. 图像处理:包括滤波、色彩空间转换、图像阈值设定、边缘检测、几何变换(如旋转、缩放)等。

  2. 面部识别与追踪:使用特定算法(如哈尔特征级联分类器)来识别和追踪视频中的人脸。

  3. 物体检测和识别:可以检测图像中的特定物体(如车辆、行人、标志)并对其进行分类。

  4. 运动分析和对象追踪:分析视频中的运动模式,追踪移动对象。

  5. 3D重建:从多个视角的图像中重建物体或场景的三维模型。

  6. 增强现实:结合现实世界的图像和计算机生成的数据,创建增强现实应用。

  7. 机器人视觉:使机器人能够通过摄像头感知周围环境并作出决策。

  8. 自动驾驶汽车视觉系统:用于车辆检测、车道检测、交通标志识别等。

  9. 医学图像处理:分析医学图像,如X射线、MRI 或 CT扫描。

  10. 视频分析:视频监控、事件检测、视频内容理解。

  11. 计算摄影学:高动态范围成像、全景图像拼接等。

  12. 实时滤镜和效果:图像和视频的实时美化和效果处理。

目录

一、Visual Studio的安装 

二、opencv下载 

三、vs环境配置 

1、配置包含目录

2、配置库目录

​编辑3、配置链接器

4、配置环境变量并重启

四、c++代码测试


一、Visual Studio的安装 

Visual Studio 2022 IDE - 适用于软件开发人员的编程工具

二、opencv下载 

Releases - OpenCV

下载windows版本即可,解压后:

三、vs环境配置 

创建新项目:

 

选择空项目 

项目名称随便,位置自己记住。 

进入后,改成这样

1、配置包含目录

打开视图->其他窗口->属性管理器->如图属性->VC++目录->包含目录

添加:请根据自己解压的openv4.8目录进行相应修改(下同)

E:\opencv\opencv\build\include
E:\opencv\opencv\build\include\opencv2

 


2、配置库目录

E:\opencv\opencv\build\x64\vc16\lib


3、配置链接器

opencv_world480.lib

 

4、配置环境变量并重启

在环境变量下添加: 

E:\opencv\opencv\build\x64\vc16\bin

重启vs。

至此,w11 下vs,opencv配置完成。

四、c++代码测试

//OpenCV 库的主要头文件。它允许程序使用 OpenCV 提供的各种功能和类。
// 在 C++ 中,#include 指令用于引入库或其他源文件。
//类比python中的import cv2
#include<opencv2/opencv.hpp>//int main(int argc, char** argv) 是 C++ 程序的入口点。
//当程序运行时,这个函数被自动调用。argc 表示传递给程序的参数数量,
//argv 是一个字符串数组,包含这些参数。在这个程序中,这两个参数没有被使用。
int main(int argc, char** argv) {//这一行创建了一个 cv::Mat 类型的变量 src。//cv::Mat 是 OpenCV 中用于存储图像的类。//cv::imread 函数用于读取指定路径的图像文件。在这个例子中,//它试图从 "E:/yolov8/bus.jpg" 路径加载图像。//加载的图像被存储在 src 变量中。cv::Mat src = cv::imread("E:/yolov8/bus.jpg");//条件语句检查 src 图像是否为空(即图像是否未成功加载)if (src.empty()) { printf("could not load image ...");return -1;}//cv::imshow 函数用于在窗口中显示图像。//这里创建了一个窗口,标题为 "输入图像",并显示 src 图像。cv::imshow("输入图像",src);//让窗口保持打开状态,直到有键盘输入。cv::waitKey(0);//在 C++ 中,主函数的返回值通常用来指示程序的退出状态。//返回值 0 通常表示程序成功执行。return 0;
}

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

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

相关文章

QT 文本框的绘制与复选框组键

.cpp文件 #include "widget.h" #include "ui_widget.h"#include<QDebug> Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//更改窗口标题setWindowTitle("我爱xyy");//更改图标setWindow…

使用VSCode内的jupyter编写R语言:绘制中国省份地区热力图

R语言绘制中国省份地区热力图教程 1、R语言的安装和编辑器的选择 对于一门从未接触过的编程语言&#xff0c;相信大家的吐槽点和我一样&#xff1a;又要安装软件&#xff0c;配置环境&#xff01;其实R语言的安装和环境配置并不复杂&#xff0c;只需要安装两部分内容&#xf…

IC验证——perl脚本ccode_standard——c代码寄存器配置标准化

目录 1 脚本名称 2 脚本路径 3 脚本参数说明 4 脚本操作说明 5 脚本代码 1 脚本名称 ccode_standard 2 脚本路径 /scripts/bin/ccode_standard 3 脚本参数说明 次序 参数名 说明 1 address (./rfdig&#xff1b;.&#xff1b;..&#xff1b;./boot) 指定脚本执行路…

【小笔记】用tsai库实现Rocket家族算法

2024.1.16 Rocket家族算法是用于时间序列分类的强baseline&#xff08;性能比较参考【小笔记】时序数据分类算法最新小结&#xff09;&#xff0c;Rocket/MiniRocket/MultiRocket官方都有开源实现&#xff0c;相比较而言&#xff0c;用tsai来实现有三个好处&#xff1a;1是快速…

WPF应用程序生存期以及相关事件

WPF 应用程序的生存期会通过 Application 引发的几个事件来加以标记&#xff0c;相关事件对应着应用程序何时启动、激活、停用和关闭。 应用程序生存期事件 • 独立应用程序(传统风格的 Windows 应用程序&#xff0c;这些应用程序作为要安装到客户端计算机并从客户端计算机运…

VitePress-01-从零开始的项目创建(npm版)

说明 本文介绍一下 VitePress的项目创建的步骤。 主要用到的命令工具是 npm。 本文的操作步骤是从无到有的创建一个完整的基本的【VitePress】项目。 环境准备 根据官方文档的介绍&#xff0c;截止本文发稿时&#xff0c;需要使用node.js 18 的版本。 可以使用node -v 的命令查…

关于java的封装

关于java的封装 我们在前面的文章中&#xff0c;了解到了类和对象的知识&#xff0c;以及做了创建对象的时候对内存的分析&#xff0c;我们本篇文章来了解一下面向对象的三大基本特征之一&#xff0c;封装&#x1f600;。 一、初识封装 封装就好比&#xff0c;我们把一些物品…

【操作系统】1. 操作系统概述

文章目录 【 1. 什么是操作系统 】【 2. 操作系统软件的分类 】【 3. 操作系统内核的抽象和特征 】3.1 操作系统内核的抽象3.2 操作系统内核的特征 【 1. 什么是操作系统 】 操作系统是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供服务的一种系统 软件。一个服务…

<软考高项备考>《论文专题 - 71 风险管理(3)》

3 过程2-识别风险 3.1 问题 4W1H过程做什么是识别单个项目风险以及整体项目风险的来源&#xff0c;并记录风险特征的过程。作用:1、记录现有的单个项目风险&#xff0c;以及整体项目风险的来源:2、汇总相关信息&#xff0c;以便项目团队能够恰当地应对已识别的风险。为什么做…

怎么修改或移除WordPress后台仪表盘概览底部的版权信息和主题信息?

前面跟大家分享『WordPress怎么把后台左上角的logo和评论图标移除&#xff1f;』和『WordPress后台底部版权信息“感谢使用 WordPress 进行创作”和版本号怎么修改或删除&#xff1f;』&#xff0c;其实在WordPress后台仪表盘的“概览”底部还有一个WordPress版权信息和所使用的…

项目解决方案:“ZL铁路轨行车辆”实时视频监控系统

目 录 一、建设背景 1.1 政策背景 1.2 现状 二、建设目标 三、建设依据 四、建设原则 4.1经济高效性 4.2系统开放性 4.3系统继承性 4.4系统扩展性 4.5系统经济性 4.6系统安全性 五、系统架构 5.1系统架构图 5.2技术架构 1、DVS 2、中心管理服务…

【Java SE语法篇】11.异常

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ 文章目录 1. 异常的概念和体系结构1.1 异常的概念1.2 异常体系…

PTA——7-31 三角形判断

7-31 三角形判断 (15分) 给定平面上任意三个点的坐标(x​1​​,y​1​​)、(x​2​​,y​2​​)、(x​3​​,y​3​​)&#xff0c;检验它们能否构成三角形。 输入格式: 输入在一行中顺序给出六个[−100,100]范围内的数字&#xff0c;即三个点的坐标x​1​​、y​1​​、x​2​…

SUKER书客重磅发布全新系列:书客Sun立式护眼台灯,护眼养眼新境界

近日&#xff0c;国内知名的光学国货品牌——SUKER书客在2024年新品发布上&#xff0c;正式发布了全新系列的书客Sun立式护眼台灯。 SUKER书客作为近年来快速发展的创新型光学技术品牌&#xff0c;曾推出的一系列产品都取得了刷新行业标准的成绩&#xff0c;他们坚持以创新为动…

【51单片机系列】单片机与PC进行串行通信

一、单片机与PC机串行通信的设计 工业现场的测控系统中&#xff0c;常使用单片机进行监测点的数据采集&#xff0c;然后单片机通过串口与PC通信&#xff0c;把采集的数据串行传送到PC机上&#xff0c;再在PC机上进行数据处理。 PC机配置的都是RS-232标准串口&#xff0c;为D型…

YOLOv5改进 | 2023主干篇 | 多种轻量化卷积优化PP-HGNetV2改进主干(全网独家创新)

一、本文介绍 Hello,大家好,上一篇博客我们讲了利用HGNetV2去替换YOLOv5的主干,经过结构的研究我们可以发现在HGNetV2的网络中有大量的卷积存在,所以我们可以用一种更加轻量化的卷积去优化HGNetV2从而达到更加轻量化的效果(亲测优化后的HGNetV2网络比正常HGNetV2精度更高…

开发知识点-java基础

java基础知识整理 windows 多版本java jar包不能直接打开 需要java -jar问题解决 windows 多版本 控制面板 java15 download 多版本 https://www.cnblogs.com/chenmingjun/p/9941191.html https://gitee.com/shixinke/JC-jEnv/repository/archive/master.zip java jar包不…

React16源码: React中的renderRoot的源码实现

renderRoot 1 &#xff09;概述 renderRoot 是一个非常复杂的方法这个方法里处理很多各种各样的逻辑, 它主要的工作内容是什么&#xff1f;A. 它调用 workLoop 进行循环单元更新 遍历整个 Fiber Tree&#xff0c;把每一个组件或者 dom 节点对应的Fiber 节点拿出来单一的进行更…

万户 ezOFFICE ezflow_gd.jsp SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

DC电源模块与AC电源模块的对比分析

DC电源模块与AC电源模块的对比分析 BOSHIDA DC电源模块和AC电源模块是两种常见的电源模块&#xff0c;它们在供电方式、稳定性、适用范围等方面有所不同&#xff0c;下面是它们的对比分析&#xff1a; 1. 供电方式&#xff1a; DC电源模块通过直流电源供电&#xff0c;通常使用…