Colors 为什么1931 CIE xyY色度图中的颜色是白色?
当我们看1931年CIE色度图时,在xyY空间的x-y平面内表示,它在亮度点(如此处用E突出显示的D65点)呈现白色(或接近白色) 但为什么会这样呢?D65的点应表示为Colors 为什么1931 CIE xyY色度图中的颜色是白色?,colors,rgb,srgb,gamut,chromaticity,Colors,Rgb,Srgb,Gamut,Chromaticity,当我们看1931年CIE色度图时,在xyY空间的x-y平面内表示,它在亮度点(如此处用E突出显示的D65点)呈现白色(或接近白色) 但为什么会这样呢?D65的点应表示为x=0.33,y=0.33。给定公式Y=1-x-Y,这不意味着Y是0.34吗 根据我的发现,在0.33,0.33,0.34处的sRGB相关或xyY是158.4182155.5676176.8565。这是浅棕色,而不是1931年的色度图中所见的近白色 似乎我需要缩放Y以获得每个通道的适当亮度值 使用Y=1-x-Y公式,我的图看起来
x=0.33,y=0.33
。给定公式Y=1-x-Y,这不意味着Y是0.34吗
根据我的发现,在0.33,0.33,0.34
处的sRGB相关或xyY是158.4182155.5676176.8565
。这是浅棕色,而不是1931年的色度图中所见的近白色
似乎我需要缩放Y以获得每个通道的适当亮度值
使用Y=1-x-Y
公式,我的图看起来像这样,一个静音图:
我不明白什么
编辑
如果设置Y=1,则下图所示更好
编辑
现在看起来像下图
CIE 1931的白点不在
x=1/3
,y=1/3
,白色不在x=1/3
,y=1/3
根据:
D65的CIE 1931颜色空间色度坐标为x=0.31271
y=0.32902 由于D65代表白光,其坐标也是一个白点,对应于6504 K的相关色温。在HDTV系统中使用的记录709将CIE 1931坐标截断为x=0.3127,y=0.329 x=1/3,y=1/3的含义不同: 在波长方面具有平坦功率谱的光(每1nm间隔中的等功率)对应于点(x,y)=(1/3,1/3) 重要提示:D65不是“平坦功率谱” 计算机系统(PC)使用彩色格式。
在sRGB中,颜色分量在伽马之后(与CIE 1931应用线性曲线形成对比) 在xyY颜色空间中,x,y是色度,y是亮度。
x=0.31271
,y=0.32902
是不带亮度的色度,应用灰色色度。对于白色,使用
Y=1
用于HDTV系统的记录709将CIE 1931坐标截断为x=0.3127,y=0.329 让我们计算
x=0.3127
,y=0.329
,y=1
,的sRGB:
X=(Y/Y)*X=0.95046
Y=1
Z=Y/Y*(1-x-Y)=1.0891
Rlinear 3.240600-1.537200-0.498600 X 0.99984
Glinear=-0.968900 1.875800.041500*Y=1.00010
Blinear 0.055700-0.204000 1.057000 Z 1.00007
假设结果是1,1,1
最后一个阶段是应用gamma将“线性sRGB”转换为sRGB。由于所有值均为1,因此结果为sRGB=
1,1,1
我们可以重复计算
Y=0.2
,结果是线性sRGB=0.2,0.2,0.2
应用伽马:伽马(u)=1.055*u^(1/2.4)-0.055
1.055*0.2^(1/2.4)-0.055=0.48453
因此,sRGB=
0.48453、0.48453、0.48453
要转换为标准范围[0255](每个颜色通道一个字节),我们需要按255进行缩放并对结果进行四舍五入:RGB888=
124124124
色度图的解释有些不精确
CIE xyY是一个3D图形。通常我们只看到一个投影(通常不是相交平面,只是一个投影)
一种常见的投影是“加法”xy色度图。你可能会注意到它,因为它的边框是黄色的,中间的某个地方是白色的。在这种投影中,给定色度x,Y,表示最大Y
常见的还有“减法”图表,就像你的第二个一样。没有黄色,就没有白色。这张图只有原色的减法混合,所以较亮的颜色是原色,而它们之间的颜色变暗
注:通常色度图也扩展到了色域之外,因此原色不再是真正的原色,白色不能是白色,黄色可以被切掉,如图所示。你可以先试着在原色之间画一个三角形,然后再展开。它更容易调试
白色将正好位于3D图形的顶部。在第一种情况下,你取色域的外表面,所以你得到白色。在第二种情况下,图形中有一个平面,因此永远不会变成白色。但它仍然是xy色度图
就您的情况而言,我认为您剪裁了颜色值(注1),这是错误的:通过剪裁,您将无法获得正确的色度(通过剪裁,可以删除颜色的某个值,因此通道之间的比率无法保持)。在进行规格化(通道值在0到255之间)之前,应使用浮点或更大的数字进行计算。[标准化(在本例中):保持色度,但调整Y以使最终颜色在色域中]。在实践中:您得到R
、G
、B
之间的最大值,然后将每个通道乘以255/max(R,G,B)
注意:这不是完全正确/精确的。上述归一化应在线性空间(光线线性混合)中进行,并且只有在归一化后,才应应用伽马函数。另一方面,在上面的图中,我们没有每个点x,y的正确颜色。我们只能在三角形(色域)上正确地做这件事。通过将屏幕上的可用颜色扩展到完整的xz色度,我们会产生错误/不精确。因此,伽马校正前后的标准化并不那么重要(它只是稍微改变了颜色)
注1:来自评论:这(剪辑)不是真的,奥托