Sunday, August 23, 2009

色彩与光线

记得当年实习的时候要做个网页,其中有个表格的背景颜色要选择从红到绿的N个渐变颜色,伤煞脑神,才发现自己是色盲,啥基础知识都没有。其实觉得很奇怪,颜色这么基本的概念,为什么念了二十年书的我却知之甚少?PS:据说黑底白字的屏幕看着很晕,我仔细试了一下,果然如此(很好奇为啥以前用term上bbs不觉得晕呢?莫非字体大些就不晕?)。我把博客的颜色换回浅色底黑字了。此外,号称LCD上显示白色背景比黑色背景要省电(CRT反过来),参考此文献
要说完全不懂,其实也不对。很小的时候美术课就教过怎么用三原色(红黄蓝)调色:红+黄=橙,黄+蓝=绿,蓝+红=紫。隐约也有记得所谓的光的三原色(红绿蓝)是不一样的,具体怎么个不一样细节就不是很记得了。一个著名的例子是:红颜料+绿颜料=棕色,但是红光+绿光=黄光。好像小时候还有个什么鞠萍姐姐主持少儿节目就叫什么红黄蓝,不过似乎红黄蓝的使用也就停留在调色板的阶段,长大后接触的颜色概念很少有使用红黄蓝的了。

网页中最常用的RGB编码采用的是(r,g,b)三维坐标,每个坐标取值从0到255,通常用2位的16进制表示,数字从小到大表明明亮程度:黑色是00000,白色是ffffff。 256的三次方大概是16.8M,也就是所谓的真彩色。

总而言之,这两个体系,一个是可加色系(从黑不溜秋开始,一束束光往上加,啥都加了的时候就变成白色),一个是可减色系(从白色开始把光一个个撤回 去)。最好理解也是最常用的可加色系三原色依旧是RGB红绿蓝:从数码相机到摄像机(CMOS,CCD),从电视机到电脑屏幕 (Plasma,CRT,LCD,LED),从投影仪到扫描仪——凡是发光的东西都可以用RGB理论解释。相比之下,更少的人会去接触画画,打印机的原 理:可减色系。随着打印技术的成熟,红黄蓝三原色更多的被CMYK所代替(Cyan,Magenta,Yellow,blacK),最后一个缩写用K的原 因是B已经被Blue用掉了。之所以要加上黑色是因为前面三种颜色的混合基本上是一个灰灰的样子,而且黑色又是最常用的打印色。由于原理不同,两种色系很 难直接做比较,绝对精确的转换也是很困难的。
有意思的是自然光谱顺利(彩虹)和红黄蓝的调色顺序出奇地相似:红橙黄绿蓝紫;而不是用光的配法:红黄绿青(cyan)蓝洋红(magenta)。

顺便稍微研究了一下CMOS和CCD。二者的区别是从芯片出来的信号CMOS是数字的(digital),而CCD是类比的(analog),一句话总结是:以目前的技术,两种传感器质量相当,没有什么一个比另一个好的说法。CCD历史比CMOS久,所以很多传统相机都是CCD的。早期有CCD更加耗电但质量更好的说法,不过现在两种技术都有很大进展,所谓的差距都不大,通俗的参考文献点这里。具体而言,Canon到目前为止的相机都是CMOS的,Nikon的D90是CMOS,而别的两位数的(D40,D60,D80)是CCD,D300是CMOS,而D200是CCD的,更多比较参看这里

回到颜色,有个互补色的概念。在调色板中,互补色就是两个颜色调到一起变黑,例如红色和绿色;在谈论光的颜色,互补色就是两种光混合在一起变白,例如红色和青色。在设计网页,或者处理相片颜色的时候,应该用后面这套概念。

CIE是个法国人在20世纪初建立的一个稍微复杂的概念。大体上说,人的眼睛有三种视锥细胞,称为xyz。它们大体和红绿蓝相对应,但是有一些重合。于是每个颜色可以对应一个(x,y,z)的三维坐标,由于 x + y + z = 1,将它投影到xy平面没有损失,这也就是CIE的xy平面图了。换句话说,CIE就是按某种规律将颜色对应到一个xy坐标里面,可以当作一个颜色地图来使用。譬如说:颜色的温度。温度的单位是Kelvin,它是一个一维坐标。冷光的K值较大,譬如蓝色;热光的K值较小,譬如红色。人的眼睛在不同光源下会自己调节,而相机却更加笨一点。换句话说,在天很蓝的室外照出来的白雪会带蓝色,而在壁炉旁的室内找出来的人脸会带红色。所谓的白光平衡(white balance)就是通过调节对光源的处理,使得相机成像比较自然,和我们的眼睛看到的结果一样。

除了RGB和CMYK之外,HSB(又叫HSI,HSV)也很常见,它们之间可以很容易互相转换。色相(Hue)是把各个基本颜色放在一个圈里面,取值为0到360度。其中红绿蓝三光原色放在0,120,240度,而黄青洋红三光副色放在60,180,300度。色度(Saturation)也就是颜色的饱和度,或者说是鲜艳程度,取值为0到100%。总体说黑白灰是0色度,而大红大紫啥的是100%色度。亮度(Brightness,Intensity,Value)的概念很好理解了,同样取值为0到100%:黑为0,白为100%。然而,颜色亮度的概念和物理里面的光强不一样:光强的单位是坎德拉(cd),1cd相当于一根蜡烛点亮的程度。
Disclaim: Pictures are taken from wikipedia, ncsu, techmind, alaska-in-pictures.

No comments: