如何获取以RGB值表示的颜色(例如,三个坐标从0-255)并从中产生以开尔文表示的color temperature(或杂色)?

我看到this question看起来很近。但是,问题提到x和y,an answer提到R1和S1,我认为它们是CIE XYZ颜色空间坐标。我也不太确定该如何去那些人。其他人链接到论文。其他人says RGB值在没有“声明色彩空间”的情况下是没有意义的(我以为我的显示器决定仅从RGB值显示某些内容?)。

有人可以在不指向其他地方的情况下简单地布置整个事情,并且假设我知道所有颜色术语是什么吗?

最佳答案

您可以使用Colour使用colour.xy_to_CCT_Hernandez1999定义执行该计算:

  import numpy as np
  import colour

  # Assuming sRGB encoded colour values.
  RGB = np.array([255.0, 235.0, 12.0])

  # Conversion to tristimulus values.
  XYZ = colour.sRGB_to_XYZ(RGB / 255)

  # Conversion to chromaticity coordinates.
  xy = colour.XYZ_to_xy(XYZ)

  # Conversion to correlated colour temperature in K.
  CCT = colour.xy_to_CCT(xy, 'hernandez1999')
  print(CCT)

  # 3557.10272422

关于python - 如何从RGB值转换为色温?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38876429/

10-10 04:54