数字图像处理(入门篇)二 颜色空间

news2024/7/6 18:21:49

        在对图像进行处理时,前提图像必须是以数据的形式来描述的,而颜色空间就是用数据来表征图像颜色的一种方法。颜色信息由三个独立的分量来综合表示,这三个独立的分量构成了一个三维的坐标空间,每种颜色信息都在该空间中被唯一地表示。现有的颜色空间模型有:RGB、NTSC、YCbCr、CHL、HSV、CMY、CMYK、HSI、LAB、CIE、UCS、YUV等等。在数字图像处理中,常用的空间模型分别有RGB、YUV和HSV。

 1 RGB颜色空间

       RGB颜色空间模型是由红(R)、绿(G)、蓝(B)三种光谱组成,即通常所谓的三原色。在自然界中,人类可以感知到的任何一种色彩都可以由红、绿、蓝三种原色按照某种比例混合而得到,同样,任何一种颜色都可以分解成红、绿、蓝这三种色光。由于红、绿、蓝三个通道里的值各自控制对应三种颜色的亮度,这样就形成了数学上的一个三维空间,即所谓的颜色空间。由R、G、B组成的颜色空间中,坐标(255,255,255)表示的颜色是白色,坐标(0,0,0)则表示颜色是黑色。为了描述的方便,一般把RGB颜色空间看作一个以红(R)、绿(G)、蓝(B)为坐标轴定义的正方体,如下图所示。

 

2 YUV颜色空间

        在YUV模型中,Y描述了亮度信息,U和V描述了图像的色彩信息,即亮度和色彩是分开的。如果只有Y信号分量而没有U、V分量,那么这样的图像就是黑白灰度图。YUV空间模型便于进行压缩,因此这种模型广泛应用于视频行业中。彩色电视采用YUV颜色空间正是为了用Y(亮度)来解决彩色电视与黑白电视之间的兼容问题。YUV空间模型可以由RGB空间模型转换而来,如下公式所示。

 

3 HSV颜色空间

        HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith创建的一种颜色空间 也称六角锥体模型(Hexcone Model)HSV空间模型符合人眼对颜色信息的理解,比RGB系统更接近于人们对色彩的感知HSV空间模型可用一个六面椎体来表示,当V=0时,轴的末端为黑色;当V=1时,轴的末端为白色。饱和度(颜色的纯净度)是指到V轴的距离,如下图所示。

        将RGB模型转换至HSV模型的MATLAB函数为rgb2hsv,输入的RGB的图像可以是uint8类、uint16类或者double类,输出的图像则是double类。将HSV模型转换至RGB的MATLAB函数是hsv2rgb,输入的图像则必须是double类,输出的图像同样是double类。

RGB模型转换为HSV模型的公式如下所示。其中,是色度H的幅角值。

HSV模型转换到RGB模型的转换公式如下公式所示。

 

 4 总结

(1)RGB颜色空间

由红(R)、绿(G)、蓝(B)三种光谱组成,即通常所谓的三原色。

(2)YUV颜色空间

由亮度信号Y和两个色差信号R-Y、B-Y组成。

Y亮度信号和色差信号U、V是分离的。只有Y信号分量就可能表示黑白灰度图。

YUV颜色空间主要用于图像压缩和传输。

(3)HSV颜色空间

H色相 0-360 ;S饱和度:0-1;V亮度:0-1。

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

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

相关文章

Java-泛型实验

1.定义一个学生类Student,具有年龄age和姓名name两个属性,并通过实现Comparable接口提供比较规则(返回两个学生的年龄差), 定义测试类Test,在测试类中定义测试方法Comparable getMax(Comparable c1, Compar…

基于springboot农机电招平台设计与实现的源码+文档

摘要 随着农机电招行业的不断发展,农机电招在现实生活中的使用和普及,农机电招行业成为近年内出现的一个新行业,并且能够成为大群众广为认可和接受的行为和选择。设计农机电招平台的目的就是借助计算机让复杂的销售操作变简单,变高…

Kubernetes资源调度之节点亲和

Kubernetes资源调度之节点亲和 Pod节点选择器 nodeSelector指定的标签选择器过滤符合条件的节点作为可用目标节点,最终选择则基于打分机制完成。因此,后者也称为节点选择器。用户事先为特定部分的Node资源对象设定好标签,而后即可配置Pod通过…

YOLO X 改进详解

YOLO X 主要改进: Anchor-Free: FCOSDecoupled detection headAdvanced label assigning strategy Network structure improvement Decoupled detection head 对比于YOLO V5, YOLO X 在detection head上有了改进。YOLO V5中,检测头是通过卷积同时预…

ROS2--概述

ROS2概述1 ROS2对比ROS12 ROS2 通信3 核心概念4 ros2 安装5 话题、服务、动作6 参数参考1 ROS2对比ROS1 多机器人系统:未来机器人一定不会是独立的个体,机器人和机器人之间也需要通信和协作,ROS2为多机器人系统的应用提供了标准方法和通信机…

时间序列:时间序列模型---自回归过程(AutoRegressive Process)

本文是Quantitative Methods and Analysis: Pairs Trading此书的读书笔记。 这次我们构造一个由无限的白噪声实现(white noise realization) 组成的时间序列,即。这个由无限数目的项组成的值却是一个有限的值,比如时刻的值为, 而…

基于PHP+MySQL校园餐饮配送系统的设计与实现

随着我国国民经济的稳步发展,我国的大学生也越来越多,但是大部分学生都是没有时间和环境去自己做饭的,有很多也不会做,而很多食堂的菜品有难以下咽,所以很多人就采取了订餐的方式来进行购买美食,但是现在很多网站都是只能进行点餐,而没有智能推荐功能,本系统在原来的外卖基础上…

【Linux】文件系统

目录🌈前言🌷1、磁盘的组成🍡1.1、磁盘的物理结构🍢1.2、磁盘的存储结构🍣1.3、磁盘的逻辑结构🌸2、文件系统🍤2.1、文件系统的结构🍥2.2、inode如何与数据块建立联系🍦2…

2021年全国研究生数学建模竞赛华为杯C题帕金森病的脑深部电刺激治疗建模研究求解全过程文档及程序

2021年全国研究生数学建模竞赛华为杯 C题 帕金森病的脑深部电刺激治疗建模研究 原题再现: 一、背景介绍   帕金森病是一种常见的神经退行性疾病,临床表现的特征是静止性震颤,肌强直,运动迟缓,姿势步态障碍等运动症…

R语言生存分析可视化分析

生存分析指的是一系列用来探究所感兴趣的事件的发生的时间的统计方法。 生存分析被用于各种领域,例如: 癌症研究为患者生存时间分析, “事件历史分析”的社会学 在工程的“故障时间分析”。 在癌症研究中,典型的研究问题如下…

Java中如何处理时间--Date类

文章目录0 写在前面1 介绍Date类2 构造方法举例2.1 Date()2.2 Date(long date)3 Date类中常用方法4 写在最后0 写在前面 在实际业务中,总会碰到关于时间的问题,例如收集当年的第一季度的数据。第一季度也就是当年的一月一日到三月三十一日。如何处理时间…

使用markdown画流程图、时序图等

概述 能表示的图类型还有很多,比如: sequenceDiagram时序图 classDiagram类图 stateDiagram:状态图 erDiagram:ER图 gantt: 甘特图 pie:饼图 requirementDiagram: 需求图 流程图 流程图代码以「graph 《布局…

【毕业设计】12-基于单片机的电子体温计(原理图工程+源码工程+仿真工程+答辩论文)

【毕业设计】12-基于单片机的电子体温计(原理图工程源码工程仿真工程答辩论文) 文章目录【毕业设计】12-基于单片机的电子体温计(原理图工程源码工程仿真工程答辩论文)任务书设计说明书摘要设计框架架构设计说明书及设计文件源码展…

Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM

Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM 1 INTRODUCTION 在这篇文章中展示了 如何将 tensor ,pipeline, data 并行组合,扩展到数千个GPU上。 提出了一个新的交错流水线调度,可以提升1…

卷积神经网络的工程技巧总结

参考 卷积神经网络的工程技巧(tricks) - 云社区 - 腾讯云 要成功地使用深度学习算法,仅仅知道存在哪些算法和解释它们为何有效的原理是不够的。一个优秀的机器学习实践者还需知道如何针对具体应用挑选一个合适的算法以及如何监控,并根据实验反馈改进机器…

基于 Hive 的 Flutter 文档类型存储

基于 Hive 的 Flutter 文档类型存储 原文 https://medium.com/gytworkz/document-type-storage-in-flutter-using-hive-a18ea9659d84 前言 长久以来,我们一直使用共享首选项以键对格式在本地存储中存储数据,或者使用 SQLite 在 SQL 数据库中存储数据。 存…

JSP | JSP原理深度剖析、基础语法

目录 一:分析使用纯粹Servlet开发web应用的缺陷 二:JSP原理深度剖析 三:JSP的基础语法 一:分析使用纯粹Servlet开发web应用的缺陷 (1)在Servlet当中编写HTML/CSS/JavaScript等前端代码存在什么问题&…

基于ATX自动化测试解决方案

在整车开发中,诊断功能实现后需要进行测试验证。测试验证主要分为两个方面:诊断协议层测试和诊断功能测试。诊断协议层测试:需要对服务层服务定义、传输层相关时间参数进行测试验证;诊断功能测试:需要对各诊断功能项&a…