图像色彩空间YUV和RGB的差别
http://blog.csdn.net/scg881008/article/details/7168637
YUV是电视传输用的名词,一个亮度信号(Y),两个色差信号(U分量、V分量)
YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑
白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频信号同时传输)。其中“Y”表示明亮度
(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和
度,用于指定像素的颜色。“亮度”是通过RGB输入信号来创建的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面—色调与饱和
度,分别用Cr和CB来表示。其中,Cr反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而CB反映的是RGB输入信号蓝色部分与RGB信号亮
度值之同的差异。
在现代彩色电视系统中,通常采用三管彩色摄像机或彩色CCD(点耦合器件)摄像机,它把摄得的彩色图像信号,经分色、分别放大校正得到RGB,再
经过矩阵变换电路得到亮度信号Y和两个色差信号R-Y、B-Y,最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这就是我们常用的
YUV色彩空间。
YUV (YCrCb)和4:2:2, 4:1:1, 4:2:0
是指亮度信号Y和红/蓝色差信号的抽样格式. 在dv中, ntsc是4:1:1, pal采用4:2:0. 注意, 4:2:0并非蓝色差信号采样
为0,而是和4:1:1相比,在水平方向上提高1倍色差采样频率,在垂直方向上以Cr/Cb间隔的方式减小一半色差采样.
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
而与我们电脑相关的地方,就是目前的显示器大都是采用了RGB颜色标准,这就是为什么它对我们来说这么重要了。
在显示器上,是通过电子枪打在屏幕的红、绿、蓝三色发光极上来产生色彩的,目前的电脑一般都能显示32位颜色,约有一百万种以上的颜色。如果说它所显示的颜色还不能完全吻合自然界中的某种色彩的话,那已经几乎是我们肉眼所不能分辩出来的了。
RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好象有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和(两盏灯的亮度嘛!),越混合亮度越高,即加法混合。
有色光可被无色光冲淡并变亮。如蓝色光与白光相遇,结果是产生更加明亮的浅蓝色光。知道它的混合原理后,在软件中设定颜色就容易理解了.
红、绿、蓝三盏灯的叠加情况,中心三色最亮的叠加区为白色,加法混合的特点:越叠加越明亮。
红、绿、蓝三个颜色通道每种色各分为255阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色数值相同时为无色彩的灰度色,而三色都为255时为最亮的白色,都为0时为黑色。
YUV和RGB是两种不同的颜色空间。一般来说,用YUV的话,可以节省存储空间,且对视频编解码有利。不过LCD直接接收的格式基本都是RGB的,在DSP或者类似控制器里面有专门的YUV到RGB的转换电路。
RGB
是由YUV进行矩阵计算得到的,其效果要比S端子和CVBS好很多.是目前电脑显示器上主要用的视频接口(VGA),但毕竟还是模拟信号,所以以后的主流
都是TMDS(最小差分信号传输)信号的DVI接口和HDMI接口.毕竟数字才是未来吗,呵呵...而这些接口之间有些是可以很轻松的进行转换的,所以使
用的时候我们根据需要可以进行必要的改进.
YUV和YCbCr是有区别的。YUV是基于RGB进行转化的,一般用于传统的电视,YCbCr是基于YUV的移位,一般用于数字视频
注:是否存在YCrCb有待考证。
YUV YCbCr YPbPr 区别
http://tangzibot.blog.163.com/blog/static/6044209320101029103339447/
Y'UV是PAL系统使用的一种颜色空间,与NTSC系统中的Y'IQ作 用相似。Y'PbPr指模拟分量信号或模拟分量接口,P是Parallel的缩写,意为并行。而Y'CbCr指的是数字分量信号,C是Chroma的缩写,意为色度。实际 上,CbCr这种表示方式早于PbPr。但长久以来,这几个名称的使用有些混乱,很多文章常使用YUV指代 Y'CbCr或Y'PbPr,Y'CbCr与Y'PbPr的使用也常常混淆。
这里要说明的是,由于网易博客系统的原因,CbCr与PbPr中的B与R都应为大写形式。Y'及以下的R'G'B'右上角的一撇,是表示经过非线性校正后
的分量,以区别线性分量。
以摄像机等信号源为例,视频信号流程大致如下。RGB经伽马校正形成
R'G'B',而后经过矩阵变换得到Y'/B'-Y'/R'-Y',而后根据需要进行处理,因此B'-Y'与R'-Y'一般不直接使用。
UV是由B'-Y'与R'-Y'限幅而来的,限幅的目的是防止色域越限,同时确保编码后的复合电视信号电平在VHF/UHF电视发射机的要求范围内。
这里补充一下,如果是摄像机等视频设备直接输出的信号,一般不会出现色域方面的问题,但随着计算机越来越多的参与到节目制作过程中,加之多种色域间的转换,可能会造成色域越
限。进入PAL编码器之前,UV还要经过滤波,利用人类视觉对色度信息的分辨能力低于对亮度信息的分辨能力的特性,以节省带宽。因此,UV可以看作是
PAL系统的专有符号。
Y'PbPr是为了满足高质量视频传输而设计的色彩分量形式及接口形式,采用并行传输的方式。PbPr也是由B'-Y'及R'-Y'经过限幅得到的,目
前,这种接口多见于模拟分量录像机、高清摄录一体机及DVD播放机等。模拟分量传输绕过了PAL编码与解码,减轻了亮/色串扰等编解码对图像的损失,但传输距离受
到限制。在同步电平规则上,Y'PbPr大致分为3种,SMPTE曾试图统一模拟分量接口,但以失败告终。
Y'CbCr是数字电视标准化时,为了兼容亮度、色差这种色彩编码方式而采用的一种类似于Y'PbPr的分量形式。CbCr是对B'-Y'与R'-Y'进
行限幅及数字化得到的,因此CbCr是数字色差分量。一般来说,国际认可的演播室数字分量编码标准皆使用4:2:2色度亚取样,即B'-Y'及R'-Y'
的取样频率各为Y'的一半。除4:2:2外,常见的亚取样方式还有4:1:1、4:2:0。亚取样也可以看作是一种滤波,只不过是数字滤波。
无论Y'UV还是Y'CbCr或Y'CbCr,其实都是为了兼容黑白电视系统而设计的。展望未来,高质量节目制作或数字电影,有可能直接采用R'G'B'分量,由于无法进行色
度滤波,因此只能采用4:4:4即全带宽传输及记录。
和rgb之间换算公式的差异
yuv<-->rgb
Y'= 0.299*R' + 0.587*G' + 0.114*B'
U'= -0.147*R' - 0.289*G' + 0.436*B' =
0.492*(B'- Y')
V'= 0.615*R' - 0.515*G' - 0.100*B' =
0.877*(R'- Y')
R' = Y' + 1.140*V'
G' = Y' - 0.394*U' - 0.581*V'
B' = Y' + 2.032*U'
yCbCr<-->rgb
Y’ = 0.257*R' + 0.504*G' + 0.098*B' +
16
Cb' = -0.148*R' - 0.291*G' +
0.439*B' + 128
Cr' = 0.439*R' - 0.368*G' - 0.071*B'
+ 128
R' = 1.164*(Y’-16) + 1.596*(Cr'-128)
G' = 1.164*(Y’-16) - 0.813*(Cr'-128)
- 0.392*(Cb'-128)
B' = 1.164*(Y’-16) + 2.017*(Cb'-128)
Note: 上面各个符号都带了一撇,表示该符号在原值基础上进行了gamma
correction
来源上的差异
yuv色彩模型来源于rgb模
型,
该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。
应用:basic color model used in analogue color TV broadcasting.
YCbCr模型来源于yuv模
型。YCbCr is a scaled and offset version of the YUV
color space.
应用:数字视频,ITU-R BT.601 recommendation
注:YCbCr 和YPbPr 都属于YUV,480i/576i的统称为YCbCr,其他均为YPbPr,其是由分辨率来做区分的
480p/576p称为YPbPr,不存在720i(王理想)
图像色彩空间YUV和RGB的差别的更多相关文章
- Atitit rgb yuv hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别
Atitit rgb yuv hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别 1.1. 色彩的三要素 -- 色相.明度.纯度1 1.2. YUV三个字母中,其中"Y&quo ...
- [图像类名词解释][ RGB YUV HSV相关解释说明]
一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...
- RGB图像数据字符叠加,图像压缩(ijl库),YUV转RGB
jackyhwei 发布于 2010-01-01 12:02 点击:3218次 来自:CSDN.NET 一些非常有用的图像格式转换及使用的源代码,包括RGB图像数据字符叠加,图像压缩(ijl库),Y ...
- 谈谈“色彩空间表示方法”——RGB、YUY2、YUYV、YVYU、UYVY、AYUV
转自:http://bbs.chinavideo.org/viewthread.php?tid=4143 还可参考http://www.fourcc.org/yuv.php 小知识:RGB与YUV-- ...
- YUV和RGB格式分析
做嵌入式项目的时候,涉及到YUV视频格式到RGB图像的转换,虽然之前有接触到RGB到都是基于opencv的处理,很多东西并不需要我们过多深入的去探讨,现在需要完全抛弃现有的算法程序,需要从内存中一个字 ...
- 最简单的基于FFmpeg的libswscale的示例(YUV转RGB)
===================================================== 最简单的基于FFmpeg的libswscale的示例系列文章列表: 最简单的基于FFmpeg ...
- YUV和RGB格式分析【转】
转自:http://www.cnblogs.com/silence-hust/p/4465354.html 做嵌入式项目的时候,涉及到YUV视频格式到RGB图像的转换,虽然之前有接触到RGB到都是基于 ...
- 【视频处理】YUV与RGB格式转换
YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式. 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式. RGB与YUV的变换公式如下: YUV(25 ...
- YUV到RGB的转换
以下内容来源于网络,下面三个链接里的内容是比较好的,感谢博主的分享. http://blog.csdn.net/housisong/article/details/1859084 http://blo ...
随机推荐
- 对象创建型模式------Abstract Factory(抽象工厂)
1. 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.2. 别名 Kit3. 动机 假设我们要开发一款游戏,当然为了吸引更多的人玩,游戏难度不能太大 ...
- 第三篇、CSS样式简介
<!--1.行内样式 <p style="background-color:red;font-size:20px"> --> <!--2.页内样式 & ...
- 第六篇、git常用的命令
1.oscine git服务器地址 https://git.oschina.net/ 2.帐号:18775134221@163.com 密码:562011 3.创建私有的仓库 4.使用命令 4.1 配 ...
- QT5新手上路(2)发布exe文件
QT编程教程在网上有很多,但写完代码以后如何打包成可执行exe文件却少有提及,本文主要介绍这一部分:1.首先确认自己建的工程在debug模式下运行无误.2.在release模式下运行一遍.(如何更改成 ...
- strcpy(),string使用问题
两个CString,把一个赋值给另外一个,用strncpy出现问题,直接=赋值正确了,不知道为什么?
- N的N次方(高校俱乐部)
最近一直在刷字符串和线段树,也越来越少玩高校俱乐部,无聊看到一题N的N次方的问题,脑海中各种打表就涌现出来了. 弄了不一会儿,就写完了,马上提交,但是系统好像出了问题,提示"哦哦,出了点状况 ...
- 在Linux系统下安装大于mysql5.5版本的数据库
linux下mysql 5.5的安装方法: 1.安装所需要系统库相关库文件 gcc等开发包,在安装linux系统的时候安装. 2.创建mysql安装目录 # mkdir -p /usr/lo ...
- jQuery 选择器(转)
jQuery 选择器 选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元 ...
- sae-xhprof调试性能
1. 在storage中创建xhprof的domain 2.在xhprof中,给对应的版本应用开启调试 3.在版本内的代码加入 sae_xhprof_start(); // 需要调优的代码 // .. ...
- Demo学习: CalendarPanel
CalendarPane 学习CalendarPanel控件的常用事件. DayClick(...) //点击日期块空白部分触发EventClick(...) //点击日期块上事件触发RangeSel ...