OpenCV-8RGB和BGR颜色空间

一. RGB和BGR

最常见的色彩空间就是RGB,人眼也是基于RGB的色彩空间去分辨颜色。

OpenCV默认使用的是BGR. BGR和RGB色彩空间的区别在于图片在色彩通道上的排列顺序不同。

二.HSV, HSL和YUV

1.HSV(HSB)

OpenCV用的最多的色彩空间是HSV.

Hue:色相,即色彩,如红色,蓝色. 用角度度量,取值范围为0°~360°,从红色开始逆时针方向计算,红色为0°,绿色为120°,蓝色为240°

Saturation:饱和度,表示颜色接近光谱色的程度。一种颜色,可以看作是某种光谱色和白色混合的结果。其中光谱色所占比例越大,颜色接近光谱色的程度就越高,颜色的饱和度也就越高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常饱和度取值为0°~100°,值越大,颜色越饱和。

Value或Brightness:明度或亮度,表示颜色的明亮程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值与物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)

底部为黑色

使用HSV的原因:方便OpenCV做图像处理,比如根据hue的值判断背景颜色.

2.HSL

HSV和HSL在字面上意思一样:

H:指的是色相,就是颜色名称,例如红色,蓝色

S:指的是饱和度,即颜色的纯度

L:Lightness和Brightness是明度,颜色的明亮程度

在原理和表现上,HSL和HSV中的H一样,但是二者的S和L不一样:

HSB中的S控制纯色中混入白色的量,值越大,白色越少,颜色越纯。(类似加入白色液体稀释)

HSB中的B控制纯色中混入黑色的量,即颜色的纯度。

HSL中的S和黑白没有关系,饱和度不控制颜色中混入黑白的多寡。(类似于加入纯净水稀释)

HSL中的L控制纯色中的混入的黑白两种颜色。

中间为灰色,上面为白色,下面为黑色。

3.YUV

YUV:是一种颜色的编码方法,常用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的宽度。

Y:表示明亮度,也就是灰阶值。

U和V表示色度,作用是描述影响色彩及饱和度,用于指定像素的颜色。

YUV的发明是由于彩色电视与黑白电视的过渡时期。

YUV最大的优点在于只需要占用极少的宽带。

共有下列四种取样格式:

4:4:4表示完全取样(带宽最多)

4:2:2表示2:1的水平采样,垂直完全采样

4:2:0表示2:1的水平采样,垂直2:1采样(最经常采用)

4:1:1表示4:1的水平采样,垂直完全采样

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android-----AndroidManifests.xml 之meta-data

一、概念 meta-data:元数据、文件元数据。主要用来定义一些组件相关的配置值。 metadata是一组供父组件使用的名值对(name-value pair),一个组件元素可以包含任意数量的meta-data子元素。这些子元素的值存放在一个 Bundle 对象中…

汽车UDS诊断——SecureDataTransmission 加密数据传输(0x84)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的84服务SecureDataTransmission,在常规诊断通信中,数据极易被第三方获取,所以在一些特殊的数据传输时,标准定义了加密数据传输的服务。 简而言之,就是在发送诊断数据时,发送方先把数…

svn 安装

安装系统 ubuntu 22 安装命令: sudo apt-get install subversion 创建第一个工程: 创建版本库、项目 1、先创建svn根目录文件夹 sudo mkdir /home/svn 2、创建项目的目录文件夹 sudo mkdir /home/svn/demo_0 svnadmin create /home/svn/demo_0 配置&a…

C#拼接JSON

一、业务背景 最近项目需要与U8c对接,实现增删改查,借此机会,梳理一下C#解析Json字符串的问题。 这篇文章,先以新增接口为例。 二、新增接口 查看需要传入的json格式。 拼接json,无非就是{}和[]的来回嵌套。 首先&am…

数据可视化(附带操作实例)

一、主要目的: 数据可视化是关于图形或表格的数据展示,旨在借助图形化手段,清晰有效的传达与沟通信息。通过直观地传达关键内容与特征,从而实现对相当稀疏而又复杂的数据集的深入洞察。熟悉在Python开发环境中支持数据可视化环节…

【基础篇】1.2 认识STM32(二)

3.3 VREF/VREF-引脚 VREF和VREF-是STM32中用于提供参考电压的引脚。如下图: VREF引脚可以连接一个单独的外部参考电压,范围在2.0V~VDDA,但不能超过VDDA,否则就超过了模拟器件的最大供电电压。在100引脚的封装中&#…

微服务实战系列之ZooKeeper(实践篇)

前言 关于ZooKeeper,博主已完整的通过庖丁解牛式的“解法”,完成了概述。我想掌握了这些基础原理和概念后,工作的问题自然迎刃而解,甚至offer也可能手到擒来,真实一举两得,美极了。 为了更有直观的体验&a…

分布式链路追踪 —— 基于Dubbo的traceId追踪传递

文章目录 原文链接RpcContext 上下文对象Dubbo 过滤器(Filter)对象基于Dubbo的traceId追踪传递实现 原文链接 RpcContext 上下文对象 在实现 Dubbo 调用之间的链路跟踪之前,先简单了解 RpcContext 上下文对象和 Filter 过滤器对象&#xff…

vue使用xlsx和xlsx-style导出xlsx文件并修改样式

1.下载依赖 npm install xlsx --save npm install file-saver --save npm install xlsx-style --save2.先修改xlsx-style的源码,一旦引入xlsx-style则会报错 在\node_modules\xlsx-style\dist\cpexcel.js 807行 的 var cpt require(’./cpt’ ‘able’); 改成 v…

接口测试的工具(3)----postman+node.js+newman

1.安装newman:输入命令之后 一定注意 什么都不要操作 静静的等待结束就行了。 2.安装失败的对此尝试不行 在用下面的方法 解压一下就行了 3.验证是否成功 多次尝试是可以在线安装成功的

开发企业展示小程序的关键步骤和技巧

随着移动互联网的快速发展,小程序已经成为企业展示形象、推广产品和服务的重要工具。拥有一个优秀的小程序可以帮助企业提高品牌知名度,吸引更多潜在客户,提升用户体验。以下是拥有一个展示小程序的步骤: 确定需求和目标 首先&am…

21、同济、微软亚研院、西安电子科技大提出HPT:层次化提示调优,独属于提示学习的[安妮海瑟薇]

前言: 本论文由同济大学、微软亚洲研究院、西安电子科技大学,于2023年12月11日中了AAAI2024 论文: 《Learning Hierarchical Prompt with Structured Linguistic Knowledge for Vision-Language Models》 地址: [2312.06323]…

操作系统习题

操作系统习题 一.选择题二.判断题三.PV操作题 学习完操作系统以后也要做题巩固一下,下面是我收集到的一些题目,如有问题欢迎大家一起讨论! 题目较多,可以选择自己需要的来做,答案仅供…

干货教学!!!RHEL8中ansible中常用模块的使用

内容很长各位大老爷耐心观看 本章主要介绍ansible中最常见模块的使用 文件管理模块软件包管理模块服务管理模块磁盘管理模块用户管理模块防火墙管理模块 ansible的基本用法如下 ansible 机器名 -m 模块x -a “模块的参数” 对被管理机器执行不同的操作,只需要调…

WinSCP显示服务器隐藏的文件

正常情况下,如果我们有使用WinSCP作为SFTP、FTP管理主机空间的时候,如果有类似.htaccess或者其他.开头或者其他特殊文件名扩展会直接看不到而是隐藏着的。这样就显得比较麻烦,自己都不知道有还是没有,比如我们要修改.htaccess伪静…

【1.8计算机组成与体系结构】磁盘管理

目录 1.磁盘基本结构与存取过程1.1 磁盘基本结构1.2 磁盘的存取过程 2.磁盘优化分布存储3.磁盘单缓冲区与双缓冲区4.磁盘移臂调度算法 1.磁盘基本结构与存取过程 1.1 磁盘基本结构 磁盘:柱面,磁道,扇区。 1.2 磁盘的存取过程 存取时间寻…

预测性维护在汽车制造行业中的应用

汽车制造行业是一个高度复杂和精细化的领域,依赖于各种设备来完成生产流程。这些设备包括机械装配线、焊接机器人、喷涂设备、传送带等。然而,这些设备在长时间运行中不可避免地会遇到各种故障,给生产进程带来延误和成本增加。为了应对这一挑…

22--Map集合

1、Map集合 现实生活与开发中,我们常会看到这样的一类集合:用户ID与账户信息、学生姓名与考试成绩、IP地址与主机名等,这种一一对应的关系,就称作映射。Java提供了专门的集合框架用来存储这种映射关系的对象,即java.…

安卓小练习-校园闲置交易APP(SQLite+SimpleCursorAdapter适配器)

环境: SDK:34 JDK:20.0.2 编写工具:Android Studio 2022.3.1 整体效果(视频演示): 小练习-闲置社区APP演示视频-CSDN直播 部分效果截图: 整体工作流程: 1.用户登录&…

C语言输出菱形(详解版)

菱形,就是如下所示的图形,总行数与总列数相等: 写一个程序,根据用户输入的总行数,打印出菱形。 这个题目主要是找出规律,考察读者的逻辑思维。 你可以从第一行开始,遍历所有的列,也…
最新文章