解释为脑瘫的那张图_为你更新色彩观: 直观理解光谱和颜色【1.2】

本文介绍了光谱与色觉空间的关系,通过数学建模帮助理解颜色的形成过程。首先阐述了光谱如何对应色觉空间中的点,接着讨论了色彩空间的变换和转换,指出不同基色可以表示所有颜色。同时,文章探讨了光谱轨迹的不变性,解释了显色性和同色异谱的概念。通过对颜色的前期和后期补偿,以及在渲染中的应用,深入剖析了颜色理论。
摘要由CSDN通过智能技术生成

57e8394bed29527300fb82d0451cff81.png

众所周知,光线是一段成分不一的光谱,而人眼有三个色锥细胞,分别对光谱敏感。是如下的一个乘法(内积)过程。但是如何将光谱转换到色域中的舌形图的,却很难直观想象。

a73d006568a519e7c07ca07a8259584d.png

假设你知道“光谱”一词的话,本文提供一种直观的理解方式,去理解人类对色觉的数学建模过程。


一,光谱和色觉空间

光线的波长有无数种,任何光谱,都是由不同含量『单波长』的激光组合出来的。

人眼有三种颜色细胞(LMS细胞),任何颜色,都是对应着这三种细胞的刺激值,(通俗地说就是红绿蓝)。所有颜色的集合,就是一个三维的【色觉空间】,(而且颜色之间是线性组合的)

任何光谱都对应着【色觉空间】中的一个点,我们研究的重点,就是光谱和色觉空间中的点的对应关系。

由于任何光谱分布(下文称『SPD』),都是由不同含量『单波长』的激光组合出来的,因此只要知道单波长的激光对应的色觉点,就能组合出任何颜色。

假设我们拿一个单一波长的光源照射眼睛,这个波长逐渐从400nm变到700nm,那么它就会形成一个立体的颜色的轨迹。

c2ccccb0c9bb7f58408bd8df1deb2180.gif
扫频在颜色空间中的变化

(具体的结果是这样的~见链接中图3):

章佳杰:色彩空间表示与转换​zhuanlan.zhihu.com
667fb65e9901cd26aeed9d9d69e12685.png

我们取一个特殊的截面看的话,就是常见的CIE XYZ舌形图中的轮廓线。

2187fab21c93fd4961fe3981e2448f99.png


这个轮廓线对应的色觉,可以组合成任意SPD对应的颜色。

例如,下图这样一段光谱,

5f0da368be68a9b8c8dac617baf836a3.png
光线的光谱

它就是由含量不同的单波长光线组合而成,每一个颜色的刺激如图:

8285ed65ac0b4e6783068872a1b88690.gif
任意SPD的投影

对应平面的颜色:

652a0a53ba7e6627111d18e6fb6836ca.png

初中物理中,我们学过力的合成,在线性空间中,力会矢量合成一个“合力”,

60a67165b54b32f3f5e7b19f63ecc9ca.png

色觉空间也是一个线性空间,SPD对应的色觉点,最终就是单波长的矢量相加,如下图:

7514a54f6199a617942b3422a1255d18.png
对应的色觉空间的立体和平面

至此,你对光谱→颜色的过程,应该有了一个新的理解方式。即SPD→逐波长的颜色→最终合成。

接下来的,任何光谱的颜色问题,我们只要在色觉空间中讨论就可以了[1]

二,色彩空间的变换

很显然,一个颜色可以对应无数种SPD,但是SPD对应的颜色并非要用整个光谱去表达,只要任选三个轴作为基色(不共面),都可以去表示任意颜色(下图右),

628821352997f8c6986a36193235ddc9.png
选三种颜色表达

总之,我们能用任意三色去表示人眼见到的所有颜色。无论是红黄绿还是红黄蓝,甚至是四色(如下图)。

这就是"基色",各种显示器、相机的色彩空间的基本任务,就是考虑如何用三个或者多个基色,去组合出所有的颜色。

2d95d67c8a68d13aaf079208a5b1f873.png

可以可以注意到,中间图的色矢,超出了基色围成的三角形(下图),

295dd255b21eb864e37945affd02b68d.png

这个三角形,是基色围成的色彩空间中,从『正区间』截出来的一个平面。初中平面直角坐标系中坐标为正的集合叫第一象限,在三维直角坐标系中,三色为正的叫第一卦限(下图右), 很显然,现实中基色强度必然为正。

因此,三个基色实际能描述的颜色,必然落在三角形的中间。

72dd2e971a7ff67e67b489de5210b83b.png

788c724744d5263ca9f9e608f4fbd3e4.png
基色组成的色彩空间

而落在颜色之外的,实际上意味着三色中要取到负值才能混合出来。

而基色的另一个隐性条件是在舌形图之内。尽管很多色域的基色『取』在舌形图之外,但实际都是“虚拟的颜色”,是为了颜色的储存而非真地去显示——因为你用最纯的激光,也只能落在舌形图的边缘上。

55021602f911bfd972441dce1eb3376c.png

顺带说下,我这里提到了“最纯的”三个字眼,最纯的、单色的光落在舌边上,那么不纯的、宽色的就会往中间移动。

可以看出,饱和度就是光波的单一程度,越饱和的基色,越能组合出宽广的色域。

我们选取任意三个基色,就能定义出一个色彩空间。而色域,就是用某种方式做的一个切面。当然,正儿八经的可以供计算机识别的色彩空间,还要额外定义诸如gamma等内容。

颜色的非负性结合上上张图还可以推导出另外一个结论:高动态范围和色域无关。

顺便再问一句,你觉得舌形图的边缘在新的色彩空间中,会画出一条怎样的曲线呢?

三,色彩空间的转换

我们如果任选三个坐标轴, 便能构建一个新的色彩空间,比如下面的轴线。

c13215b1fde2303ce0522b41f0157216.png
任取三个轴线

然后我们会发现,只要把轴掰开,就可以得到不同新的色彩空间。

be66d00f36589dc2884b802420ff4084.png
注意原本轴线的变化

因此色彩空间之间是可以相互转换的,线性代数的本质在这里得到了充分的体现。

如果你开心的话可以来看看章老师有效期100年的经典之作:

章佳杰:色彩空间基础​zhuanlan.zhihu.com
845ce8af498c15aaee0085be55986eb3.png

其中,下面这张图体现了不同色彩空间之间的变换:

20620d59e6e5406023816ca4acfdc465.png

936533d3a7036ae157bf64487648ad8b.png
来自章老师的文章

四,光谱轨迹的不变性

接下来我们讨论一点...阴间的东西。刚才我们讨论的是光谱映射到颜色,现在讨论一条光谱在色觉空间中的变化。

回顾下开头(下图),颜色空间是眼睛的响应曲线扫频构成的空间(模态空间?),在颜色空间线性变换之后,它反过来也能对应三种响应曲线,叫“色匹配函数”。

c2ccccb0c9bb7f58408bd8df1deb2180.gif
扫频在颜色空间中的变化

所谓线性变换,就是类似于“Y=0.2126R+0.7152G+0.0722B”这样,对三个通道响应结果的加加减减。等效于一个新的探测器Y去探测光谱。因此,对颜色的加减相当于对响应谱的加减。

我举个例子:当我测量“亮度”(luminance)时,国际规定的相对光线亮度(relative luminance),是用一个响应波段如下所示的探测器去探测的。

7ffa1d9181e9b5eceddc85a858991cc3.png
CIE Y的色匹配函数

而我没有这种波段的探测器,但是,我手上的相机有三个感应曲线,如果我能通过线性变化组合出一样的感应曲线,那么就能得到等效的结果了。

庆幸的是,这条亮度探测器的响应曲线,正是CIE XYZ中的色匹配曲线(Y),而普通相机的sRGB照片是可以转化到CIE XYZ空间的。因此,我能得到对应的亮度。

Y=0.2126R+0.7152G+0.0722B(RGB为非线性值);

可以看到,其实就是将相机的三种传感器混合,去替代一个特定响应谱的传感器。

当然,因为相机制造的局限,这实际是一个偏离了CIE Y的函数,偏差很大的结果,所以也许结果是下面这个样子的。

6d234a61db2e37d9de85123fb04a135b.png

但是,反正无所谓啦。因为他们之间的差别就是面积上的差别。我们假定目标接近纯白,那么探测出来的结果其实只是差一个系数。

顺便,
我们知道舌形图外围那圈轨迹是单一波长对应的色点,

在变换之后它依然存在,虽然要用负值去表达。只是在新的色彩空间中,它更加扭曲了(下图 示意图)。

b612ad34fa7f31f2ab0346276e89644b.png
新的坐标轴HMN变换后,原本光谱在新坐标系下的表述。

我们称呼它为“响应轨迹”吧。这条曲线万变不离其宗,可以讨论很多有意思的东西。


1、显色性和同色异谱:

同色异谱:

很显然,一个颜色对应无穷多的光谱,只要最后的颜色"合力"相同就行。一个颜色,不同光谱,这就是同色异谱,是用高维表达低维的必然结果。

具体而言,因为人的色觉是三维的(色觉集合的秩为3),因此在三维空间中,一个颜色必定对应三个不同的点,而超过四维的空间,在四维、五维、无穷维中,就必然对应多个可能性。

白色也是一种颜色。

显色性:

众所周知,一帧照片中所有颜色均可视作『白光光谱』·『反射谱』的结果(基本反射模型)。

『白』也是一种颜色,因此自然也对应不同的谱子。而反射谱是不变的。

因此,即使校准了色温(色温就是白色对应的绝对色),不同的反射块之间,却不一定会保持相同。

下面是我在路灯和闪光灯下拍摄的色卡经过白平衡和和曲线调整后的效果,

看得出颜色有很大的区别。这部分具体的文章,我已经放在了这个回答里。

为什么相同色温的光源会有不同光谱?

eb3b82b0b5cb5487f510a8e499ed94e7.png

顺着颜色可以画出它的包络图。

588db64c7922f0c4c08e65ae9316f03d.png

它实在太像“响应轨迹”了,我们很自然地想到,灯光会不会有“色域”呢?

感觉它应该有。

但觉得又不该有。

如果我的色板有无穷多个,并且只反射单波段光,相机完美匹配人眼,那么这条轨迹就显示的,就应是灯光所能表达的全部颜色。如果灯光的光谱有欠缺,则包络线会有一些内陷。

而实际中,包络线是相机和灯光共同作用的结果,我们完全可以将『灯光光谱』先与『响应谱』相互作用,将光源光谱的作用,看成是光源光谱对相机响应的改造。

相机是有色域的,所以光源确实有。而且还不是个三角形。

2、颜色的前期补偿。

3、颜色的后期补偿。

4、渲染中的颜色。

【以下为上个版本残留的内容,作废,


四,理论衍生

从线性代数的角度来说,有以下推论:

①、存在无数多个坐标轴去描述同一个结果。每个坐标轴对应一条响应谱。

②、每个结果对应无数种SPD

③、可塑造新的敏感谱,用已有的探测器探测相应波段。

④、非线性的响应谱,等于对响应谱平面外的偏移

我一个个解释(时间紧迫,除了倒数一个外:


第一个推论: 存在无数多个坐标轴去描述同一个结果,每个坐标轴对应一条响应谱
解释:

很显然,无数的波长结果能合成一个结果,而且合成的波长用三个坐标就能描述。

想象一下,若一个立方体是原本的【色彩空间】,那么整体上的那个正方形它也整体被一起变换了。

最重要的是,变换过程中,人眼的响应谱的结果曲线也被同样掰了过来。

如果换成相机,那么只要稍加变换,便能得出一个新的谱线的探测结果。

b612ad34fa7f31f2ab0346276e89644b.png
新的坐标轴HMN变换后,原本光谱在新坐标系下的表述。

比如“亮度”(luminance),国际规定的相对光线亮度(relative luminance),是用一个响应波段如下所示的探测器去探测的。

7ffa1d9181e9b5eceddc85a858991cc3.png
CIE Y的色匹配函数

而现在,我们只要把相机拍摄后的结果稍加组合,就能测出这个亮度。也就是这个组合:

Y=0.2126R+0.7152G+0.0722B

当然,首先你的相机得足够理想,其次要拍摄sRGB模式,最后,还要将图片用反相gamma处理。


第二个推论:每个结果对应无数种SPD。

解释

:这个解释过了。

305b57bd5bb15079e144c7f85377ffd5.png

这个很显然,但越显然越重要。因为我们得出一些结论:

  1. 给定SPD,对不同响应谱的结果可能都相同,只要能够进行互相变换。

然后给你们两个习题做做,(如果觉得自己能把逻辑写得清晰,可以私信我)可能有点小难度:

  1. 增加探测器的探测波段数量(如探测XYZJJ四个通道),敏感谱是一个什么形状?投影在原本的探测谱中是什么形状?SPD还是无数种嘛?如果是无数种,跟三波段下的无数种有什么区别?本题可以和下一个推论同食。
  2. 同一个坐标系下若有不同响应谱(且不可互相变换而来的响应谱),同一个【结果空间】下的结果会如何变化?
  3. 以相机为例,如果敏感谱有一点区别,这样造成的结果如何纠正?——提供24种标准颜色(即已知响应空间中的24个坐标),响应谱产生区别是如何扭曲这24个标准坐标的?
  4. 以相机为例,两个很靠近的像素有不同的但是因为相机比较差,所以中间像素产生了混合(下图)。请推测这个现象对spd的反推有什么作用(已存在相关idea)。

45fac8540d8f9160144bd0fe81aeec78.png

第三个推论:可塑造新的敏感谱,用已有的探测器探测未知波段。

这个是反过来通过确定响应谱,对已有坐标系进行塑造的过程,也很显然。想象捏弄这条响应谱(甚至包括非线性变换),整个结果空间就连着一起变化。而新的坐标轴就是你要探测波段的结果。

比如,若要构造一个探测相对亮度的响应谱:只要把下面这个曲线进行揉捏,让它在任意一个坐标上的变化,与亮度的响应谱一致即可。

c87ee2af5251a66083f4a2697a690e1b.png

依然提出两个小问题:

  1. 只给你8bit用来记录每次响应数据,不同变换后的响应波段下的响应谱,会对精度造成什么变化?
  2. 假设有个相机响应谱在人眼的结果空间中的投影是这个样子的,请问如何修正?
  3. 假设翻拍一个色彩响应结果曲线为N的胶片,回答正确的校色方式。

【以下没作废】

再次感谢

@章佳杰

对我的不啬帮助……

参考

  1. ^但是记住,一切的前提假设都是线性的:色觉可以线性组合,光谱可以线性组合。如果是到了非线性的色彩空间,就不可以乱下结论了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值