RGB 与YUY格式简介
来源:互联网 发布:linux find 文件 编辑:程序博客网 时间:2024/06/03 22:48
我们都知道世界上任何一种颜色的 , 都可以有RGB 按照一定的比列混合而成。所以每种颜色都可用三个变量来表示 - 红色绿色以及蓝色的强度。记录及显示彩色图像时, RGB 是最常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,件多电子电器厂商普遍采用的做法是,将 RGB 转换成 YUV 颜色空同,以维持兼容,再根据需要换回 RGB 格式,以便在电脑显示器上显示彩色图形。
YUV 主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与 RGB 视频信号传输相比,它最大的优点在于只需占用极少的频宽( RGB 要求三个独立的视频信号同时传输)。其中 “Y” 表示明亮度( Luminance 或 Luma ),也就是灰阶值;而 “U” 和 “V” 表示的则是色度( Chrominance 或 Chroma ),作用是描述影像色彩及饱和度,用于指定像素的颜色。 “ 亮度 ” 是透过 RGB 输入信号来建立的,方法是将 RGB 信号的特定部分叠加到一起。 “ 色度 ” 则定义了颜色的两个方面 ─ 色调与饱和度,分别用 Cr 和 CB 来表示。其中, Cr 反映了 GB 输入信号红色部分与 RGB 信号亮度值之间的差异。而 CB 反映的是 RGB 输入信号蓝色部分与 RGB 信号亮度值之同的差异。
采用 YUV 色彩空间的重要性是它的亮度信号 Y 和色度信号 U 、 V 是分离的。如果只有 Y 信号分量而没有 U 、 V 分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用 YUV 空间正是为了用亮度信号 Y 解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。
YUV 与 RGB 相互转换的公式如下( RGB 取值范围均为 0-255 )︰亮度分量Y与三原色有如下关系:
经过大量实验后ITU-R给出了,, ,
即:
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
YUV码流的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0,关于其详细原理,可以通过网上其它文章了解,这里我想强调的是如何根据其采样格式来从码流中还原每个像素点的YUV值,因为只有正确地还原了每个像素点的YUV值,才能通过YUV与RGB的转换公式提取出每个像素点的RGB值,然后显示出来。
用三个图来直观地表示采集的方式吧,以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。
上面的图简要概括如下:
YUV 4:4:4采样,每一个Y对应一组UV分量。
YUV 4:2:2采样,每两个Y共用一组UV分量。
YUV 4:2:0采样,每四个Y共用一组UV分量。
存储方式:
YUV 4:2:0其颜色的一种存放格式如图所示:
其他的存储格式有待后面补充。
- RGB 与YUY格式简介
- YUY与RGB格式区别
- RGB与YUV格式简介
- yuy
- yuy
- YUV与RGB格式转换
- YUV与RGB格式转换
- YUV与RGB格式转换
- YUV与RGB格式转换
- YUV与RGB格式转换
- YUV格式与RGB格式的换算
- 视频与图像RGB/YUV格式详解
- 视频与图像RGB/YUV格式详解
- 视频与图像RGB/YUV格式详解
- 视频与图像RGB/YUV格式详解
- 视频与图像RGB/YUV格式详解
- 视频与图像RGB/YUV格式详解
- 视频与图像RGB/YUV格式详解
- 强大的JQuery表格控件FooTable
- Android中使用代码截图的各种方法总结
- Android获取IMEI号
- mysql查询的一些小细节
- Binder
- RGB 与YUY格式简介
- MVC设计模式
- 字符串处理
- C_C语言宏的定义与使用范例
- 百度分享相关1
- 树状数组
- 使用erlang开发服务端の代码热升级
- SDK详解
- html-form-radio,checkbox,hidden,submit,抓包---ShinePans