色彩管理基础知识:LAB色彩模式的编码系统
今天小编为大家详细介绍色彩管理基础知识之lab色彩模式的编码系统,教程真的很不错,推荐到,大家一起来看看吧!
lab,是所有拾色器里最让人发晕的。看起来好高大上啊,不知道该怎么下嘴啊有木有?!很!正!常!
lab是一种完全不直观的颜色空间!并且,lab还很年轻,1976年才诞生,进入大众视野的时间就更加短暂。
前一篇我们已经介绍了,lab是建立在人眼对颜色的二次编码原理上的,即:
1. 第一阶段:人眼里的rgb视觉细胞识别rgb信号;
2. 第二阶段:神经网络对rgb信号重新编码,形成黑-白,红-绿,黄-蓝三个新通道的信号,供大脑进行颜色识别;
3. 其中,黑-白通道被命名为l通道,取值范围:0~255;
4. 红-绿通道命名为a通道,取值范围-127~128;
5. 黄-蓝通道命名为b通道,取值范围-127~128;
直观一点看,lab颜色空间是一个球形,见下图。
为了方便描述,把它视为一个地球仪。那么南极点就是最暗的黑色,北极点就是最亮的白色。亮度l沿着南极到北极的轴心线,从暗到亮变化。
沿着赤道把地球仪切开,切出来的圆就是色域最大、饱和度最高的颜色。
a轴和b轴分别是红-绿色和黄-蓝色。
a为正值的时候,是红色。b为正值的时候为黄色。
这样,一个圆形就被分为四个象限。第一象限是红色和黄色的过渡,第二象限是黄色和绿色的过渡。以此类推。
如果用极坐标的角度来看的话,色调就随着极角h的变化而变化,饱和度就随着极径c的变大而变大(这就是在lab的基础上演变来的lch色空间)。
当a和b为0的时候,就是理论上的中性灰。所谓中性灰,就意味着这个灰色既不偏黄,也不偏蓝,既不偏红,也不偏绿。
从图上可以看到,a、b通道的绝对值越大,颜色的饱和度就越大。越靠近中点,颜色饱和度越小,越接近灰色。并且,真正的中性灰其实范围是很小的,大量的灰色都是所谓的暖灰、冷灰等非中性灰(带一点颜色的灰色)。
在ps里,lab色空间还有一些有趣的特点。
比如,在ps里用lab的通道来观察图像,一幅图像如果是黑白的,那么a,b通道的数值就全是0。在通道界面里面,就完全是一片干干净净的灰色,没有内容。只有l通道是有图像的。
图片来自网络。处理了一下,原图是彩色的。
在a通道下查看,图像"消失"了。
同时,在a通道界面下,红色越鲜艳,图像越白。绿色越鲜艳,图像越黑。b通道以此类推。
这个特性很有意思,它可以有助于我们对图像的颜色进行观察和分析,方便我们修色。
而这也是上一章提到的一键"秋天变夏天"的秘密,因为简单的"反相"操作就可以使红色变绿色,让金黄色的叶子变成绿色。
另外需要特别注意的是,rgb的纯红色和纯绿色,并不完全等同于a通道的红色和绿色。lab里面的红色更接近洋红,绿色更接近青色。也就是说,lab里面的红色和绿色不是特别"正"。lab里面的黄色和蓝色倒是比较"正"的,但它的"纯蓝色"(a: 0, b: -128)也不完全等同于rgb里的纯蓝色(r: 0, g:0, b: 255)。
b为0,而a为127和-128的时候的颜色
并且,l为0的时候,也不完全等同于黑色,一些红色和绿色也可以l为0。
这一点跟hsb略有不同。在hsb色空间里,b为0的时候就一定是黑色了。这是由它们各自不同的坐标算法决定的。
好了,以上,教科书上有的内容都讲完了。
纳尼?!是不是还是没感觉啊?没感觉就对了,有感觉之前,需要有感受。
以下讲讲楼主的个人感受。
lab色大部分人很陌生。要想不陌生,就得经常用。
怎么用?用来修色,不要用来取色。
实话说,楼主自己从来不用lab来取色。。。ps取色器里面的lab色,取色的时候用来参考一下还行,真正用来取色就太不直观了(有没有大神直接用lab取色的,教教我窍门。。。。
那为什么ps要采用这么样一个不直观的lab色空间?
个人意见,lab用来给照片修色、校色(颜色管理)有它独特的优势。
1.关于照片修色:
1)校准色温(b黄-蓝通道);
2)改变季节(a红-绿通道);
3)增加a、b通道的对比度,给一些颜色比较平淡的照片增添"活力"(在lab模式下修改曲线,可以轻松实现让蓝天更蓝,绿树更绿,红花更红);
更多细节推荐《photoshop lab 修色圣典》,很厚很厚一本。。。好吧,我也没看完╮(╯_╰)╭
2.关于校色,也就是所谓的颜色管理。它的目的主要是控制色差。
这个一定要多说两句!里面的玄机一两句话讲不清楚。
lab作为rgb和cmyk之间的中转站,在颜色管理中起着重要的作用。
要想搞懂颜色管理,就一定要理解lab的中转站工作原理。因为所谓的颜色管理,落实到具体的操作上,其实就是对lab色和rgb色、cmyk色之间的映射关系进行管理。
之前我们说了,ps里把rgb色转换为cmyk色的时候,会先把rgb转换为lab色,再从lab色转换为cmyk色。反过来,cmyk色转换为rgb色的时候,也会在lab这里过一遍。lab像一个中间桥梁一样,连接着两个不同的颜色空间。
为啥不直接转?为啥要搞得这么麻烦?
——好了,本篇的重头戏来了!
首先,rgb和cmyk色的色号,其实是一系列对物理系统的操作指令,只对"机器该怎么动"负责,并不对最后的颜色负责。
该怎么理解这句话?
举个极端点的例子,cmyk的(100,0,0,0),意思是青色印满,其他颜色不印,所以应该是饱和度最高的青色。但如果印刷机的油墨上错了,该用c的时候用成了k,那么实际印刷出来的(100,0,0,0)就是黑色而不是青色。而这样的错误,光靠检查cmyk色的色号是检查不出来的。
所以,光知道cmyk的色号,并不能确定最后印出来的颜色是什么样,还取决于印刷机、纸张的状态。rgb色同理。
打个比方,rgb、cmyk色仅仅是菜谱。最后炒出来的菜什么味道,其实跟很多其他因素相关。lab色,则是给最后端上桌的菜进行评判,按"酸甜苦辣软糯香酥"等等不同方面用仪器进行严格的打分。如果lab评分一致,菜的味道就一定是一样的。
有时候我开玩笑,把rgb和cmyk色称为"虚"的颜色。而lab色,则是实实在在的颜色,跟实现的设备无关。它针对自然界所有存在的颜色进行的编码,1就是1,2就是2。知道lab色的色坐标,就一定能确定到底是什么颜色。
"虚"的颜色,必须落到"实"处,才能进行相互转换。也就是先确定印刷机的状态,把cmyk色在lab色空间中标注出来。再确定显示器的状态,把rgb色在lab色空间中标注出来,它们才能相互转换。颜色管理里后缀为icc的文件,就是规定这个转换关系的特性文件。
当我要发海报给印厂印刷的时候,先要根据我的显示器的状态(色域、gamma曲线、白点坐标),把我的电脑上的rgb色转换到lab空间里。再根据印厂的具体情况,确定lab色和印厂的cmyk色的对应关系,从而找到适合印刷海报的cmyk色。
如果事先没有准备好icc文件,ps就会找一个默认的标准来用,比如rgb色就采用srgb标准,cmyk色就采用japan color 2001 coated。
用钱来打个比方!
我们兑换人民币和日元,但是它们自身的购买力是变动的,不同的情况下能买的东西不一样。于是采用购买力固定的美元作为结算中介(嗯,这只是一个比喻!比喻!),把(在特定情况下的)人民币和日元和美元的汇率分别算好,就可以实现人民币和日元的结算了。你可以根据自身设备的情况来定汇率,如果你不定,那就按官方汇率来算。我讲清楚了吗?
那么为什么需要一个lab这样的中间桥梁呢?
之前介绍显示器色域的时候我说了,严格说来,根本没有色域一模一样的显示器。
不是同一个型号的就更别提了。cmyk也同理,换印厂换纸张调设备,印出来的颜色都不一样。
假设rgb和lab的对应关系有m种,lab和cmyk的对应关系有n种。如果rgb和cmyk直接转换,就会产生m*n种组合!计算机表示心好累。。。而如果采用lab作为中介进行转换,就只需要处理m+n种情况,大大减轻了计算量。
不是很容易理解是吧?吼吼。来举个栗子。
我手上有手机、pad,还有一台笔记本,一台台式机,一共四个不同的显示屏。仔细一看,他们的颜色表现都是不一样的!那么这里m=4。
当我要发图给4个不同的印厂印刷的时候(比如是在报纸上做广告,不同的报纸用的印厂一般都不一样),n=4。
如果rgb和cmyk直接转换,理论上需要用到4*4=16个特性文件。但如果中途用lab转换一次,就只需要4+4=8个特性文件了。
m和n的数量越大,节约的工作量就越大。
进一步。
当我出广告图给报社,报社跟我交接工作的人很有可能是广告部的,都不知道印厂的门朝哪边开啊!而印厂跟报社交接工作的人,有可能是销售部的,你问他"你家印厂的颜色特性怎么样啊",他大概会蒙圈。。。所以整个信息传递的链条有可能是相当长的,如果直接rgb转cmyk,需要收集信息的时间和精力成本其实比一般预想的要高。
如果中间加一层lab中转,工作就轻松多了。因为我并不需要知道印厂的工作状态,只需要干好我自己的事,把rgb到lab的特性文件准备好就可以了。从lab到cmyk这一步工作可以由印厂自己管控,理论上哪怕中途换印厂换设备也无所谓。当然,国内目前颜色管理的实际情况是。。。你懂的。。。还是去厂里蹲点靠谱!(实际上,哪怕是不存在色差问题的黑白稿,也最好能蹲点。。。印过同人本的各位大大肯定知道我想吐槽什么。。。)
此其一。
其次,lab可以标注的颜色,比rgb和cmyk多很多很多很多!
这个"颜色多",包含两个方面,一是色域大,二是精细度高。
关于色域大。
rgb和cmyk色空间有重叠的部分,也有不重叠的部分。它们相互转换用的中转站,必须比这两个空间都大,才能把它们都装下对不对?
实际上,lab色空间基于cie1931xyz,包括了所有物理上能实现的所有颜色。我们可以把rgb和cmyk的颜色在lab色空间中标注出来,两者的差异看起来就更直观了:
罕见的3d动图,不知道能不能正常浏览。。。
红色部分是srgb,小一点的是swop(u.s.web coated,美式胶印标准),蓝色的点点点是需要校正的颜色。
从图上可以看到,光讨论2维方向的色差是不准确的。2维投影位置一致,不代表明度也一致。
图片来源:颜色管理软件chromix官方网站。
关于精细度高。
lab色是以实数为坐标的,可以简单的理解为坐标可以精确到无限小数。所以精细度特别高。lab取色器里取整数的做法,是一种简化。一般来说,lab色的计算会保留到小数点后两位(大家可以算算这样下来可以标定多少种颜色)。
有什么好处?
依然以钱来做比喻(楼主你是多爱钱?!):
rgb是一个以4毛钱为基本单位的货币系统(4毛?这么怪?没错就是这样任性╮(╯_╰)╭,因为它是二进制的)。
而cmyk是一个以1块钱为基本单位的货币系统。
那它们之间怎么兑换呢?怎么样都不凑整对不对?
lab系统则是一个以1毛钱为基本单位的货币系统。
所以,先把rgb的钱换算成lab的钱数,然后找一个最接近的cmyk的钱数,就可以把rgb换算成cmyk了。当然,是舍弃了很多误差的一个近似值,凑合用用也还行。
有学霸同学要问了,上面这些cie xyz也能做到,那么为什么要舍弃xyz系统而采用lab?
这是因为lab 是一个均匀的(相对而言)色空间。lab诞生的初衷,就是为了解决xyz色差不均匀的问题。
什么叫色差不均匀?
还是以钱来打比方(对,我就是喜欢钱,哼!):
颜色a和颜色b差了2块钱,a和c相比也差了2块钱。但是c看起来差异却更大。
——色差的数值一样,但主观感受上的差异程度不同,就叫色差不均匀。
这会造成什么问题?
当一个rgb色要往cmyk色转换的时候,如果有两个颜色可选,色差都是2块钱,选哪个?
进一步,有两个cmyk颜色可选,一个差了2块钱,一个差了3块钱,哪个色差更大?
——不知道!选哪个?更不知道!
这简直没法玩儿了有木有?
为了解决这个问题,cie在cie xyz之后,开发了一系列傻傻分不清的表色体系:cie 1960 ucs,cie 1964 l*u*v*,cie 1976 l*a*b*,cie 2000。
为什么它们名字都这么像?因为它们多多少少都还有些问题,所以还在不停的打补丁升级中(类似于windows xp、windows 8、windows 10)。。。实际上,直到现在,这个完善工作都还没有完全做完!完美的颜色系统还不存在!
ps:以上的功能,用其他的cie均匀色空间也是可以完成的,比如luv系统。
那么为什么ps舍弃了luv而用了lab?我觉得ps应该是从修色的角度考虑的。luv色相分隔不清楚,又看不出补色关系,所以在修色功能上跟rgb、cmyk相比并没有什么优势。
最后的最后,再讨论一下为什么lab系统要叫这个名字。
l好理解,a和b有什么意义呢?
我觉得答案是。。。没有什么意义!就是随便选的!
总得要起个名字对吧?对,就是辣么任性!!
等等,说随便选的其实也不完全。
按照楼主多年来(不充分不成熟不客观不中立)的观察,对于这种成对、成套出现参数,科学家最爱用一串一串的字母来命名。什么abc啊, mn啊, xyz啊,诸如此类。更何况l和a、b连在一起,还凑成了一个有意义的单词(lab,实验室),比较容易记。
其中的b还能跟blue对应上,所以a是红-绿通道,b是黄-蓝通道。
但是呢,这里也有一个问题可能大家会比较困惑。那就是——ps取色器界面里面的b实在太多了!
rgb色空间有个b(blue,注意是大写),hsb色空间里也有个b(明度brightness,也是大写),现在lab里面又来个b(黄-蓝通道,小写)。
——每一个的含义都不同!那为什么要用一样一样的字母啊摔!
这个问题是这样的,这些色空间一开始被定义的时候,并没有想过有一天竟然会被ps拉来排排坐。。。
所以,这些参数,就简单的采用了和自身概念有点关联的、大家都比较熟悉的字母来命名。
要是选了太有个性的名字,会给初学者带来很大的烦恼有木有。。。
当年楼主学高数的时候,有一个符号长这样:ζ。。。
扭来扭去的有木有?!写的时候不知道该怎么写有木有?!念的时候不知道该怎么念有木有?!(现在知道了,念:载塔)
而且还长得像条小虫子有木有?!每次强迫症的楼主看到都好想一巴掌拍死它!你说楼主的高数怎么能学得好啊啊啊啊~~~
你一定不想在ps里看到这种奇葩的选项,对不对?
实际上,更准确的说,lab色空间应该叫l*a*b*才对,还要带星号呢。。。呢。。。呢。。。真正的lab色已经很少有人用了,现在提到lab,一般就是指l*a*b*。
同志们,知足吧,这个已经是简化版的了。。。
(带星跟不带星的区别我就不写了,你们也一定不想看,嗯哼~)
好了,以上,再见!
教程结束,以上就是色彩管理基础知识之lab色彩模式的编码系统,希望能对大家有所帮助!