颜色空间

颜色空间

颜色空间是颜色集合的数学表示。三种最常用的颜色模型是:RGB(用于计算机图形学中);YIQYUVYCbCr(用于视频系统中);CMYK(用于彩色打印)。为了更好的理解颜色模型,先介绍几个基本的颜色概念。

亮度(lightness or intensity or luminance):亮度是光作用于人眼所引起的明亮程度的感觉,它与被观察物体的发光强度有关。主要表现光的强和弱。

色调(hue):色调是当人眼看一种或多种波长的光时所产生的色彩感觉,它反映颜色的种类,是决定颜色的基本特征。

饱和度(saturation):饱和度是指颜色的纯度即掺入白光的程度,表示颜色深浅的程度。

例如:红色 + 白色 = 粉红色 饱和度下降,同时色调发生变化。

需要说明的是,由于上面所提到的三种最常用的颜色模型与亮度、色度、饱和度这些直接概念没有直接的关系。所以又提出了其他的颜色空间模型,比如HSIHSV,来简化编程和操作。

RGB颜色空间

由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB颜色空间是计算机图形学最通常的选择,这样可以简化系统的构架与设计。

可以用三维的笛卡尔坐标系统来表示RGB颜色空间,如图3-1。而表3-1包含的RGB值具有100%的幅度、100%的饱和度,是8个标准的视频测试信号。

但是,当处理图像时,使用RGB颜色空间并不是很有效。例如,为了修改给定像素的亮度,必须同时从帧缓冲区中读出RGB三个分量,然后重新计算给定亮度对应的RGB值,执行相应的修改后再写回帧缓冲区。如果我们能够访问到直接以亮度格式存储的图像,那这个处理过程会简单很多。

RGB颜色空间的另一个缺点是,要在RGB颜色立方体中生成任何一种颜色,三个RGB分量都需要占用相同的带宽。这就使得每个RGB颜色分量的帧缓冲需要同样的像素深度和现实分辨率。

RGB颜色空间存在许多种不同类型的实现,下面只介绍其中三种,即sRGBAdobe RGBscRGB,为了方便说明,先引入CIE 1931色度图。

上面这幅图像,有一个“舌形”色域空间,是人眼能够辨别的色彩空间,它的边缘围绕一道从波长从380700(毫微米)的光谱,中间就是用红、绿、蓝三种颜色按不同比例调配出来的颜色。

这幅图的巧妙之外在于它通过“归一化”,用两维平面来表示三个数据。X轴是红色的比例,Y轴是绿色的比例,而Z轴是蓝色的比例,虽然Z轴没有画出来,但它的比例数据可以很方便地计算出来。比方红是0.2,绿是0.3,那么蓝就是0.5。因为它们三者加起来必须等于1

10年前,微软和惠普推出一个叫standard RGB的色域标准(sRGB),是一个基于32PC机的标准。从上面的图片看到,它只是人眼能辨别的色彩空间(舌形色域)的一部分,人眼能辨别的好多色彩它都无法显示。但这个标准还是被广泛接受。我们现在在使用的显示器、扫描仪、打印机、数码相机,许多都使用这个标准。

大概过了两年,Adobe推出了Adobe RGB标准,色域要比sRGB的范围更宽广,这几年有好多上述设备采用了这一标准,然而它们都无法覆盖人眼可见的色域范围。

2003年,微软又推出了scRGB色域标准,它大大拓展了色域范围,不仅全部复盖人眼可见的色域范围,还把空间扩展了很多。其16位的精度也大大超过8位的sRGB,从下面的图片中我们可以看到它们的区别。

 

YUV颜色空间

YUVPAL制式和SECAM制式采用的颜色空间,其中Y代表亮度,UV代表色度。“亮度”是通过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面,色调(hue)与饱和度(saturation),分别用CrCb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。

Gamma校准的RGBYUV颜色空间的转换的公式如下:

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颜色空间

YIQNTSC制式采用的颜色空间。在YIQ系统中,Y分量代表图像的亮度信息,IQ两个分量则携带颜色信息,I分量代表从橙色到青色的颜色变化,而Q分量则代表从紫色到黄绿色的颜色变化。

gamma校准的RGBYIQ颜色空间的转换的公式如下:

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也称作印刷色彩模式,顾名思义就是用来印刷的。CMY3种印刷油墨名称的首字母:青色Cyan、洋红色Magenta、黄色Yellow。而K取的是black最后一个字母,之所以不取首字母,是为了避免与蓝色(Blue)混淆。从理论上来说,只需要CMY三种油墨就足够了,它们三个加在一起就应该得到黑色。但是由于目前制造工艺还不能造出高纯度的油墨,CMY相加的结果实际是一种暗红色。因此还需要加入一种专门的黑墨来调和。

CMYKRGB相比有一个很大的不同:RGB模式是一种发光的色彩模式,你在一间黑暗的房间内仍然可以看见屏幕上的内容;CMYK是一种依靠反光的色彩模式,CMYK颜色模式的基础并不是增加光线,而是减去光线。我们是怎样阅读报纸的内容呢?是由阳光或灯光照射到报纸上,再反射到我们的眼中,才看到内容。它需要由外界光源,如果你在黑暗房间内是无法阅读报纸的。

 

xvYCC颜色空间

xvYCC颜色空间是对基本的YCbCr的色域进行扩展后得到的颜色空间,它使得颜色数目多了1.8倍。xvYCC规范使用BT.709色度标准和D65参考白色。scRGBxvYCC颜色空间之间有公式可以相互转换。HDMI正在用色域边界描述元数据的方式传输xvYCC视频数据。

 

PhotoYCC颜色空间

PhotoYCC是柯达公司的一个商标,是为了对Photo CD图像数据进行编码开发的颜色标准。目的就是要建立一个与现实设备无关的颜色空间。PhotoYCCRGB颜色空间之间可以通过公式进行转换。它的颜色模型如下图:

HSI、HLS和HSV颜色空间

HSI (huesaturationintensity) HSV (huesaturationvalue) 颜色空间在设计上使得颜色感知和解释的方式与人很接近,在需要手动指定颜色值时经常需要使用它们。HLS (huelightnesssaturation) 类似于HSI,只是使用了术语lightness,而不是光强度intensity来表示亮度。

HSIHSV颜色空间的差异在于亮度分量(I or V)的计算方式。HSI颜色空间适合传统的图像处理函数,如卷积、均化、直方图等,可以通过处理亮度值来实现这些操作,因为亮度IRGB值的依赖程度是一样的。HSV颜色空间适合处理色度和饱和度,因为它使得饱和度具有更大的动态取值范围。

HSV使用单六角锥的颜色模型,HSI使用双六角锥的颜色模型,分别如下图:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值