三、关于传感器 主流的数码相机传感器,主要有CCD、CMOS和Foveon X3。对于Foveon X3的工作方式,可自行到Foveon的主页上去查阅,这里主要只简单地讲一下CCD/ CMOS的工作方式,对我们使用raw就已经足够了。
数码相机传感器是由横竖两个方向密集排列的感光元件(CCD或CMOS)组成的一个二维矩阵,常见的有如下图示的Bayer模式的排列方式,每个CCD就对应一个像素。其中R感应红光、G感应绿光、B感应蓝光,而在Bayer模式中G是R和B的两倍(因为我们的眼睛对绿色更敏感)
图1 
在矩阵内的每个CCD或CMOS只是用来感受光子的能量,因应进入光线的强度而产生对应比例的电荷,然后将这些电荷信息汇集并经过放大,储存起来。而应当知道的是,raw纪录的只是每个像素位置的电荷值,它是没有记录任何的颜色信息的。所以CCD是“色盲”的,也就是说:
RAW文件只是灰度文件而已! 我们可以这样去想象一下充满电荷的CCD/CMOS,就像下图一样:
图2 
因此任何一个RAW Converter(如Photoshop的Camera RAW Plugin,Bibble、Phrase One C1 Pro、RawShooter essentials 2005,各厂商自带的Raw转换软件等)的作用就是将这些像素所记录的亮度信息转换成为肉眼所能看见的颜色信息,至于不同的制造商是如何排列传感器矩阵上的RGB或CMY的问题,我们不需要去关心,只要所使用的软件能够支持你的数码相机,就说明他已经了解这个问题,知道该怎么去诠释和处理每个像素上的亮度值。
由于现在的CCD/CMOS与Foveon X3的原理不一样,所以对于CCD/CMOS而言,要获得一个像素上的颜色值,必须从邻近的像素中获取信息来进行一种叫做“反马赛克”的运算(Foveon X3可不需要这样),从而得到该位置的颜色值。当然,除此之外,RAW Converter所控制的事情还有下面的这些,而这些也是我们在操作Raw的时候一定得知道的原理。
●白平衡——我们的眼睛能够自动的适应不同的环境光线,把最亮的地方解释成白色,其他的颜色依序地去解释。可是传感器却没有人眼的这种功能,它必须知道到底多亮才是白色,因此我们需要设定白平衡来告诉它。在使用Raw拍摄的时候,传感器纪录的只是每个像素的亮度值,白平衡是作为元数据(metadata)记录的,用以在后期RAW Converter转换的时候用的。也就相当于一个起点,也可以理解成在转换函数中的一个必不可少的参数,少了它,其它的颜色就没办法解释。之前小革命好像有篇文章关于拍摄时白平衡不管设置与否,都可以在后期还原的问题。我的看法是在理论上是绝对肯定的,为什么说是在“理论上”?从上面的论述就可以知道,白平衡的设置只是在后期转换时才参与。所以即使拍摄时没有设置正确的白平衡,只要在后期转换时能够输入当时场景的正确的色温值的话,绝对是可以还原出原来的色彩的。可问题就是,有多少人能够在转换时准确的记起当时的色温值。除非在图片中有一处纯白色的参照物,用白平衡吸管吸取该处的颜色就可以正确设置了。这里其实也告诉了我们一个值得去尝试的技巧:拍摄照片时,在构图里放置一个白色物(如白纸,但注意要在不影响构图的地方,也不能太大面积影响曝光读数,并且要让其充分受到现场光线的照射),把它也拍进去。后期转换时候用白平衡吸管吸取这个白色物就可以了,然后把白色物这部分裁掉。
可是,对于拍JPG的话,可不是这么一回事。因为拍摄后,就由相机在内部处理转换成JPG,也就是说它必须要用到色温值进行运算。如果这之前没有设定好白平衡的话,那肯定是要偏色的。
●色彩演绎——假如你问一千个人哪种颜色是红色,可能你会得到一千种不同的红色。同样的道理,对于CCD/CMOS而言,它不知道究竟什么才算是红色、蓝色、绿色。因此,我们在转换RAW文件时,必须指定红色、蓝色、绿色的定义,也即色彩空间(Color space),不同的数码相机本身就内置了不同的Color space,如sRGB,AdobeRGB等。对于这点,我的理解是,拍摄RAW格式的话,相机里面设置sRGB或者是Adobe RGB都是废的,因为是在转换时才将RGB的定义(即目标Color Space,转换后的文件的Color Space)告诉RAW Converter,因此在转换RAW文件时都会有一个Color space的选项,是你必须指定这个目标Color Space的。所以,如果我们是拍摄RAW格式的话,不要再问到底要设置成sRGB或者是AdobeRGB了,喜欢的话,甚至可以转成ProPhoto RGB也可以!拍JPG的话恐怕对图像质量的追求也不是很高,所以就用sRGB算了。
●Gamma 校正——首先你应该先知道什么是Gamma,相关的资料可以自己上网搜索一下。数码RAW格式的拍摄是采用线性的gamma (即gamma 1.0),可是人的眼睛对光的感应曲线却是一“非线性”的曲线。所以RAW Converter会在转换时都会应用一条Gamma曲线到Raw数据上(简单的理解,就是相当于对原始数据进行一个f(x)的变换,并且注意,f(x)并不是一次的线性函数),来产生更加接近人眼感应的色调。
●降噪、抗锯齿和锐化——当图像细节刚好落在CCD矩阵中的单位像素上,或者假设落在了一个R-感光像素和B-感光像素上时,问题就出现了。该细节处的真正的颜色光靠“反马赛克”运算是很难准确地还原出来,也就是说细节会有所丢失。因此,大部分的RAW Converter都会在转换的时候进行一系列诸如边缘检测、抗锯齿、降噪以及锐化等操作。而由于不同软件所采用的算法未必相同,因此使用不同的RAW Converter出来的片的细节也不一样的原因就在于此。
哎,打了那么多的字,真的好累了。其实关于Raw要说的还有太多太多,我在做笔记的时候是直接把原文(英文,全书254页,关于Raw的内容就100多页)摘录下来的,所以在写这篇文章时一边看着英文一边思考来写的,甚是痛苦。虽然,如果能够明白Raw相机内部的工作原理的话,以前的所有问题可以迎刃而解。但也许对大多数阅读这篇文章的人来说,关键是要知道怎么用好(转换好)Raw,所以原理的东西不再多讲(涉及较多的数学原理)。假如以后有精力的话再写一篇:[老狐教程]之《玩转RAW格式》——软件篇,专门介绍Camera Raw 2.4。最后,把大家必须知道的关键性的东西列出来(以Camera Raw 2.4 for Photoshop CS Plugin 为例):