【关于本文】 DSLR现在已经算是相当普及了,可是关于Raw格式的问题,在国内的各种书籍里、或是网上,这方面的资料是少之又少。前段时间相当有幸地拜读了B R U C E_F R A S E R大师的《R e a l_w o r l d_c a m e r a_r a w_w i t h_A d o b e_P h o t o s h o p_C s》 ,并对其中的观点进行实际文件的多次验证。将读书笔记及心得整理成该文,希望能给广大数码摄影爱好者带来一些有用的信息。另外,假如你对Gamma、Photoshop中的Level、Curve等问题有深入了解的话,阅读本文会更容易理解。 --------------------------------------------------------------------------------
哎,打了那么多的字,真的好累了。其实关于Raw要说的还有太多太多,我在做笔记的时候是直接把原文(英文,全书254页,关于Raw的内容就100多页)摘录下来的,所以在写这篇文章时一边看着英文一边思考来写的,甚是痛苦。虽然,如果能够明白Raw相机内部的工作原理的话,以前的所有问题可以迎刃而解。但也许对大多数阅读这篇文章的人来说,关键是要知道怎么用好(转换好)Raw,所以原理的东西不再多讲(涉及较多的数学原理)。假如以后有精力的话再写一篇:[老狐教程]之《玩转RAW格式》——软件篇,专门介绍Camera Raw 2.4。最后,把大家必须知道的关键性的东西列出来(以Camera Raw 2.4 for Photoshop CS Plugin 为例): 图4
1、任何的操作,能够用Camera Raw进行的,都不要留到转换后到PS中去操作。这里的原因我只简单地说:转换前和转换后的操作有根本性的区别,转换前的各种操作,实际上是在定义一系列的参数(如色彩空间、锐化值、白平衡、对比度、降噪等),然后交给转换函数(其实就是Dcraw,一个开源软件,Dave Coffin。他有多厉害,看看下面这些RAW Converter软件,都是基于Dcraw:Adobe Photoshop、Bibble、BreezeBrowser、Conceiva Lightbox、 cPicture、dcRAW-X、Directory Opus Plugin、dpMagicGraphicConverter by Thorsten Lemke、IrfanView、IRIS image processor for astronomers、Lightbox、 Photo Companion、Photo Jockey、PhotoReviewer、PolyView、PowerShovel-II、 RawDrop、RawView、SharpRaw by Duane DeSieno、SilverFast DCPro、ViewIt、 Viewer n5、VueScan)进行运算,生成目标像素的颜色信息。相当于一个f(x),f(色彩空间的定义,锐化值,白平衡,对比度降噪)= 目标像素的颜色,只要这个颜色值不超出目标色彩空间的色域,它就是有效的颜色信息。但如果是转换到较小的色域中,是会出现部分颜色被裁掉(即目标像素的颜色超出了色彩空间(如把一副包含颜色信息相当丰富的图像转换到sRGB的Color space时)。可是在图像已经转换(显影)后,再到PS中操作的话,如Level、Curve,Hue/Saturation等,都是基于目前已有的像素颜色值进行操作,而且是非线性的操作,必然会造成不可逆的信息损失。举个例,一个非线性的转换f(x)=x^2(x的平方),x=3或x=-3,得到的结果都是9,必然有颜色信息被压缩。又如,Camera Raw 2.4中所提供的Exposure、Shadows所提供的作用相当于PS中Level里面的White Point和Black Point,那么假设我们把亮度值为245的点设为白点(255),在Level中的结果是从245到255两度的点全部变成白色,这好像问题不大。可是最致命的就是,原来从0到245之间的点都被拉伸成0到255,那中间没有的颜色信息从何而来?那些就是“捏造”出来的颜色,采用插值的算法算出来的。这也就是为什么应用完Level后再看一下直方图会看到中间有很多不连续的断线(这里我不上图说明了,如果对PS的Level相当熟悉的话,应该能理解)。可是,如果在Camera Raw中设定Exposure有什么不一样呢?在Camera Raw中实际上只是给定了一个参数值,让函数去把所有的像素重新计算,因此得到的是有效的像素颜色信息。 2、关于锐化的问题,是用软件(Camera Raw 2.4)自带的锐化功能好还是PS中的Unsharp Mask好?答案绝对是软件(Camera Raw 2.4)自带的锐化功能。……在图像中,边缘是由灰度级和相邻域点不同的像素点构成的。因而,若想强化边缘,就应该突出相邻点间的灰度级的变化……(《Delphi 数字图像处理高级应用》刘骏),也就是说,锐化的算法,一般是通过对灰度值进行运算的。那么,不用解释,你也知道PS中的是对以转换后的像素值(已有的像素基础上)进行操作。软件自带的锐化功能由有何不同呢? 先说锐化过程:像素灰度化-->边缘检测-->灰度强化-->还原出R、G、B分量 而像素灰度化的几种方法: 1)求出每一个像素点的R、G、B的平均值,然后把这个平均值赋给该像素点的R、G、B三个分量 2)求出每一个像素点的R、G、B三个分量的最大值,然后把这个最大值赋给该像素点的R、G、B三个分量 3)根据YUV的颜色空间,Y分量的物理含义就是量度,它包含了灰度图的所有信息。而Y=0.299R+0.578G+0.114B 上面几种方法,不管RAW Converter采用的是哪一种(甚至是其它的),从灰度的raw数据直接进行边缘检测,与现将转换后的像素的R、G、B变成灰度在检测,你认为那种效果好呢? B R U C E F R A S E R在书中对这一问题的看法是留下余地到PS中Unsharp Mask(认为Camera Raw 2.4的选项少,只有Sharpness一个。而Unsharp Mask有Amount、Radius、Threshold,余地较大)。就这一问题,我做过多次尝试,从一副饱含细节图像,经过Camera Raw 2.4锐化后所看到的细节,用Unsharp Mask不管Amount、Radius、Threshold怎么调都出不来那种效果,要么就锐化过渡(有些细节就是看不到)。 在这里也教一个Photoshop做锐化的Trick:把图像转成Lab模式,在对L通道进行Unsharp Mask,再转回RGB模式,效果比直接对图像进行Unsharp Mask好。 3、如果只要800X600的片上网交流,把2240 X 1680(甚至更大)的图片Resize到800X600,原图是否需要先锐化呢?缩小以后不是什么都一样吗?错!实践证明,先用RAW Converter锐化后再Resize,能看到的细节还是能看到。不做锐化的话是绝对看得出区别的!信不信由你! 4、拿到外面出片的话选Adobe RGB(在RAW Converter里,不是相机里!),上网交流的话选sRGB,不要先选了Adobe RGB进行转换后,去到PS里面再转成sRGB!但如果希望转换后作进一步处理,如加框或加签名等,就先选了Adobe RGB进行转换去到PS里面再转成sRGB。 5、Depth和第4点一样。拿到外面出片的话选16 bits/channel,上网交流的话选8 bits/channel,不要先选了16 bits/channel进行转换后,去到PS里面再转成8 bits/channel!但如果希望转换后作进一步处理,如加框或加签名等,就先选了16 bits/channel进行转换去到PS里面再转成8 bits/channel(但如果你想用一大堆的滤镜对图片进行操作的话,还是直接用8 bits/channel吧,因为PS中很多滤镜在16 bits/channel下不能用)。 6、如果打算出小图上网交流,在Camera Raw 2.4中的Size尽可能选最小的直接出(对于正方形的CCD/CMOS像素),不要出原大在PS中Resize缩小!对于Fuji SuperCCD(六角形的)则相反,尽量出大的在PS中Resize缩小。(B R U C E F R A S E R说的) 7、Camera Raw 2.4中的Exposure宁减勿加,减的话能恢复更多高光区细节,加得太大的话很容易在阴影区产生噪点。 8、Camera Raw 2.4中的Brightness相当于PS Level中的midtone——中灰度;Contrast相当于Curve;Saturation有点类似于Hue/Saturation。其中各项的调整所产生的结果如下图: 图3
9、一定要学会看Raw的直方图,不管哪一项的调整,注意不要有颜色的溢出(被Clip掉)就行了。 10、Camera Raw 2.4中的Luminance Smoothing对去处大片色块中出现的噪点相当有效,如蓝色天空中的噪点。同样的噪点,用PS去处的方法是把图像转成Lab模式,在对L通道进行模糊,再转回RGB模式。但效果不如Luminance Smoothing好。 11、Camera Raw 2.4中的Color Noise Reduction,这个不用说了吧,去处暗部的噪点。 12、Chromatic Abberation R/C、Chromatic Abberation B/Y是用来去处紫边的 13、Vignetting Amount是用来调整暗角的