VS2022 配置OpenCV开发环境详细教程

OpenCV

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,由Intel开发并首先发布于1999年。OpenCV被广泛用于实时图像处理、视频分析、物体检测、面部识别、机器人视觉以及许多其他领域。它支持C++、Python、Java等多种编程语言,并且提供了数百种计算机视觉算法,包括但不限于:

  • 图像处理:图像滤波、几何变换、直方图均衡化等。
  • 特征检测和描述:SIFT、SURF、ORB等。
  • 物体检测:使用Haar级联或深度学习模型检测人脸、行人等。
  • 视频分析:运动检测、背景减除等。
  • 机器学习:OpenCV集成了一些机器学习框架,可以用于训练和使用分类器。
  • 深度学习:OpenCV 3.4及以上版本支持深度学习模型,特别是使用DNN(Deep Neural Network)模块。

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它的历史和发展可以追溯到1999年。以下是OpenCV历史的一些关键点:

  • 起源:OpenCV项目由Intel公司在1999年启动,旨在创建一个免费的、开源的计算机视觉库,并开放其源代码以推动计算机视觉领域的研究和发展。

  • 开源发布:2000年,OpenCV发布了第一个公开版本,这标志着OpenCV开源计划的正式启动。

  • 发展
    2005年,OpenCV 2.0 版本发布,引入了面向对象的接口、多核支持、Python 接口等功能。
    2008年,OpenCV加入Google Summer of Code(GSoC)项目,促进了社区的发展。
    2011年,OpenCV 2.3 版本发布,引入了更快的图像处理算法、CUDA加速支持等。

  • 重大更新
    2015年,OpenCV 3.0 版本发布,带来了重大变化,包括C++11支持、模块化架构、DNN模块等。
    2018年,OpenCV 4.0 版本发布,引入了C++11重构、DNN模块的改进、Vulkan后端、性能优化等。

  • 持续发展:从2019年的4.1版本开始,OpenCV继续改进和优化各种功能,如图像处理算法、目标检测算法等。

  • 版本更新:OpenCV持续更新迭代,推出了4.2、4.3、4.4等多个版本,不断引入新功能和改进。

  • 架构支持:2022年12月8日,龙芯中科宣布,OpenCV开源社区正式合入了对LoongArch架构支持的代码,优化后的OpenCV性能显著提升。

  • 最新动态:截至2024年,OpenCV已经发展到4.5版本,且在2022年12月29日发布了4.7.0版,带来了全新的ONNX层,提高了DNN代码的卷积性能。

VS2022配置OpenCV过程

  1. 下载OpenCV库:https://opencv.org/
    在这里插入图片描述
    在这里插入图片描述
  2. 点击opencv-4.9.0-windows.exe
    在这里插入图片描述
  3. 选择合适的目录
    在这里插入图片描述
  4. 提取
    在这里插入图片描述
  5. 在预定目录可以看到提取的文件
    在这里插入图片描述
  6. bin目录添加到系统环境变量opencv\build\x64\vc16\bin
    在这里插入图片描述
  7. 按照系统-系统信息-高级系统设置-环境变量-系统环境变量path-新建-确定顺序,将opencv库路径添加到系统变量中。
    在这里插入图片描述
  8. 重启计算机
  9. 开始验证OpenCV,打开VS2022,新建一个项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  10. 空项目已经建立好,点击“项目”,下拉“属性”
    在这里插入图片描述
  11. 配置属性,将下载的OpenCV里include文件目录放到包含目录中。
    在这里插入图片描述
  12. 将OpenCV的lib库文件路径放到库目录中。
    在这里插入图片描述
  13. 修改链接器,将OpenCV中lib库里的opencv_world490d.lib文件名复制到附加依赖项中。
    在这里插入图片描述
  14. 环境配置好,开始测试代码
    在这里插入图片描述
    在这里插入图片描述
  15. 写测试代码,运行demo
#include <opencv2/opencv.hpp>int main() {// 读取图片cv::Mat img = cv::imread("amy.png");// 检查图片是否成功读取if (img.empty()) {std::cerr << "Error: Loading image" << std::endl;return -1;}// 创建窗口并显示图片cv::namedWindow("Image Display", cv::WINDOW_AUTOSIZE);cv::imshow("Image Display", img);// 等待按键事件,之后关闭窗口cv::waitKey(0);cv::destroyAllWindows();return 0;
}
  1. 大功高成,显示图片,,在VS2022中配置OpenCV开发环境成功💪,可以玩转OpenCV了。
    在这里插入图片描述

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

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

相关文章

代码+视频,R语言绘制生存分析模型的时间依赖(相关)性roc曲线和时间依赖(相关)性cindex曲线

ROC曲线分析是用于评估一个因素预测能力的手段&#xff0c;是可以用于连续型变量分组的方法。在生存分析中&#xff0c;疾病状态和因素取值均会随时间发生变化。而标准的ROC曲线分析将个体的疾病状态和因素取值视作固定值&#xff0c;未将时间因素考虑在分析之中。在这种情况下…

STM32入门_江协科技_1~2_OB记录的自学笔记_STM32简介

1.综述 1.1. 课程简介 手打代码是加入了实操&#xff0c;增加学习效果&#xff1b; STM最小系统板面包板的硬件平台&#xff1b; 配套0.96寸的显示屏&#xff0c;便于调试&#xff1b; 因为使用面板板&#xff0c;所以如果程序现象不出来也有可能是硬件连接的问题&#xff1b; …

Linux 小技巧1

目录 一. 统计文件的总行数二. 获取从第二行开始的内容三. 合并两个文件为一个文件四. 统计指定列唯一值的数量五. 列出文件的绝对路径六. 获取除了空白行和注释之外的部分 一. 统计文件的总行数 ⏹非压缩文件 统计当前文件夹下csv文件的行数 wc -l ./*.csv统计指定文件夹下…

甘特图是什么?利用甘特图来优化项目管理流程

在现代项目管理中,图表是一种强大而直观的工具,可以帮助项目经理和团队成员清晰地了解并掌控整个项目进程。其中,甘特图是最常用和最有效的图表之一。 甘特图是一种条形图,可以用来直观地展示项目中各个任务的进度、持续时间和相互关系。它由一个横轴和一个纵轴组成。横轴代表时…

基于单片机的多功能电子万年历系统

摘要:该题目要求学生综合运用单片机原理、低频电子线路、数字电路与逻辑设计等相关知识,设计完成多功能电子万年历系统。通过完成设计任务,使学生掌握单片机设计开发的基本流程,增强学生动手实践能力,培养学生分析和解决实际问题的能力,为后续课程的学习和工作打下良好基础。 关…

【c++】----STL简介string

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 4.STL的缺陷 5.string类 1. 为什么学习string类&#xff1f; 6.string类的常用接口说明&#xff08;下面我们只讲解最常用的接口&#xff09; 1.string 常见构造 2.string类的遍历 iterator 迭代器遍历 &#xff08;…

初识BootStrap

目录 前言: 1.Bootstrap的特点包括&#xff1a; 1.1响应式设计&#xff1a; 1.2组件丰富&#xff1a; 1.3易于定制&#xff1a; 1.4兼容性良好&#xff1a; 1.5强大的社区支持&#xff1a; 1.6一致的样式和布局&#xff1a; 1.7 插件和扩展性 2.初识Ajax: 2.1同步请求…

STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP)

实现目标 1、熟悉Wi-F、ESP8266模块 2、掌握ESP8266模块共3种工作模式&#xff1a;STA、AP、STAAP的配置 3、具体实现目标&#xff1a;&#xff08;1&#xff09;AT固件烧录&#xff1b;&#xff08;2&#xff09;ESP8266模块STA、AP、STAAP的配置 一、Wi-Fi概述 1、Wi-Fi定…

【kettle006】kettle访问华为openGauss高斯数据库并处理数据至execl文件

1.一直以来想写下基于kettle的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下华为openGauss高斯数据库相关知识体系 3.欢迎批评指正&#xff0c;跪谢…

【实时数仓架构】方法论(未完)

笔者不是专业的实时数仓架构&#xff0c;这是笔者从其他人经验和网上资料整理而来&#xff0c;仅供参考。写此文章意义&#xff0c;加深对实时数仓理解。 实时数仓背景和场景 一、实时数仓架构技术演进 1.1、四种架构演进 1&#xff09;离线大数据架构 一种批处理离线数据分…

电脑开机后卡在开机LOGO画面如何排查处理

当电脑开机后长时间停滞在开机LOGO画面,无法继续进入操作系统,这一现象常令用户困扰不已。本文将深入探讨导致此类问题的多种可能原因,并提供相应的解决方法,帮助你有效地诊断和排除故障。 硬件故障或接触不良 1. 硬盘问题:硬盘是系统启动的关键组件,其故障或数据线接触…

Django项目之电商购物商城 -- 校验用户输入密码是否合法

Django项目之电商购物商城 – 校验用户输入密码是否合法 需要开发文档和前端资料的可私聊 一. 创建用户逻辑操作 1. 创建用户app – users python manage.py startapp users2.注册app users.apps.UsersConfig,3. 创建视图 from django.shortcuts import render from djan…

原生IP和住宅IP有什么区别?

原生IP和住宅IP在多个方面存在显著的区别。 从定义和来源来看&#xff0c;原生IP是指未经NAT&#xff08;网络地址转换&#xff09;处理的真实、公网可路由的IP地址&#xff0c;它直接从互联网服务提供商&#xff08;ISP&#xff09;获得&#xff0c;而不是通过代理服务器或VP…

Django初步了解

目录 一、什么是Django 二、Django的设计模式 三、涉及的英文缩写及其含义 四、安装&#xff08;官方教程&#xff09; 一、什么是Django Django是一个Python Web框架&#xff0c;可以快速开发网站&#xff0c;提供一站式的解决方案&#xff0c;包括缓存、数据库ORM、后台…

大象机器人开源协作机械臂myCobot 630 全面升级!

1. 开篇概述 在快速发展的机器人技术领域中&#xff0c;Elephant Robotics的myCobot 600已经证明了其在教育、科研和轻工业领域的显著适用性。作为一款具备六自由度的机械臂&#xff0c;myCobot 600以其600mm的工作半径和2kg的末端负载能力&#xff0c;满足了多样化的操作需求。…

中间件解析漏洞

1 、 apache 解析漏洞 漏洞环境搭建 下载 vulhub git clone https://github.com/vulhub/vulhub.git 进入对应漏洞目录、 cd vulhub/httpd/apache_parsing_vulnerability apt-get docker-compose 启动漏洞环境 docker-compose up -d 注&#xff1a;启动容器时&#xf…

用数据检验函数正确性,matlab2C

数据存取格式 filename1 g.txt; fid1 fopen(filename1,w); for i 1 : length(g)for j1:size(g,2)if(j1)fprintf(fid1,{%.16f,,g(i,j)); elseif(j>1&&j<151)fprintf(fid1,%.16f,,g(i,j)); elsefprintf(fid1,%.16f},\n,g(i,j));endend%fprintf(fid1,\n…

ZooKeeper 环境搭建详细教程之三(真集群)

ZooKeeper 搭建详细步骤之三(真集群) ZooKeeper 搭建详细步骤之二(伪集群模式) ZooKeeper 搭建详细步骤之一(单机模式) ZooKeeper 及相关概念简介 真集群搭建 搭建 ZooKeeper 真集群涉及多个步骤,包括准备环境、配置文件设置、启动服务以及验证集群状态。 以下是一个简…

在java项目中使用QQ邮箱发送验证码邮件

第一步&#xff1a;集成邮箱服务 在一个java项目中需要一个邮件服务来发送邮件可以使用JavaMail API来实现这一点&#xff0c;在这之前需要在项目中导入javax.mail.jar写入依赖。 方法一&#xff1a;直接在Maven中写入依赖 <dependency><groupId>org.apache.commo…

李沐64_注意力机制——自学笔记

注意力机制 1.卷积、全连接和池化层都只考虑不随意线索 2.注意力机制则显示的考虑随意线索 &#xff08;1&#xff09;随意线索倍称之为查询(query) &#xff08;2&#xff09;每个输入是一个值value&#xff0c;和不随意线索key的对 &#xff08;3&#xff09;通过注意力池…