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.rhkb.cn/news/317865.html

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

相关文章

远距离、高品质、低延迟、高保真——SA316无线音频模块带您探索新的音频体验

SA316系列产品分为发射端模块SA316S-TX,SA316F30和接收端模块SA316-RX&#xff0c;该系列方案采用了无线高品质的语音传输芯片来设计&#xff0c;它可以支持外部 PCM / IIS 双模数字音频接口&#xff0c;同时模块为客户提供了标准化的串行接口&#xff0c;使用者可通过串口指令…

Linux-进程调度器

1. 前言 在计算机中&#xff0c;进程的数量远多于cpu的数量&#xff0c;所以就存在&#xff0c;多个进程抢占一个cpu的情况&#xff0c;所以就需要一套规则&#xff0c;决定这些进程被处理的顺序&#xff0c;这就叫做进程调度。 在我的简单理解下&#xff0c;其实就是把进程放…

Docker 安装部署 postgres

Docker 安装部署 postgres 1、拉取 postgres 镜像文件 [rootiZbp19a67kznq0h0rgosuxZ ~]# docker pull postgres:latest latest: Pulling from library/postgres b0a0cf830b12: Pull complete dda3d8fbd5ed: Pull complete 283a477db7bb: Pull complete 91d2729fa4d5: Pul…

【docker】Docker开启远程访问

将构建的镜像自动上传到服务器。 需要开放 Docker 的端口&#xff0c;让我们在本地能连接上服务器的 Docker&#xff0c;这样&#xff0c;才能上传构建的镜像给 Docker。 开启远程访问 首先在服务器打开 Docker 的服务文件 vim /usr/lib/systemd/system/docker.service修改…

android studio项目实战——备忘录(附源码)

成果展示&#xff1a; 1.前期准备 &#xff08;1&#xff09;在配置文件中添加权限及启动页面顺序 ①展开工程&#xff0c;打开app下方的AndroidManifest.xml,添加权限&#xff0c;如下&#xff1a; <uses-permission android:name"android.permission.CAMERA"…

OpenHarmony开源软件供应链安全风险

慕冬亮&#xff0c;华中科技大学网络空间安全学院副教授&#xff0c;武汉英才&#xff0c;华中科技大学OpenHarmony技术俱乐部、开放原子开源社团指导教师。研究方向为软件与系统安全&#xff0c;在国际安全会议上发表十余篇论文&#xff0c;并获得ACM CCS 2018杰出论文奖。创立…

Grafana页面嵌入自建Web应用页面

目录 一、应用场景 二、实现方式 1、修改Grafana配置文件 2、获取监控页面url 3、隐藏左侧和顶部菜单 一、应用场景 需要将Grafana监控页面嵌入自建Web应用页面&#xff0c;使Grafana监控页面成为自建Web应用的一部分。 二、实现方式 总体思路&#xff1a;修改Grafana配…

【R语言数据分析】基本运算与数据导入速查

R语言中命名可以包含英文字母&#xff0c;下划线&#xff0c;数字&#xff0c;点&#xff0c;下划线和数字不能作为名字的开头&#xff0c;点可以开头&#xff0c;但是点开头后面不能跟数字。一般的命名就是只使用英文和下划线就够了。 四则运算 R语言的除法是即使给的两个数…

展会资讯 | 现场精彩回顾 阿尔泰科技参展2024第23届中国国际(西部)光电产业!

2024第23届中国国际&#xff08;西部&#xff09;光电产业博览会&#xff0c;在成都世纪城新国际会展中心圆满落幕&#xff01;来自各地的光电领域设备及材料厂商汇聚一堂&#xff0c;展示前沿技术及创新成果。 展会现场&#xff0c;来自全国各地的500余家企业就精密光学、信息…

进迭时空宣布开源RISC-V芯片的AI核心技术

仟江水商业电讯&#xff08;4月29日 北京 委托发布&#xff09;4月29日&#xff0c;在“创芯生生不息——进迭时空2024年度产品发布会”上&#xff0c;进迭时空CEO、创始人&#xff0c;陈志坚博士宣布将开源进迭时空在自研RISC-V AI CPU上的核心技术&#xff0c;包括AI扩展指令…

C语言/数据结构——每日一题(合并两个有序链表)

一.前言 嗨嗨嗨&#xff0c;大家好久不见&#xff01;今天我在LeetCode看到了一道单链表题&#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists想着和大家分享一下&#xff0c;废话不多说&#xff0c;让我们开始今天的题目分享吧。 二.正文 1.1题目描述 1.2题…

智慧旅游驱动行业革新:智能技术引领服务全面升级,匠心打造高品质、个性化旅游新体验

一、引言 随着科技的飞速发展和信息化程度的不断提高&#xff0c;智慧旅游正逐渐成为旅游业发展的新趋势。智慧旅游&#xff0c;顾名思义&#xff0c;是以智能化技术为支撑&#xff0c;通过大数据、云计算、物联网、人工智能等先进技术的应用&#xff0c;实现旅游服务的全面升…

袁庭新ES系列17节|Spring Data Elasticsearch基础

前言 为了简化对Elasticsearch的操作Spring Data提供了Spring Data Elasticsearch。Spring Data Elasticsearch是Spring Data技术对Elasticsearch原生API封装之后的产物&#xff0c;它通过对原生API的封装&#xff0c;使得程序员可以简单的对Elasticsearch进行各种操作。接下来…

HarmonyOS 4.0(鸿蒙开发)01 - 怎么学习鸿蒙引导篇

作为公司的全栈开发工程师 以及 未来的发展是有鸿蒙这个阶段的&#xff0c;以及本身具有这个技术栈由此后续会分享自己在实战中学习到的东西&#xff0c;碰到的bug都会分享出来&#xff0c;这是引导篇期待后续的更新 学习目标&#xff1a; 理解HarmonyOS操作系统的架构和开发…

Javascript:Web APIs(一)

Javascript基础&#xff08;一&#xff09; Javascript基础&#xff08;二&#xff09; Javascript基础&#xff08;三&#xff09; Javascript基础已经结束&#xff0c;接下来我们将进入到整个Web API学习中&#xff0c;在此&#xff0c;我们将学习DOM操作&#xff0c;基本的…

普乐蛙景区vr体验馆VR游乐场设备身历其境体验

小编给大家推荐一款gao坪效产品【暗黑战车】&#xff0c;一次6人同乘&#xff0c;炫酷外观、强大性能和丰富内容适合各个年龄层客群&#xff0c;紧张刺激的VR体验让玩家沉浸在元宇宙的魅力中&#xff0c;无论是节假日还是平日&#xff0c;景区商场助力门店提高客流量和营收~ ◆…

IGM焊接机器人RTE 495伺服电机维修详情一览

在当今科技迅速发展的时代&#xff0c;机器人已成为各行各业不可或缺的重要工具。IGM机器人便是其中之一&#xff0c;其工业机械手伺服马达作为机器人的关键部件&#xff0c;确保机器人能够高效、稳定地运行。当出现IGM焊接机器人RTE 495伺服电机故障问题时&#xff0c;及时进行…

Android 文件传输

目录 device explorer 文件目录关系对应&#xff1a; device explorer 经常写adb命令传文件&#xff0c;结果发现Android studio有自带的文件管理器&#xff0c;可以上传下载文件。 tool windows ->device explorer 文件目录关系对应&#xff1a; Android java获取的程序…

【华为】路由综合实验(基础)

【华为】路由综合实验 实验需求拓扑配置AR1AR2AR3AR4AR5PC1PC2 查看通信OSPF邻居OSPF路由表 BGPBGP邻居BGP 路由表 配置文档 实验需求 ① 自行规划IP地址 ② 在区域1里面 启用OSPF ③ 在区域1和区域2 启用BGP&#xff0c;使AR4和AR3成为eBGP&#xff0c;AR4和AR5成为iBGP对等体…

Vitis HLS 学习笔记--S_AXILITE 寄存器及驱动

目录 1. 简介 2. S_AXILITE Registers 寄存器详解 2.1 “隐式”优势 2.2 驱动程序文件 2.3 硬件头文件 2.4 硬件头文件中 SC/COR/TOW/COH 的解释 2.5 驱动控制过程 3. 总结 1. 简介 回顾此博文《Vitis HLS 学习笔记--Syn Report解读&#xff08;1&#xff09;-CSDN博…