首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CIE颜色空间中可见色域的边界

CIE颜色空间中可见色域的边界
EN

Stack Overflow用户
提问于 2014-03-31 10:31:50
回答 1查看 4.2K关注 0票数 2

我想知道是否有任何数学方法来确定可见光谱/色域的边界(例如,Lab,XYZ)。提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2015-04-18 00:06:18

嗯..。这似乎是一个不太好的公式,一个有效的问题。

正如boscarol所指出的,人类色域的边界是由您将决定使用的"color matching functions"决定的,它指的是您需要的"standard observer"类型,即2° (1931, often used)10° (1964, a bit rare),或类似于cvrl.org proposed 2006 observers (2° or 10°)之类的新东西。

要获取您在消息中放置的CIE xy 1931 chromaticity diagram中的点,您必须将转换XYZ to Yxy应用到标准的观察者CMF数据中的3种颜色匹配函数x_bar, y_bar and z_bar中。这里:http://www.cvrl.org/然后检查CMFs并选择一个文件下载。

spectrum locus (人类观察者的范围的极限)的坐标是,对于每个波长,您将从XYZ to Yxy转换获得的xy坐标,对于ex。在Python 2.7中:

代码语言:javascript
复制
def XYZ_to_Yxy(X,Y,Z):
    """for each wavelength of the CMFs, you will replace X, Y, Z by x_bar, y_bar, z_bar here..."""

    x = X/(X+Y+Z)
    y = Y/(X+Y+Z)

    return Y,x,y

编辑我忘记提到,spectrum locus只是曲线部分的限制。底部的直线称为"line of purples",为了在图中得到它的xy坐标,您可以简单地在对应于380 nm (蓝-紫)和730 nm (极端红色)的点之间跟踪一条直线。

这种技术的缺点是,它只会给您chromaticity (2D)的限制,而真正的设备应该在3D中。

为了解决这个更复杂的问题,有一些算法可以在CIE L*a*b* color space中绘制一个范围,例如,在这个网站的某个地方描述了这些算法:

http://www.brucelindbloom.com/index.html?LabGamutDisplayHelp.html

祝好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22759297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档