RGB和CMYK颜色空间中的颜色定义如何看起来如此不同? (在我的屏幕上)
例如此Pantone颜色:https://www.pantone.com/color-finder/Purple-C
CMYK:http://www.wolframalpha.com/input/?i=cmyk+40+90+0+0
和RGB:http://www.wolframalpha.com/input/?i=rgb+187+41+187
看起来非常不同。
这是因为我的屏幕没有正确呈现颜色吗?
如果是这种情况,它无法解释为什么我尝试使用每个颜色转换器,将RGB 187 41 187
转换为CMYK 0 0.7807 0 0.2667
?
如果给出CMYK 40 90 0 0
,有没有办法找到RGB 187 41 187
?
这是以编程方式还是由一些设计师的眼睛完成的?
感谢您为我解决此问题
答案 0 :(得分:2)
我认为可以安全地假设使用sRGB色彩空间对RGB值进行编码,作为演示,我将使用来自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 Color出版物以获取实际信息 物理颜色标准。
它没有回答你的问题,但希望仍然有用。
答案 1 :(得分:0)
紫色是一种难以辨认的颜色(视觉上)。打印机(和照相机传感器)吸收这种颜色。
但你认为“PANTONE Purple C”在sRGB和CMYK色域上。这通常不是真的,许多Pantone颜色更加生动,我们可以在普通(sRGB)屏幕上显示或打印(在CMYK打印机上)。
因此,我假设两个值(RGB和CMYK)是相应色域上与真正的紫色C最接近的点。但如果你把一个变换到另一个,你就得到了“假紫色C”的对应关系。
此外,Pantone颜色是专色,因此Pantone和RGB之间没有一对一的关系。 Pantone颜色可能具有RGB值(可能是sRGB,可能是Adobe RGB或DCI-P3或CIE RGB或Rec.2020或......),但RGB值没有太多信息可以告诉您颜色看起来如何在不同的灯光下。
注意:我不是Pantone被许可人,所以我无法验证理论(实际上我有一些Pantone许可证,因为我欠的XRite设备很少,但......)。