如何采用以RGB值表示的颜色(例如,0-255中的三个坐标)并从中生成一个开尔文(或mireds)的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,colors
来源: https://codeday.me/bug/20190516/1115099.html