图片加工后颜色发暗发灰发红?聊聊我赔了两条烟才弄明白的色彩管理

关键词:图片加工,色彩空间,sRGB,Adobe RGB,批量修图

摘要:从一次四百多张主图翻车的经历说起,把图片加工里最容易被忽略的色彩空间、位深、色度抽样和批量导出参数讲清楚,附具体软件设置和命令行操作。

上个月又有人来问我,为什么同一张图,在PS里看着好好的,发到手机就灰得像蒙了一层纱。这问题我太熟了,熟到有点条件反射——2021年冬天,我帮朋友做一批童装主图,四百六十多张,通宵跑完动作,第二天他电话打过来,说淘宝后台一上传,那件正红色的卫衣变成了暗红偏棕,跟实物完全不搭。供应商那边直接拒收。我赔了两条烟,外加一个星期的返工。

图片

那次之后我才算真正把色彩管理这件事啃了一遍。说啃,其实也就是把血泪教训记住。今天写的这些,没有一条是从教科书上抄的,全是自己踩出来的坑。

先说结论:九成的「颜色不对」不是显示器的问题

很多人第一反应是显示器偏色,然后跑去买个校色仪,或者干脆换台艺卓。我一开始也这么干,花了两千多买了个爱色丽,校完发现该灰还是灰。后来才明白,问题压根不在显示器上。

真正出问题的地方就三个:你用什么色彩空间在编辑、图片里嵌了哪个ICC配置文件、导出的时候有没有做转换。这三件事任意一件错了,屏幕上再准也没用。

顺便说个数字,sRGB大约覆盖CIE 1931色度图的35%左右,Adobe RGB (1998)大概是50%,Display P3在45%上下,比sRGB大出约25%。而ProPhoto RGB更大,大到有大约13%的范围落在人眼根本看不见的区域里——这是它必须配16位色深的原因,后面会讲。

图片

色彩空间这事儿,我用一个蠢办法记住的

iPhone从12代开始,默认用HEIC拍摄,10位色深,Display P3色域。你直接把这个文件拖进PS,如果色彩设置里工作空间是sRGB,PS会弹一个「嵌入的配置文件不匹配」的对话框。很多人嫌烦,勾了「不再显示」,然后一路点确定。

这一下就分出两条路。选「使用嵌入的配置文件」,PS会把P3转成sRGB,颜色基本对得上,代价是超出sRGB的那部分色彩被裁掉了,也就是所谓的削色。选「丢弃嵌入的配置文件」,PS会把P3的数值当成sRGB直接读,结果就是饱和度整体往下掉,红色变砖红,绿色发闷。我那批童装图翻车,就是栽在第二个选项上。

我后来用一个特别蠢的办法记这件事:彩虹糖倒进不同的杯子里,糖还是那些糖,但杯子口径不一样,你能看见的颜色数量就不一样。Profile就是杯子。

图片

具体参数怎么设,我列个实在的表

不说虚的,下面是我这几年在不同场景下实际在用的配置,PS 2024和Lightroom Classic都在用这套。

用途 工作空间 位深 导出格式 关键参数
发朋友圈 sRGB IEC61966-2.1 8位 JPEG 长边压到1080px,质量80,4:2:0
电商主图 sRGB 16位编辑,8位导出 JPEG 质量90,色度抽样4:4:4,不嵌ICC也行
印刷 Adobe RGB转CMYK 16位 TIFF或PDF 问清厂里用哪个ICC,总墨量控制在300%以内
冲印照片 Adobe RGB 16位 JPEG质量100或TIFF 大部分冲印机其实只吃sRGB,先问
素材存档 ProPhoto RGB 16位 PSD或TIFF 绝对不能用8位

这里有个点我必须单独拎出来说:JPEG格式只支持8位色深。所以你在16位下编辑得再仔细,一旦导出成JPEG,就回到256级每通道了。16位的意义只存在于编辑过程中——它能让你在拉曲线、调色阶的时候少产生色带。天空渐变最容易看出来,8位下稍微拉狠一点就出现一圈一圈的断层,16位拉到肉眼可见的极限也不容易断。

ProPhoto RGB那件事也一样。它的色域大得离谱,8位存的话,每级色阶之间的跨度会被拉得很开,反而比sRGB更容易出色带。所以用ProPhoto就必须配16位,这是一套的,不能拆开用。

图片

批量加工真正会翻车的地方,往往不是动作本身

我见过太多人(包括我自己)犯这个错:拿到一堆图,先急着录动作、写脚本,然后一把梭。

错就错在输入不一致。你这批图可能来自五台设备——同事的安卓机、客户的iPhone、网上下载的截图、单反导出的RAW、微信里存下来的二次压缩图。它们的色彩空间、位深、分辨率、有没有嵌ICC,全是乱的。然后你套同一个动作,结果必然是灾难。

所以我现在做批量的第一步永远是统一输入,具体就三步:先用ExifTool扫一遍,把每张图的ColorSpace和ICC_Profile字段导出来看;再用ImageMagick把没有profile的统一赋上sRGB;最后才开始跑动作。

图片

命令行大概是这个样子,我用的是ImageMagick 7:

magick mogrify -profile "sRGB IEC61966-2.1.icc" -quality 88 -sampling-factor 4:4:4 -resize "2000x2000>" *.jpg

这里有两个坑。第一,mogrify是原地覆盖,没有-o参数,跑之前务必把原图复制一份到别的文件夹,我吃过一次亏,两百多张原图直接没了。第二,-profile这个参数的行为取决于图里原本有没有profile:有的话它是转换,没有的话它只是赋值,两个结果完全不一样。想强制转换,得先确认源图嵌了正确的ICC。

至于色度抽样,4:2:0会丢掉75%的色度信息,4:2:2丢一半,4:4:4一点都不丢。什么时候会在意这个?红色logo、细小文字、彩色描边,这三样东西在4:2:0下会糊成一团。电商主图我一般咬牙用4:4:4,文件大个百分之二三十,但省心。

一个可能不太受欢迎的观点

图片

最后说个我自己的看法,可能跟主流教程不太一样。

如果你拿到的图,色彩空间已经错了,比如一张本该是sRGB的图被当成Adobe RGB解读了,那硬转回来的效果,远不如从原始RAW重新导一遍。转换这个动作本质上是在已经丢失或错位的数据上做数学运算,它没法凭空还原信息。我见过太多人拿着一堆被错误解读的JPEG,试图用各种插件「救回来」,最后得到一堆色彩发脏的图。

重做比修更快,这是我赔了两条烟换来的结论。

另外,别再纠结ΔE了。工业上一般把ΔE小于2当作人眼难以分辨的阈值,小于1算是极高精度。但实际做图的时候,除非你在做产品色卡或者纺织印染,否则纠结到0.5以内纯属自我感动。客户看的是整体感觉,不是色差仪上的数字。

标签: