xyY 色坐标看起来不正确

xyY color locus does not look correct

我刚刚完成了将 xyY 颜色转换为 RGB 的任务。我使用的是 sRGB 颜色 space.

当我遍历 x 和 y 坐标时,这是我得到的输出:

白点 (D65) 用黑色像素标记。

然而,这是我应该得到的:

我尽力裁剪了色域(我生成了边界线,然后使用 Photoshop 删除了那些边界之外的部分)但是很明显白色区域太大,红色区域太小等等。

我测试了几种不同的 XYZ 颜色,并用我的程序将它们转换为 RGB,this website 并且它们匹配,在误差范围内 (<0.1)。

关于可能导致这些问题的原因有什么想法吗?

编辑

看来我的输出与 完全一样。

(如果我不夹的话)

这让我相信也许我没有做错任何事,但仍然无法解释为什么维基百科的色域不同。

你应该显示代码,但我大概能猜到。

颜色为 tri-dimentional。对于 CIE xy 图,只需在图上涂上一些颜色。通常它们不仅仅是投影,而是陌生的表面。

根据如何添加原色,您经常会看到两种:加法和减法。有时你的情况是错误的。

在减色上,你只需将数字相乘(颜色从 0 到 1)。加法(如您所愿):添加组件,然后将值标准化为 Y=1(可能仅当 Y>1 时),然后进一步缩放。所以你会保持色调,但颜色不会被剪裁(注意:缩放时,你应该考虑到 R,G,B 在 Y 中的不同权重)。

你的情况似乎是错误的:你添加了颜色,只是你剪辑 R 或 G 或 B 不超过最大值(1、100 或 255)。但是这个:改变色调,使颜色暗淡。 (也许你只是做了减色,所以乘法,但视觉上有些地方不对)。