You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用colour库指定D50白点转色时出现CCS_ILLUMINANTS属性错误咨询

问题原因

你使用的colour(即colour-science)库版本较新,CCS_ILLUMINANTS属于旧版本的废弃API,在当前版本中已经被移除,因此触发AttributeError报错。

解决方案

有两种可行的修改方式:

方式一:直接传入白点名称(更简洁)

colour库的色彩空间转换方法本身支持直接传入白点的标准名称字符串,不需要手动获取坐标常量,修改后代码如下:

import numpy as np
import colour

rgb = np.array([100, 80, 20]) / 255
xyz = colour.sRGB_to_XYZ(rgb, illuminant="D50")
print(colour.XYZ_to_Lab(xyz, illuminant="D50"))

方式二:使用新版API手动获取D50坐标

如果你确实需要拿到D50白点的具体色度坐标值,使用新版库对应的ILLUMINANTS常量即可:

import numpy as np
import colour

rgb = np.array([100, 80, 20]) / 255
D50 = colour.ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D50']
xyz = colour.sRGB_to_XYZ(rgb, illuminant=D50)
print(colour.XYZ_to_Lab(xyz, illuminant=D50))

两种方式都可以正常完成基于D50白点的RGB到Lab值转换。

内容的提问来源于stack exchange,提问作者Ghoul Fool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:36:01