1、opencv介绍与开发环境搭建

1、opencv介绍

OpenCV 是 Intel 开源计算机视觉库,是一个跨平台的开源计算机视觉和机器学习软件库。它由一系列 C 函数和少量 C++ 类构成,可用于开发实时的图像处理、计算机视觉以及模式识别程序。

该库有 2500 多种优化算法,其中包括一套全面的经典和最先进的计算机视觉和机器学习算法。
这些算法可用于检测和识别人脸、识别物体、对视频中的人类行为进行分类、跟踪摄像机运动、跟踪移动物体、提取物体的三维模型、从立体摄像机中产生三维点云、将图像拼接起来以产生整个场景的高分辨率图像、从图像数据库中找到类似的图像、从使用闪光灯拍摄的图像中去除红眼、跟踪眼睛的运动、识别风景并建立标记以叠加到增强现实中等等。


OpenCV 拥有超过 4.7 万人的用户群,估计下载量超过 1800 万。该库在公司、研究小组和政府机构中被广泛使用。除了谷歌、雅虎、微软、英特尔、IBM、索尼、本田、丰田等知名公司外,还有许多初创公司,如 Applied Minds、VideoSurf 和 Zeitera 等都在广泛使用 OpenCV。


OpenCV 的应用范围很广,包括将街景图像拼接在一起,在以色列检测监控视频中的入侵行为,在中国监控矿山设备,在 Willow Garage 帮助机器人导航和拾取物体,
在欧洲检测游泳池溺水事故,在西班牙和纽约运行互动艺术,在土耳其检查跑道上的碎片,在世界各地的工厂检查产品的标签,以及在日本快速检测人脸。

它有 C++、Python、Java 和 MATLAB 接口,支持 Windows、Linux、  Android 和 Mac OS。OpenCV 主要倾向于实时视觉应用程序,并在可用时利用 MMX 和 SSE 指令。 目前正在积极开发功能齐全的 CUDA 和 OpenCL 接口。有超过 500 种算法和大约 10 倍的函数组成或支持这些算法。OpenCV 是用 C++ 原生编写的,具有可与 STL 容器无缝协作的模板化接口。

OpenCV 具有模块化结构,这意味着该软件包包含多个共享或静态库。以下模块可用:
核心功能(core)- 定义基本数据结构的紧凑模块,包括密集的多维数组 Mat 和所有其他模块使用的基本功能。
图像处理 ( imgproc ) - 一个图像处理模块,包括线性和非线性图像过滤、几何图像变换(调整大小、仿射和透视变形、通用的基于表格的重新映射)、色彩空间转换、直方图等。
Video Analysis ( video ) - 一个视频分析模块,包括运动估计、背景减除和对象跟踪算法。
相机校准和 3D 重建 ( calib3d ) - 基本的多视图几何算法、单相机和立体相机校准、物体姿态估计、立体对应算法和 3D 重建的元素。
2D 特征框架 ( features2d ) - 显着特征检测器、描述符和描述符匹配器。
对象检测 ( objdetect ) - 检测预定义类的对象和实例(例如,面部、眼睛、杯子、人、汽车等)。
高级 GUI ( highgui ) - 简单 UI 功能的易于使用的界面。
视频 I/O ( videoio ) - 一个易于使用的视频捕获和视频编解码器接口。
 一些其他帮助模块,例如 FLANN 和 Google 测试包装器、Python 绑定等。
        

2、opencv安装与配置

2.1、安装VS2019

按照正常安装即可

2.2、下载opencv4.5.5

https://opencv.org/releases/       国外网站下载比较慢

2.3、配置环境

1、将下载好的opencv4.5.5解压到新的文件夹中


2、将三个.dll文件复制到C盘的System32里面

3、开始配置VS2022


①、新建一个项目

②、打开属性管理器

③、设置属性表

设置解决访问为release x64

添加新项目属性表

④、设置包含目录和库目录

添加包含目录的两个路径

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

E:\opencv\opencv\build\include

添加库目录的路径

E:\opencv\opencv\build\x64\vc15\lib

设置链接器->输入

4、设置环境变量

E:\opencv\opencv\build\x64\vc15\bin

5、开始测试

①添加main.cpp

②、在项目目录下放一张图片

③、编写测试代码

#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;int main(){// 读取图片按原来的1/4Mat img = imread("1.jpg", IMREAD_REDUCED_COLOR_4);// 显示图片imshow("input", img);waitKey(0);destroyAllWindows();return 0;}

④、运行

2.4、导出模板

①、导出模板

②、测试模板

创建新项目,搜索模板名称”opencv_demo”模板会自动出现,点击创建新项目

参考文档:【图像处理】VS2019+opencv4.5.5安装_opencv455-CSDN博客

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

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

相关文章

联合和枚举

1、联合 联合&#xff08;union&#xff09;是一种数据类型&#xff0c;它能在用一个内存空间中存储不同的数据类型&#xff08;但不是同时存储&#xff09;。其典型的用法是&#xff0c;设计一种表以存储既无规律、事先也不知道顺序的混合类型。 使用联合类型的话&#xff0c…

国际收支平衡表的分析要点有哪些

国际收支统计是国民经济综合平衡必不可少的一个环节&#xff0c;国际收支的顺差或逆差可以弥补国内投资和消费与国内生产总值间的缺口&#xff0c;国际收支状况可影响国内信贷平衡&#xff0c;对金融调控至关重要。良好的国际收支统计信息是制定正确的对外经济政策的基础。 一…

解读币安Megadrop:如何参加第一期BounceBit活动?

币安推出新的代币发行平台 Megadrop&#xff0c;第一期为 BounceBit。 跟 launchpool 相比&#xff0c; 主要不同是 1&#xff09;锁仓 bnb 有收益的倍数加成 2&#xff09;做任务有收益加成。 我认为核心目的有两个&#xff1a; 1&#xff09;更多收益给 BNB 长期持有者&am…

NovaMSS音乐源分离v1.3.3社区版

软件介绍 NovaMSS 基于最新 AI 模型优化的音乐源分离工具。它能够轻松地批量提取伴奏、人声、贝斯、鼓点等音轨&#xff0c;并且支持 GPU 加速&#xff0c;以提高处理速度和效率。社区版完全免费&#xff0c;简单易用&#xff0c;上传文件&#xff0c;点击处理&#xff0c;查看…

K8s七层代理Ingress Controller详解

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、k8s简介 2、Ingress Controller简介…

vlan的学习笔记2(vlan间通信)

1.使用路由器的物理接口 原理&#xff1a;在二层交换机上配置VLAN&#xff0c;每个VLAN单独使用一个交换机接口与路由器互联。路由器使用两个物理接口&#xff0c;分别作为VLAN 10及VLAN 20内PC的默认网关&#xff0c;使用路由器的物理接口实现VLAN之间的通信。 实验1&#x…

每一个优秀的Java程序员都应该掌握的90条编程法则

经典Jolt 获奖作品Effective Java的第3版&#xff0c;从Java 5 到Java 9的种种特性&#xff0c;Java 开发人员不可缺少的一本参考书&#xff1a;Effective Java中文版(原书第3版)&#xff0c;2024全新译本&#xff0c;豆瓣原版评分9.6&#xff0c;中文版9.8。 作者约书亚.布洛克…

vue-manage-system 版本更新,让开发更加简单

vue-manage-system 近期进行了一次版本升级&#xff0c;主要是支持了更多功能、升级依赖版本和优化样式&#xff0c;并且上线了官方文档网站&#xff0c;大部分功能都有文档或者使用示例&#xff0c;更加适合新手上手开发&#xff0c;只需要根据实际业务简单修改&#xff0c;就…

跟着Datawhale重学数据结构与算法(3)---排序算法

开源链接&#xff1a;【 教程地址 】【电子网站】 【写博客的目的是记录自己学习过程&#xff0c;方便自己复盘&#xff0c;专业课复习】 数组排序&#xff1a; #mermaid-svg-F3iLcKsVv8gcmqqC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16p…

Centos 5 的yum源

背景 有使用较老的Centos 5 系统内部安装软件无法正常报错&#xff0c;是由于系统叫老yum源存在问题 处理方法 更换下述yum源&#xff0c;可以将其他repo源文件备份移动到其他目录&#xff0c;添加下述源后重新测试 [C5.11-base] nameCentOS-5.11 baseurlhttp://vault.c…

A Neural Span-Based Continual Named Entity Recognition Model

《A Neural Span-Based Continual Named Entity Recognition Model》------------AAAI’23 论文链接&#xff1a;https://arxiv.org/abs/2302.12200 代码&#xff1a;https://github.com/Qznan/SpanKL 当前问题&#xff1a; 1.现有的NER模型在适应新的实体类型时往往表现不佳…

网站被SmartScreen标记为不安全怎么办?

在互联网时代&#xff0c;网站的安全性和可信度是用户选择是否继续访问的重要因素之一&#xff0c;然而&#xff0c;网站运营者偶尔会发现使用Edge浏览器访问网站时&#xff0c;会出现Microsoft Defender SmartScreen&#xff08;以下简称SmartScreen&#xff09;提示网站不安全…