图像表示方法

简介: 图像表示方法

RGB表示


RGB是使用三基色合成的原理,我们看到的彩色图片,都有三个通道,分别为红、绿、蓝通道,如果需要透明度则还有alpha分量. 通常每个通道用8bit表示,8bit能表示256种颜色,所以可以组成 256256256=16777216=1677万种颜色。这里的8bit就是我们讲的位深。一张图片通常RGB的顺序进行排列,也有BGR方式排列。


YUV表示


RGB表示方式是针对三基色的方式,但是人眼睛感知并不能分别出那么细致的色度,因此,允许降低色度的带宽,从而出现了YUV的表示方式。


Y表示明亮度,也就是灰阶值,通过明暗能够描绘图形的轮廓。


U(Cb)表示色度分量: 是照片蓝色部分去掉亮度(Y).


V(Cr)表示色度分量: 是照片红色部分去掉亮度(Y).


YUV格式可以分为三个分量,即Y、U、V一一对应.


人眼对亮度敏感对色度不敏感,因此亮度分量Y的采样不变,但是色度分量U和V会被降低采样数。


YUV表示图像可以有多种排列方式,分别为:

紧缩格式(packed formats): 将YUV值连续存储,和RGB的方式类似。
平面格式(planar formats): 将YUV的三个分量分别存放在不同的矩阵中。

为了节省带宽起见,大多数YUV格式平均使用每个像素位都少于24位,主要的抽样格式有:


  1. 4:4:4表示完全采样, 三分分量都是8bit, 采样码流为: Y0 U0 V0, Y1 U1 V1, Y2 U2 V2。
  2. 4:2:2表示UV分量是Y分量采样的一半,采样码流为: Y0 U0 V1, Y1 U0 V1, Y2 U2 V3, Y3 U2 V3, 水平方向两个像素共用一对U/V值。
  3. 4:2:0采样,并不是指只采样U分量而不采样V分量,而是指,在每一行扫描时,只扫描一种色度分量(U或者V), 和Y分量按照2:1的方式采样。比如, 第一行扫描时,YU按照2:1的方式采样,那么第二行扫描时,YV分量按照2:1的方式采样。对于每个色度分量来说,它的水平方向和垂直方向的采样和Y分量比都是2:1, 如下图。


假如图片像素为:

[Y0 U0 V0]、[Y1 U1 V1]、 [Y2 U2 V2]、 [Y3 U3 V3] [Y5 U5 V5]、[Y6 U6 V6]、 [Y7 U7 V7] 、[Y8 U8 V8] 


那么采样的码流为:

Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8
相关文章
|
数据可视化 前端开发 JavaScript
可视化工具D3.js
可视化工具D3.js
411 2
|
12月前
|
机器学习/深度学习
NeurIPS 2024:标签噪声下图神经网络有了首个综合基准库,还开源
NoisyGL是首个针对标签噪声下图神经网络(GLN)的综合基准库,由浙江大学和阿里巴巴集团的研究人员开发。该基准库旨在解决现有GLN研究中因数据集选择、划分及预处理技术差异导致的缺乏统一标准问题,提供了一个公平、用户友好的平台,支持多维分析,有助于深入理解GLN方法在处理标签噪声时的表现。通过17种代表性方法在8个常用数据集上的广泛实验,NoisyGL揭示了多个关键发现,推动了GLN领域的进步。尽管如此,NoisyGL目前主要适用于同质图,对异质图的支持有限。
231 7
|
人工智能 算法 大数据
Linux内核中的调度算法演变:从O(1)到CFS的优化之旅###
本文深入探讨了Linux操作系统内核中进程调度算法的发展历程,聚焦于O(1)调度器向完全公平调度器(CFS)的转变。不同于传统摘要对研究背景、方法、结果和结论的概述,本文创新性地采用“技术演进时间线”的形式,简明扼要地勾勒出这一转变背后的关键技术里程碑,旨在为读者提供一个清晰的历史脉络,引领其深入了解Linux调度机制的革新之路。 ###
|
机器学习/深度学习 编解码 算法
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
《nnU-Net: 自适应框架用于基于U-Net的医学图像分割》是一篇2018年的论文,发表在Nature上。该研究提出了一种自适应的医学图像分割框架nnU-Net,能够自动调整模型的超参数以适应不同的数据集。通过2D和3D U-Net及级联U-Net的组合,nnU-Net在10个医学分割数据集上取得了卓越的性能,无需手动调整。该方法强调数据增强、预处理和训练策略等技巧,为医学图像分割提供了一个强大的解决方案。
502 0
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
|
SQL Oracle 关系型数据库
深度解析 MySQL 事务、隔离级别和 MVCC 机制:构建高效并发的数据交响乐(一)
深度解析 MySQL 事务、隔离级别和 MVCC 机制:构建高效并发的数据交响乐
556 0
|
前端开发 开发者 容器
CSS进阶-Grid布局高级应用
【6月更文挑战第16天】**CSS Grid布局是CSS3的强大力量,用于复杂二维布局。然而,隐式网格、未命名Grid线和缺少响应式设计是常见问题。解决方法包括显式定义网格结构、命名Grid线和结合媒体查询实现响应式。高级技巧涉及自适应列宽、复杂区域布局和元素层叠对齐。代码示例展示了响应式Grid的用法。掌握这些能提升布局效率和设计灵活性。**
267 11
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
芯片 异构计算
数电FPGA实验:实验一 基于FPGA的计数器设计 (基本任务:采用原理图法设计一个十进制计数器,完成波形功能仿真和时序仿真。拓展任务1:采用原理图法设计一个六进制计数器,完成波形功能仿真和时序仿真)
数电FPGA实验:实验一 基于FPGA的计数器设计 (基本任务:采用原理图法设计一个十进制计数器,完成波形功能仿真和时序仿真。拓展任务1:采用原理图法设计一个六进制计数器,完成波形功能仿真和时序仿真)
1031 0
数电FPGA实验:实验一 基于FPGA的计数器设计 (基本任务:采用原理图法设计一个十进制计数器,完成波形功能仿真和时序仿真。拓展任务1:采用原理图法设计一个六进制计数器,完成波形功能仿真和时序仿真)
|
负载均衡 算法 云计算
深入理解负载均衡:优化你的网络性能
在今天的数字时代,网络性能和可用性对于任何企业或组织都至关重要。负载均衡是一个关键的网络架构组件,可以帮助分散流量、提高可靠性和确保系统的高可用性。本文将深入探讨负载均衡的概念、工作原理以及在现代网络中的应用。
|
存储 C++ 容器
C++中deque的用法(超详细,入门必看)
⭐一、deque的简介 deque是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。deque的全称是double-ended queue,翻译过来就是双端队列,也有人称之为双向队列,这两个名称都可以表示该数据结构。deque是C++STL(标准模板库)中的一种容器,可以用于存储各种类型的元素。deque的特点是可以在队列的两端进行元素的操作,并且可以高效地在队列的任意位置进行元素的插入和删除操作。 可以说deque几乎涵盖了queue(队列)、stack(堆栈)、vector(向量 )等的全部用法,功能非常的强大。
1476 0