OpenCV学习笔记(二)——OpenCV简介

news2025/1/23 17:41:48

目录

图像基础和简介

OpenCV简介

OpenCV的发展历史

OpenCV的应用

OpenCV的核心模块


图像基础和简介

人们通过肉眼所看见的世界是通过图像来呈现的,那么什么是图像呢?在计算机里面,最基本的组成单元就是像素,图像是很多像素的集合,图像是由像素整齐地排列出来的,比如一个图像是1040px×960px的大小,那么这图象就是有1040列、960行,一共有998400个像素。在学习OpenCV过程中,我们主要了解RGB图像即可。

RGB色彩空间是通过R(red)、G(Green)和B(blue),通过红色、蓝色和绿色来组成所有颜色,其中R、G和B的值分别是在0~255之间的整数,一共有2的24次方(256 * 256 * 256 = 16777216)中颜色。

图像分为两类:模拟图形和数字图像(类似于电路中数字电路和模拟电路的关系)模拟图像的值域是连续的,而数字图像的值域是离散的,在学习OpenCV的过程中,我们主要研究的是数字图像。

OpenCV简介

OpenCV的发展历史

OpenCV的全称是Open Source Computer Vision(开源计算机视觉),是由Inter公司的Gary Bradski于1999年开始开发。

Gary Bradski
Gary Bradski图片

OpenCV第一版发行于2000年,最初的目标是创建一个开源的计算机视觉库,用于研究、教育和商业应用。OpenCV由于C/C++语言实现,提供了Python、Java和C++等接口,第一版包括了一些基本的计算机视觉算法和数据结构,为后续的发展奠定了基础。

随着开源社区的加入,OpenCV得到了快速的发展,OpenCV的算法逐渐演化并且更进。2014年8月,OpenCV 3.0 Alpha版本在发布,使得OpenCV变得更加稳定,并且部分支持OpenCL。

OpenCV的应用

OpenCV具有广泛的应用领域,主要包括以下这些内容:

  • 计算机视觉:OpenCV的核心内容,包括目标检测、图像分类、人脸识别、姿态估计等。
  • 机器学习:OpenCV集成了多种机器学习算法,如支持向量机(SVM)、随机森林、朴素贝叶斯等,这些算法可以应用于图像分类和目标检测任务中。
  • 工业检测:penCV集成了多种机器学习算法,如支持向量机(SVM)、随机森林、朴素贝叶斯等,这些算法可以应用于图像分类和目标检测任务中。
  • 游戏开发:OpenCV还可以用于游戏开发中的虚拟现实(VR)和增强现实(AR)技术,为玩家提供更加沉浸式的体验。

OpenCV的核心模块

OpenCV有多个核心模块,包括核心函数模块、图像处理模块、视频模块、3D校准模块、2D特征模块、目标检测模块。下面介绍各个模块的内容:

  • 核心函数模块:主要定义的是高维矩阵基础数据结构以及相应的处理函数。
  • 图像处理模块:包括线性和非线性滤波、几何变化、颜色空间转换以及像素统计的功能。
  • 视频模块:主要是对于视频进行分析的功能。
  • 3D校准模快:包含多三位重建、相机校准、姿态估计、3D视觉效果、深度感知以及增强现实等功能。
  • 2D特征模块:最主要的就是显著特征检测、描述等。
  • 目标检测模块:主要的作用就是识别和定位图像中的特定对象。

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

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

相关文章

微信小程序用户登陆和获取用户信息功能实现

官方文档: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 接口说明: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html 我们看官方这个图,梳理一下用户…

css补充(上)

有关字体 1.所有有关字体的样式都会被继承 div {font-size: 30px;}<span>777</span> <div>123<p>456</p> </div>span中777是默认大小16px div设置了30px p作为div的后代继承了字体样式也是30px 2.字体颜色 div{color: red;border: 1px …

视频推拉流EasyDSS平台直播通道重连无法转推的原因排查与解决

视频推拉流EasyDSS视频直播点播平台&#xff0c;集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体&#xff0c;可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 用户使用EasyDSS平台对直播通道进行转推&#xff0c;发现只要关闭…

RabbitMQ使用SpringAMQP

简介 绝对的简单&#xff0c;绝对的易懂&#xff0c;方便初学者&#xff0c;更加利于理解和上手使用&#xff08;代码可直接复制粘贴进行使用&#xff09; 如有其它问题&#xff0c;大家可以留言或私聊。 主要为了给大家展示各个代码使用 如果需要更加完整的文档&#xff0…

关于 DevOps,如何应对IT服务交付中的问题?

文章目录 &#x1f4cb; 前言&#x1f3af; 如何应对IT服务交付中的问题&#xff1f;&#x1f3af;关于 DevOps 书籍推荐&#x1f4dd;最后&#x1f525; 参与方式 &#x1f4cb; 前言 DevOps 是一种软件开发方法论和实践&#xff0c;旨在通过缩短开发周期、提高交付速度和改进…

Pytorch 复习总结 6

Pytorch 复习总结&#xff0c;仅供笔者使用&#xff0c;参考教材&#xff1a; 《动手学深度学习》Stanford University: Practical Machine Learning 本文主要内容为&#xff1a;Pytorch 计算机视觉。 本文先介绍了计算机视觉中两种常见的改进模型泛化性能的方法&#xff1a…

和鲸科技受邀参与湖南省气象信息中心开展人工智能研究型业务支撑平台学术交流

为推进湖南省机器学习统一平台建设&#xff0c;2 月 29 日&#xff0c;湖南省气象信息中心开展学术讲座活动&#xff0c;活动由中心副主任冯冼主持&#xff0c;中心业务骨干、湖南省气象台、湖南分院等技术人员参加。 本次讲座邀请上海和今信息科技有限公司&#xff08;简称“…

STL容器之map和set的补充红黑树

三、红黑树 ​ 红黑树比起avl树是哟啊更优一点的。 3.1概念 ​ 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保…

DataFunSummit 2023:洞察现代数据栈技术的创新与发展(附大会核心PPT下载)

随着数字化浪潮的推进&#xff0c;数据已成为企业竞争的核心要素。为了应对日益增长的数据挑战&#xff0c;现代数据栈技术日益受到业界的关注。DataFunSummit 2023年现代数据栈技术峰会正是在这样的背景下应运而生&#xff0c;汇聚了全球数据领域的精英&#xff0c;共同探讨现…

华为数通方向HCIP-DataCom H12-821题库(多选题:101-120)

第101题 下面关于Network-Summary-LSA描述正确的是 A、Network-Summary-LSA中的Metric被设置成从该ABR到达目的网段的开销值 B、Network-Summary-LSA中 的Netmask被设置成目的网段的网络掩码 C、Network-Summary-LSA中的Link State ID被设置成目的网络的IP地址 D、Network-Sum…

项目一:踏上Java开发之旅(2023软件1班)

文章目录 一、实战概述二、实战步骤任务1&#xff1a;安装配置JDK开发第一个Java程序1、安装JDK2、配置Java环境变量3、开发第一个Java程序&#xff08;1&#xff09;编写源程序 - HelloWorld.java&#xff08;2&#xff09;编译成字节码文件 - HelloWorld.class&#xff08;3&…

网络原理TCP_IP

文章目录 应用层自定义协议 传输层udp协议TCP协议1.确认应答2.超时重传3.连接管理建立连接, 三次握手断开连接, 四次挥手tcp的状态 4.滑动窗口5.流量控制6.拥塞控制7.延时应答8.携带应答9.面向字节流10.异常情况 网络层IP协议地址管理路由选择 数据链路层以太网 应用层 自定义…

【Greenhills】MULTIIDE集成第三方的编辑器进行源文件编辑工作

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 在使用GHS进行工作的时候&#xff0c;可以集成第三方的编辑器进行源文件编辑工作 2、 问题场景 用于解决在GHS中进行项目开发时&#xff0c;对于GHS的编辑器使用不习惯&#xff0c;想要切换到其他第三方的编辑…

差分与前缀和模板题(蓝桥杯 C++ 题目 注解)

目录 题目一&#xff08;大学树木要打药 差分&#xff09;&#xff1a; 代码&#xff1a; 题目二&#xff08;小明的彩灯 差分&#xff09;&#xff1a; 代码&#xff1a; 题目三&#xff08;区间更新 差分&#xff09;&#xff1a; 代码&#xff1a; 题目四&#xff08;…

python基于django的药品进销存管理系统elsb2

本系统是通过面向对象的python语言搭建系统框架&#xff0c;通过关系型数据库MySQL存储数据。使用django框架进行药店药品的信息管理&#xff0c;用户只需要通过浏览器访问系统即可获取药店药品信息&#xff0c;并可以在线管理&#xff0c;实现了信息的科学管理与查询统计。本文…

了解一下c++的小语法——步入c++

前言&#xff1a;c是一门既面向对象又面向过程的语言。 不同于java纯粹的面向对象和c纯粹的面向过程。 造成c该特性的原因是c是由本贾尼大佬在c的基础上增添语法创建出来的一门新的语言。 它既兼容了c&#xff0c; 身具面向过程的特性。 又有本身的面向对象的特性。 面向对象和…

selenium-java 通过配置xml文件并发运行类或者方法

1、打开idea允许某个class类&#xff0c;可以在控制台看到运行路径的下的配置文件如下图&#xff1a; 2、将路径复制到本地路径中找到temp-testng-customsuite.xml文件 3、复制该文件到项目的根目录下&#xff0c;可以修改文件名称&#xff0c;如下图 4、如图所示&#xff0c;通…

【Python】成功解决TypeError: ‘int‘ object is not iterable

【Python】成功解决TypeError: ‘int’ object is not iterable &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到…

【Flink网络数据传输(4)】RecordWriter(下)封装数据并发送到网络的过程

文章目录 一. RecordWriter封装数据并发送到网络1. 数据发送到网络的具体流程2. 源码层面2.1. Serializer的实现逻辑a. SpanningRecordSerializer的实现b. SpanningRecordSerializer中如何对数据元素进行序列化 2.2. 将ByteBuffer中间数据写入BufferBuilder 二. BufferBuilder申…

java ~ word模板填充字符后输出到指定目录

word文件格式&#xff1a; jar包&#xff1a; <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.10.0</version></dependency>样例代码&#xff1a; // 封装参数集合Map<String, Ob…