我认为可以安全地假设 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 值in this conversion tool 将产生Purple C。
请记住,理想情况下,这些颜色值对 CIE 1964 10 度标准观察器有效,但我们目前正在使用主要与 CIE 1931 2 度标准观察器一起使用的 sRGB 色彩空间来查看它们,因此您总会有差异。
引用Pantone自己的话:
屏幕上的数字色彩模拟与实物 Pantone 不符
颜色标准。请参阅 Pantone 颜色出版物以获取实际
物理颜色标准。
它没有回答您的问题,但希望仍然会有所帮助。