这是我正在处理的代码的一部分。看最后一行。
def xyz2srgb(xyz):
"""Convert from XYZ colorspace to sRGB"""
xyz = xyz.T
srgb = N.zeros_like(xyz)
srgb[0] = 3.241*xyz[0] - 1.5374*xyz[1] - 0.4986*xyz[2]
srgb[1] = -0.9692*xyz[0] + 1.876*xyz[1] + 0.0416*xyz[2]
srgb[2] = 0.0556*xyz[0] - 0.204*xyz[1] + 1.057*xyz[2]
srgb /= float(srgb.max())
a = 0.055
srgb = N.where(srgb <= 0.0031308,
12.92*srgb,
(1+a)*srgb**(1/2.4)-a)
它抛出一个错误:
./example.py:29: RuntimeWarning: invalid value encountered in power
(1+a)*srgb**(1/2.4)-a)
这是一些范围限制吗?我在 SO 上找到了一个类似的线程:Numpy 错误:在电源中遇到无效值
有什么线索吗?谢谢。