各种颜色空间介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
颜色空间color space
颜色空间是颜色集合的数学表示。
三种最常用的颜色模型是:RGB(用于计算机图形学中);YIQ、YUV或YCbCr(用于视频系统中);CMYK(用于彩色打印)。
为了更好的理解颜色模型,先介绍几个基本的颜色概念。
亮度(lightness or intensity or luminance):亮度是光作用于人眼所引起的明亮程度的感觉,它与被观察物体的发光强度有关。
主要表现光的强和弱。
色调(hue):色调是当人眼看一种或多种波长的光时所产生的色彩感觉,它反映颜色的种类,是决定颜色的基本特征。
饱和度(saturation):饱和度是指颜色的纯度即掺入白光的程度,表示颜色深浅的程度。
例如:红色 + 白色 = 粉红色饱和度下降,同时色调发生变化
需要说明的是,由于上面所提到的三种最常用的颜色模型与亮度、色度、饱和度这些直接概念没有直接的关系。
所以又提出了其他的颜色空间模型,比如HSI和HSV,来简化编程和操作。
RGB颜色空间
由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB颜色空间是计算机图形学最通常的选择,这样可以简化系统的构架与设计。
可以用三维的笛卡尔坐标系统来表示RGB颜色空间,如图3-1。
而表3-1包含的RGB 值具有100%的幅度、100%的饱和度,是8个标准的视频测试信号。
但是,当处理图像时,使用RGB颜色空间并不是很有效。
例如,为了修改给定像
素的亮度,必须同时从帧缓冲区中读出RGB三个分量,然后重新计算给定亮度对应的RGB值,执行相应的修改后再写回帧缓冲区。
如果我们能够访问到直接以亮度格式存储的图像,那这个处理过程会简单很多。
RGB颜色空间的另一个缺点是,要在RGB颜色立方体中生成任何一种颜色,三个RGB分量都需要占用相同的带宽。
这就使得每个RGB颜色分量的帧缓冲需要同样的像素深度和现实分辨率。
RGB颜色空间存在许多种不同类型的实现,下面只介绍其中三种,即sRGB、Adobe RGB和scRGB,为了方便说明,先引入CIE 1931色度图。
上面这幅图像,有一个“舌形”色域空间,是人眼能够辨别的色彩空间,它的边缘围绕一道从波长从380到700(毫微米)的光谱,中间就是用红、绿、蓝三种颜色按不同比例调配出来的颜色。
这幅图的巧妙之外在于它通过“归一化”,用两维平面来表示三个数据。
X轴是红色的比例,Y轴是绿色的比例,而Z轴是蓝色的比例,虽然Z轴没有画出来,但它的比例数据可以很方便地计算出来。
比方红是0.2,绿是0.3,那么蓝就是0.5。
因为它们三者加起来必须等于1。
10年前,微软和惠普推出一个叫standard RGB的色域标准(sRGB),是一个基于32位PC机的标准。
从上面的图片看到,它只是人眼能辨别的色彩空间(舌形色域)的一部分,人眼能辨别的好多色彩它都无法显示。
但这个标准还是被广泛接受。
我们现在在使用的显示器、扫描仪、打印机、数码相机,许多都使用这个标准。
大概过了两年,Adobe推出了Adobe RGB标准,色域要比sRGB的范围更宽广,这几年
有好多上述设备采用了这一标准,然而它们都无法覆盖人眼可见的色域范围。
2003年,微软又推出了scRGB色域标准,它大大拓展了色域范围,不仅全部复盖人眼可见的色域范围,还把空间扩展了很多。
其16位的精度也大大超过8位的sRGB,从下面的图片中我们可以看到它们的区别。
YUV颜色空间
YUV是PAL制式和SECAM制式采用的颜色空间,其中Y代表亮度,UV代表色度。
“亮度”是通过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。
“色度”则定义了颜色的两个方面,色调(hue)与饱和度(saturation),分别用Cr和Cb来表示。
其中,Cr 反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。
而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。
gamma校准的RGB与YUV颜色空间的转换的公式如下:
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
=0.492(B-Y)
V = 0.615R - 0.515G - 0.100B
=0.877(R-Y)
R = Y + 1.140V
G = Y - 0.395U - 0.581V
B = Y + 2.032U
通常所说的YCbCr颜色空间实际上就是YUV颜色空间的缩放和偏移版本,YCbCr进行了图像子采样。
YIQ颜色空间
YIQ是NTSC制式采用的颜色空间。
在YIQ系统中,Y分量代表图像的亮度信息,I、Q 两个分量则携带颜色信息,I分量代表从橙色到青色的颜色变化,而Q分量则代表从紫色到黄绿色的颜色变化。
gamma校准的RGB与YIQ颜色空间的转换的公式如下:
Y = 0.299R + 0.587G + 0.114B
I = 0.596R - 0.275G - 0.321B
= 0.736(R-Y) - 0.268(B-Y)
Q = 0.212R - 0.523G + 0.311B
= 0.478(R-Y) - 0.413(B-Y)
R = Y + 0.956I + 0.621Q
G = Y - 0.272I + 0.647Q
B = Y - 1.107I + 1.704Q
CMYK颜色空间
CMYK也称作印刷色彩模式,顾名思义就是用来印刷的。
CMY是3种印刷油墨名称的首字母:青色Cyan、洋红色Magenta、黄色Yellow。
而K取的是black最后一个字母,之所以不取首字母,是为了避免与蓝色(Blue)混淆。
从理论上来说,只需要CMY三种油墨就足够了,它们三个加在一起就应该得到黑色。
但是由于目前制造工艺还不能造出高纯度的油墨,CMY 相加的结果实际是一种暗红色。
因此还需要加入一种专门的黑墨来调和。
CMYK和RGB相比有一个很大的不同:RGB模式是一种发光的色彩模式,你在一间黑暗的房间内仍然可以看见屏幕上的内容;CMYK是一种依靠反光的色彩模式,CMYK颜色模式的基础并不是增加光线,而是减去光线。
我们是怎样阅读报纸的内容呢?是由阳光或灯光照射到报纸上,再反射到我们的眼中,才看到内容。
它需要由外界光源,如果你在黑暗房间内是无法阅读报纸的。
xvYCC颜色空间
xvYCC颜色空间是对基本的YCbCr的色域进行扩展后得到的颜色空间,它使得颜色数目多了1.8倍。
xvYCC规范使用BT.709色度标准和D65参考白色。
scRGB和xvYCC颜色空间之间有公式可以相互转换。
HDM I正在用色域边界描述元数据的方式传输xvYCC视频数据。
PhotoYCC颜色空间
PhotoYCC是柯达公司的一个商标,是为了对Photo CD图像数据进行编码开发的颜色标准。
目的就是要建立一个与现实设备无关的颜色空间。
PhotoYCC和RGB颜色空间之间可以通过公式进行转换。
它的颜色模型如下图:
HSI、HLS和HSV颜色空间
HSI (hue、saturation、intensity) 和HSV (hue、saturation、value) 颜色空间在设计上使得颜色感知和解释的方式与人很接近,在需要手动指定颜色值时经常需要使用它们。
HLS (hue、lightness、saturation) 类似于HSI,只是使用了术语lightness,而不是光强度intensity来表示亮度。
HSI和HSV颜色空间的差异在于亮度分量(I or V)的计算方式。
HSI颜色空间适合传统的图像处理函数,如卷积、均化、直方图等,可以通过处理亮度值来实现这些操作,因为亮度I对R、G、B值的依赖程度是一样的。
HSV颜色空间适合处理色度和饱和度,因为它使得饱和度具有更大的动态取值范围。
HSV使用单六角锥的颜色模型,HSI使用双六角锥的颜色模型,分别如下图:。