RGB是构成多种颜色的三基色(红绿蓝),也称为加成色。主要是图像的采集和显示。YUV是优化彩色视频信号的编码和传输,和rgb相比,YUV占用的带宽少。

YUV中Y表示的是亮度,是通过RGB输入信号确定的,方法是将RGB信号的特定部分叠加到一起。UV表示的是色度,定义了颜色的两个方面的色度和饱和度,分别使用Cr和Cb表示。其中,Cr是GB输入信号的红色部分和RGB信号的亮度的差异。而Cb反映的是RGB输入信号的蓝色部分和RGB的信号亮度值之间的差异。可以参考下面的RGB转YUV的公式。

RGB和YUV是可以相互转化的(根据不同的色域计算有所不同,bt.601-6):

RGB转YUV:

Y =  0.299*R + 0.587*G + 0.114*B;

U = -0.169*R - 0.331*G + 0.5  *B ;

V =  0.5  *R - 0.419*G - 0.081*B;

YUV转RGB:

R = Y + 1.4075 * V;  
G = Y - 0.3455 * U - 0.7169*V;  
B = Y + 1.779 * U;

参考:https://www.cnblogs.com/luoyinjie/p/7219319.html


下面介绍一下YUV。YUV分为YUV444,YUV422,YUV420等,含有不同色度分量的编码方式。

YUV444:UV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整,如果每个分量用8比特表示,则未经压缩的每个像素占用3个字节.

原始像素 Y0  U0 V0   Y1 U1 V1   Y2 U2 V2   Y3 U3 V3
采样后的码流 Y0 U0 V0   Y1 U1 V1   Y2 U2 V2   Y3 U3 V3
还原后的像素 Y0 U0 V0   Y1 U1 V1   Y2 U2 V2   Y3 U3 V3

YUV422:个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。如下可以这样理解:采样的时候每个信号的色度UV信号分别每隔一个采样,还原的时候使用相邻采样点不同的UV信号补充。

原始像素 Y0  U0 V0   Y1 U1 V1   Y2 U2 V2   Y3 U3 V3
采样后的码流 Y0 U0     Y1   V1   Y2 U2     Y3   V3
还原后的像素 Y0 U0 V1   Y1 U0 V1   Y2 U2 V3   Y3 U2 V3

YUV411::1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说, 每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存。如下可以这样理解:采样的时候每个信号的色度UV信号分别每隔3个采样,还原的时候使用相邻采样点不同的UV信号补充。

原始像素 Y0  U0 V0   Y1 U1 V1   Y2 U2 V2   Y3 U3 V3
采样后的码流 Y0 U0     Y1       Y2   V2   Y3    
还原后的像素 Y0 U0 V2   Y1 U0 V2   Y2 U0 V2   Y3 U0 V2

YUV420::2:0并不意味着只有 Y,Cb而没有 Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量, 也就是说, 如果一行是4:2:0的话, 下一行就是4:0:2, 再下一行是4:2:0...以此类推。 对每个色度分量来说, 水平方向和竖直方向的抽样率都是 2:1, 所以可以说色度的抽样率是4:1。 对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。

原始像素 Y0  U0 V0   Y1 U1 V1   Y2 U2 V2   Y3 U3 V3  
  Y4 U4 V4   Y5 U5 V5   Y6 U6 V6   Y7 U7 V7  
采样后的码流 Y0 U0     Y1       Y2 U2     Y3     YUV420
  Y4   V4   Y5       Y6   V6   Y7     YUV402
还原后的像素 Y0 U0 V4   Y1 U0 V4   Y2 U2 V6   Y3 U2 V6  
  Y4 U0 V4   Y5 U0 V4   Y6 U2 V6   Y7 U2 V6  

YUV和RGB的区别(以及YUV444 YUV422 YUV411 YUV420的介绍)相关推荐

  1. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)

    如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额1元起步,多少随意 锋影 email:174176320@qq.com YUV图解 (YUV444, YUV422, YUV ...

  2. 音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解

    YUV各种采样格式的说明 通常我们用RGB表示一种彩色.计算机系统里的LCD显示的数据就是RGB来表示每个像素的颜色. 而在我们生活里,有黑白电视机与彩色电视机两种,拍摄节目源时不可以用两种不同的摄像 ...

  3. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)

    YUV格式有两大类:planar和packed. 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V. 对于packed的YUV格式,每个像素点的Y ...

  4. RGB、YUY2、YUYV、YVYU、UYVY、AYUV、YUV444、YUV422、YUV420、YUV411

    1) YUV 4:4:4YUV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特),经过8比特量化之后,未经压缩的每个像素占用3个字节.下面的四个像素为: [Y0 ...

  5. YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!)

    一. 公式:基于BT.601-6 BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点) 通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈一个旋转了一定角度的八边形, ...

  6. YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别)

    转自:YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!) - 罗引杰 - 博客园 关于写这篇文章的原因: 本人也是摸索了很长时间才弄懂其中的原理,里面涉及的知识点太多了 ...

  7. HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别

    HSI.HSV.RGB.CMYK.HSL.HSB.Ycc.XYZ.Lab.YUV颜色模型的区别 HSV颜色空间 HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个 ...

  8. python rgb转yuv_YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!)...

    一. 公式:基于BT.601-6 BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点) 通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈一个旋转了一定角度的八边形, ...

  9. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)-- 转

    YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)

最新文章

  1. 模式识别中Fisher分类器的Matlab实现及测试
  2. find all pairs of elements in a balanced BST that sum to a certain number
  3. 在WildFly的REST Web服务中与Jackson的双向关系
  4. 新疆农业大学计算机科学与技术专业怎么样,新疆农业大学计算机科学与技术专业2016年在新疆理科高考录取最低分数线...
  5. STM32H743+Keil-将变量定义到指定内存
  6. python九九乘法表教程_python教程九九乘法表
  7. 年终总结做得好,升职加薪少不了,仅需1个技巧,10分钟完成
  8. 算法不会,尚能饭否之排序——直接选择排序
  9. web前端开发工程师“想都不用想”的几个知识点
  10. Sublime Text 2中的正则表达式搜索替换
  11. 中移动酝酿改革数据业务分成模式:SP与CP分开
  12. 解决jupyter无法自动打开网页
  13. 超声光学成像突破衍射极限
  14. 初探MUI制作微信APP页面(二)
  15. 上海伯俊软件科技有限公司面试题
  16. 2021年中国CRM市场规模及市场格局分析:市场规模达156亿元[图]
  17. h323 linux源码分析
  18. 马云谈阿里巴巴创业之道
  19. 第7期:计算几何(持续更新中......)
  20. 网易云音乐编码_音乐编码依据

热门文章

  1. Mac电脑上如何关闭屏幕时间
  2. Flutter高仿微信-第36篇-单聊-语音通话
  3. java 去除数组中重复的元素
  4. 如何解决下载链接在微信中无法打开的问题的?
  5. 基于原生JS项目使用Vue3 + Surely Vue Table组件
  6. 小心c语言中的无符号类型-尤其是涉及到大小比较
  7. 引用的账户当前已锁定,且无法登录
  8. #最全面# Python 下将 opencv MAT ( numpy ndarray ) 彩色 或 灰度 图像转化为 QImage 对象
  9. Linux 基本使用和 web 程序部署
  10. docker启动Tomcat卡住不动