我认为可以安全地假设 RGB 值是使用 sRGB 色彩空间编码的,作为演示,我将使用来自e-paint.co.uk的 Purple C Lab 值,这些值是使用 CIE 1964 10 度标准的光谱仪测量的观察者:(47.52, 68.9, -42.48)
并将它们转换为 sRGB:
import numpy as np
import colour
from colour.plotting import *
# Purple C
Lab = (47.52, 68.9, -42.48)
XYZ = colour.Lab_to_XYZ(
Lab, colour.ILLUMINANTS['CIE 1964 10 Degree Standard Observer']['D65'])
sRGB = colour.XYZ_to_sRGB(
XYZ,
colour.ILLUMINANTS['CIE 1964 10 Degree Standard Observer']['D65'],
apply_encoding_cctf=False)
print(colour.oetf_sRGB(sRGB) * 255)
RGB_chromaticity_coordinates_chromaticity_diagram_plot_CIE1931(
sRGB[np.newaxis, ...],
cmfs='CIE 1964 10 Degree Standard Observer',
scatter_parameters={
'linewidths': 1,
'edgecolors': 'black'
})
[ 187.74670223 49.84515552 185.6083605 ]
相比
187 41 187
这些测量值与官方 RGB 值相差不远,您可以将其归因于测量程序、样本年龄和质量等。您可以在它们上计算 Delta E,但关键是它们似乎是值得信赖的,尤其是考虑到正如您可以从此图中评估的那样,它们在 sRGB 色域内:
CMYK 值非常不同,并且似乎在蓝色通道中被剪裁。不幸的是,我对此没有很好的解释,但鉴于您对底层编码一无所知,我不会相信这些值,只会依赖 RGB 值。有趣的是,在这个转换工具中0 0.7807 0 0.2667
运行CMYK 值将产生Purple C。
请记住,理想情况下,这些颜色值对 CIE 1964 10 度标准观察器有效,但我们目前正在使用主要用于 CIE 1931 2 度标准观察器的 sRGB 色彩空间来查看它们,因此您总是会有差异。
引用Pantone自己的话:
屏幕上的数字色彩模拟与实际的 Pantone 颜色标准不匹配。请参阅 Pantone 颜色出版物以获取实际的物理颜色标准。
它没有回答您的问题,但希望仍然会有所帮助。