YUV格式与RGB格式详解

news2025/6/30 1:51:27

图像处理


文章目录

  • 图像处理
  • 前言
  • YUV 格式
  • YUV 采样


前言

像素格式描述了像素数据存储所用的格式,定义了像素在内存中的编码方式。RGB 和 YUV 为两种经常使用的像素格式。/ 1024 / 1024 = 2.63 MB 存储空间。
RGB 和 RGBA 格式
RGB 图像具有三个通道 R、G、B,分别对应红、绿、蓝三个分量,由三个分量的值决定颜色,一般也叫做 RGB24;
RGBA 是 RGB 图像加一个通道 alpha,即透明度,于是共有四个分量共同控制颜色,一般也叫做 RGB32。

YUV 格式

YUV 图像是指将亮度参量 Y 和色度参量 U/V 分开表示的像素格式,主要用于优化彩色视频信号的传输。
YUV 像素格式来源于 RGB 像素格式,通过公式运算,YUV 三分量可以还原出 RGB,YUV 转 RGB 的公式如下:

R = Y + 1.403V
G = Y - 0.344U - 0.714V
B = Y + 1.770U

一般,将 RGB 和 YUV 的范围均限制在 [0, 255] 间,则有如下转换公式:

R = Y + 1.403(V - 128)
G = Y - 0.344(U - 128) - 0.714(V - 128)
B = Y + 1.770(U - 128)

鉴于 RGB 格式已经见得见多,本文主要总结 YUV 常见的几种像素格式。

YUV 采样

YUV 相比于 RGB 格式最大的好处是可以做到在保持图像质量降低不明显的前提下,减小文件大小。YUV 格式之所以能够做到,是因为进行了采样操作。

YUV 码流的存储格式与其采样方式密切相关,主流的采样方式有三种:YUV 4:4:4(YUV444),YUV 4:2:2(YUV422),YUV 4:2:0(YUV420)。

若以以黑点表示采样该像素点的 Y 分量,以空心圆圈表示采用该像素点的 UV 分量,则这三种采样方式如下:
在这里插入图片描述
即:

YUV 4:4:4 采样,每一个 Y 对应一组 UV 分量。
YUV 4:2:2 采样,每两个 Y 共用一组 UV 分量。
YUV 4:2:0 采样,每四个 Y 共用一组 UV 分量。
YUV 存储格式
YUV 存储可以分为两种:packed(打包)和 planar(平面);

packed:Y、U、V 分量穿插着排列,三个分量存在一个 Byte 型数组里;

planar:Y、U、V 分量分别存在三个 Byte 型数组中;

常见的像素格式
YUV422:YUYV、YVYU、UYVY、VYUY
这四种格式每一种又可以分为 2 类(packed和planar),以 YUYV 为例,一个 6*4 的图像的存储方式如下:

	Y Y Y Y Y Y                   
	Y Y Y Y Y Y                  
	Y Y Y Y Y Y                   
	Y Y Y Y Y Y                    
	U U U U U U                  Y U Y V Y U Y V Y U Y V
	U U U U U U                  Y U Y V Y U Y V Y U Y V
    V V V V V V                  Y U Y V Y U Y V Y U Y V
	V V V V V V                  Y U Y V Y U Y V Y U Y V
	- Planar -                          - Packed - 

YUV420:I420(YU12)、YV12、NV12、NV21
YUV420p: I420、YV12
YUV420sp: NV12、NV21
同样,对于一个6*4的图像,这四种像素格式的存储方式如下:

	Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y
	Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y
	Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y
	Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y      Y Y Y Y Y Y
	U U U U U U      V V V V V V      U V U V U V      V U V U V U
	V V V V V V      U U U U U U      U V U V U V      V U V U V U
     - I420 -          - YV12 -         - NV12 -         - NV21 -

I420、YV12 三个分量均为平面格式,即分别存在三个数组中;
NV12、NV21 的存储格式为 Y 平面,UV 打包,即 Y 信息存储在一个数组中,UV 信息存储在一个另一个数组中。

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

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

相关文章

多模态大模型:识别和处理图片与视频的技术详解

多模态大模型:识别和处理图片与视频的技术详解 多模态大模型:识别和处理图片与视频的技术详解1. 什么是多模态大模型?2. 多模态大模型的基本架构3. 识别和处理图片3.1 图像特征提取3.2 图像分类与识别3.3 图像生成与增强 4. 识别和处理视频4.…

Idea jdk配置的地方 启动时指定切换的地方

jdk 配置的地方 项目sdk 所在位置 管理添加或删除的地方,增加后,可以在在上面切换 启动时指定版本

孩子小学毕业了

难说再见 时间已到眼前 一张张照片 模糊了我双眼

什么是微控制器中的欠压复位?如何防止误断电

微控制器的“掉电”是指电源电压部分暂时降低到可靠运行所需的水平以下。许多微控制器都有一个保护电路,可以检测电源电压何时低于此水平,并将设备置于复位状态,以确保电源恢复时正确启动。此操作称为“欠压复位”或 BOR。类似的功能称为低电…

忆捷硬盘数据恢复方法有哪些?常见的有这四种

在数字化时代,硬盘作为存储大量数据的重要设备,其安全性与可靠性直接关系到我们的工作和生活。然而,无论是由于误操作、病毒感染还是硬件故障,硬盘数据丢失的情况时有发生。对于使用忆捷硬盘的用户来说,如何在数据丢失…

Spring Boot集成 Spring Retry 实现容错重试机制并附源码

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

PointNet网络模型代码解析

PointNet网络模型代码解析 T-Net3dT-NetkdFeatNetPointNetCls网络结构可视化 论文地址:https://arxiv.org/pdf/1612.00593 参考代码地址:https://github.com/fxia22/pointnet.pytorch; T-Net3d 首先数据输入为n*3,然后接一个T-n…

windows上安装redis,并且用pycharm联通调用测试

在 Windows 上启动 Redis,官网版本不支持windows直接安装,你可以按照以下步骤进行操作: 使用Github Redis 版本启动 Redis 如果你想使用 Redis 在 Windows 上启动 Redis,以下是基本的步骤: 下载 Redis: 访…

在录制视频的时候,自动出现英伟达(nvidia)显卡弹窗关闭方式

具体情况具体分析,我遇见的是录制视频在视频里面出现弹窗问题 显示效果 在使用录制视频工具进行录制,回放视频的时候,视频会自动弹出英伟达显卡的弹窗,这个我们不需要,就把他关闭 关闭方式 找到GeForce Experienc…

能耗监控与管理平台

在当今社会,随着工业化、城市化的快速发展,能源消耗问题日益凸显,节能减排已成为全社会共同关注的焦点。在这个背景下,一款高效、智能的能耗监控与管理平台显得尤为重要。 一、HiWoo Cloud平台的概念 HiWoo Cloud是一款集数据采…

【权威出版/投稿优惠】2024年智慧城市与信息化教育国际会议(SCIE 2024)

2024 International Conference on Smart Cities and Information Education 2024年智慧城市与信息化教育国际会议 【会议信息】 会议简称:SCIE 2024 大会时间:点击查看 大会地点:中国北京 会议官网:www.iacscie.com 会议邮箱&am…

江协科技51单片机学习- p7 独立按键控制LED灯

前言: 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用: 51单片机入门教程-2…

Windows中LoadLibrary加载动态库失败,详细解释(解决思路)

今天在开发的过程中,需要用到动态库里的一些接口,又不希望全部载入,在这过程中使用LoadLibrary加载dll时,出现问题,特此记录一下自己怎么解决的思路。 目录 先介绍一下这几个函数为以下错误分析做准备 GetProcAddres…

使用asyncua模块如何在opcua框架的Server端添加方法及在Client端调用方法

1. 在opcua框架的Server端添加方法 参考文章: freeopcua调用方法输入参数| Python解析数组到输入列表 为OPC UA python服务器/客户端添加安全性(异步) OPCUA和asyncua — [3] 添加方法 OPC UA的Server端新增方法的关键代码如下:…

如何评估员工在新版FMEA培训后应用知识的效果?

随着制造业的快速发展,新版FMEA已成为企业提升产品质量、减少故障风险的关键一环。然而,培训只是第一步,如何有效评估员工在新版FMEA培训后应用知识的效果,才是确保培训成果转化的关键所在。 评估员工知识应用效果的首要步骤是制定…

[深度学习]基于C++和onnxruntime部署yolov10的onnx模型

基于C和ONNX Runtime部署YOLOv10的ONNX模型,可以遵循以下步骤: 准备环境:首先,确保已经下载后指定版本opencv和onnruntime的C库。 模型转换:按照官方源码:https://github.com/THU-MIG/yolov10 安装好yolov…

揭秘裂变客户背后的心理学:如何触动用户分享欲望?

在当今的社交媒体时代,裂变客户——即用户主动分享并推广某一产品或服务,已成为企业营销的重要策略。那么,如何触动用户的分享欲望呢?这背后其实隐藏着深刻的心理学原理。本文将以looka这个知名的国外设计工具为例,为s…

最新下载:EasyRecovery易恢复软件安装视频教程

EasyRecovery电脑数据丢失如何恢复?有时候我们在清理电脑的时候会不小心把一些文件夹的数据误删了,在数据恢复时大家会寻找一些数据恢复软件,比如Easyrecover数据恢复软件,但是许多小伙伴还不知道要怎么操作,文件恢复的操作和原理…

有什么好用的ai智能写作手机版?6个软件帮助你快速进行智能写作

有什么好用的ai智能写作手机版?6个软件帮助你快速进行智能写作 AI智能写作在现代社会中扮演着越来越重要的角色,许多人依赖这些工具来提高写作效率和质量。以下是六款不同类型的AI智能写作手机应用,它们可以帮助你快速进行智能写作&#xff…

3X+3问题,角谷猜想的姐妹问题

3X3问题是角谷猜想(3X1)的延伸,可以说是孪生问题。 对于任何奇数x,乘以3再加3,再析出偶数,即,除以(m1,2,3,...。),&#x…