1

当从 XYZ(CIE 1931 颜色空间)转换为 L*a*b* (CIELAB) 时,您可以在此处找到例如https://en.wikipedia.org/wiki/CIELAB_color_space的公式,指定您应该除以“参考光源”(照亮场景的灯?)的白点的 XYZ 值。

公式

我的 XYZ 坐标来自发射源,因此场景中没有光源。因此,当涉及光源时,我可以理解这一点,因为产生 XYZ 值的总和/积分包含光源。但我只是找不到除这些公式之外的任何其他公式,它们都假设为光源。

4

2 回答 2

2

参考光源不是照亮场景的灯。参考光源基本上只是白色的定义。虽然“纯黑色”是一种明确的颜色(没有强度),但“纯白色”不是。例如,如果您查看色度图,中间附近有无数个点,您可以称之为“白色”。因此,您必须选择一个“白色”,然后您可以围绕它构建 CIELAB 空间。也就是说,CIELAB 不是一个完全定义的色彩空间,除非您定义了您想要使用的“白色”。不同的“白色”选择会给你不同的 CIELAB 坐标。(当然,只要您跟踪白点,颜色仍然可以明确转换回 XYZ。)

“白色”的一个非常常见的定义是“ Illuminant D65 ”或“统计上理想的欧洲正午太阳”,它具有标准 2º 观察者的 tristumulus 坐标(取自 Wikipedia 链接)X = 95.047, Y = 100.00, Z = 108.883。同样根据维基百科,CIELAB通常被隐含地理解为使用Illuminant D50作为其白点。将给定的 xy 坐标转回 XYZ 坐标(固定 Y = 100),我得到X = 96.421, Y = 100, Z = 82.519. 选择一个,甚至是其他东西,来定义你的色彩空间。如果您要在此颜色空间中输出包含数据的文件或其他内容,您应该查看相关格式的“嵌入式颜色配置文件”之类的内容,您可以在其中存储您选择的“白色”以供将来的程序使用。如果这是不可能的,你仍然应该以某种方式记录它,如果它是“面向用户的”。

于 2020-06-10T22:17:29.967 回答
0

这是一个复杂的话题。简而言之(并简化):光谱与我们感知的颜色之间没有唯一的关系。我们的眼睛和大脑有颜色适应能力。一张白纸将被视为白色(经过几分钟的适应),如果进入我们眼睛的光线可能具有更蓝或更红的光成分,也是如此。注意:但其他灯光(以及颜色)也可能会有不同的感知。在最常见的黑体光源上,我们倾向于(在适应后)看到相同的物体,因为它具有相同的颜色。

因此,在大多数色彩空间中,我们需要指定白点(或光源),以便了解我们如何看待所有其他颜色,并且大多数情况下我们希望将白色视为白色,而不是偏红或偏蓝(重要的是:肤色在不同的光源下变化很大,因此“白平衡”错误的图像令人不安)。

您没有指定您使用的发射源。如果你是做艺术品,所以不选择房间的主光源,你应该问问博物馆他们用什么光源,用D50是很标准的。通常屏幕都有D65作为标准光源(sRGB标准,还有HDTV、UHD、ecc.),所以图像是用这样的白点设置的,所以你应该选择这样的白点。在电影院或其他黑暗环境中,内容会指定白点。您可能会从 D50 缓慢更改到 D65,并且没有人会注意到这种变化。在屏幕上也是如此:我们看屏幕,所以我们适应内容,所以你选择什么白点并不重要,重要的是在内容上选择了什么白点(再次:网络,电视使用 D65)

所以你应该发现什么是白点(或光源)并相应地使用它。注意:您肯定已经这样做了,因为您的工作也具有标准化亮度:您的发射源不会发出 100 [无单位] 的。【有色度适应还有明度适应】

注意:对于您的任务光源白点是相同的概念。光源定义了一个白点(以及白色的色度)。在您的公式中,您只需使用白色的色度(2 个数字,如果包括亮度,则为 3)。使用光谱时,需要整个光谱曲线(由光源定义),因此白点数据并不包含所有信息。

于 2020-06-12T09:10:51.340 回答