【发布时间】:2012-11-24 20:15:53
【问题描述】:
我想为 XYZ CIE 颜色模型画一个剖面图,像这样:
你知道怎么做吗?
【问题讨论】:
标签: colors
我想为 XYZ CIE 颜色模型画一个剖面图,像这样:
你知道怎么做吗?
【问题讨论】:
标签: colors
非常简短...
您可以通过为标准观察者绘制 xy(我有 XY 而不是 xy)数据来绘制谱线(马蹄形)。然后,您可以通过对这些点应用凸包算法来找到需要填充的多边形。列出要在多边形内绘制的 xy 值。通过z = 1 - x - y 查找固定亮度的 z 值。转换为 RGB - 您将需要一个名为 XYZtoRGB 之类的函数(有一个 python 模块,或使用维基百科上的转换)。您可能希望先将所有数字乘以常数或其他值来增加亮度。将 xy 位置的像素设置为 RGB 值。与您计算的凸包和/或谱线一起绘制。
我有标准 2deg(我认为)观察者的数据(我找不到链接) - 您需要除以 X+Y+Z 才能从 XYZ 转换为 xyz。如果你想让我把它们发给你,请给我发消息,这里的数据太多了。
【讨论】:
z = 0,因为log 0 = -infinity而被省略。遍历马蹄形中的所有 xy 点。颜色只是从 xyz 到 rgb 的转换。 brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
colour Python 模块有一个plotting 子模块,其中这种绘图是提供的绘图之一。请参阅 plot_chromaticity_diagram_CIE1931 和 plot_sds_in_chromaticity_diagram_CIE1931 的文档
它在底层使用 Matplotlib。
【讨论】: