【问题标题】:why the r in rgb value is not correct when converting rgb to hsl in colorsys package为什么在 colorsys 包中将 rgb 转换为 hsl 时 rgb 值中的 r 不正确
【发布时间】:2020-08-06 10:57:26
【问题描述】:
import colorsys
print(colorsys.rgb_to_hls(92/255, 137/255, 78/255))

[0.29378531 0.42156863 0.2744186]

饱和度(S),亮度(L)是正确的(根据website),但是色相应该是106,我不确定哪里有问题?

【问题讨论】:

  • 为什么?它的描述是“......所有这些颜色空间中的坐标都是浮点值。在 YIQ 空间中,Y 坐标在 0 和 1 之间,但 I 和 Q 坐标可以是正数或负数。在所有其他空间中,坐标都在 0 和 1 之间。” 360 * 0.29378531 产生 106 (-ish)。
  • 为什么你的标题说r不正确,而你的问题却说色相是错误的?
  • 当你缩放输入时,你应该缩放输出

标签: python numpy colors rgb hsl


【解决方案1】:

colorsys.rgb_to_hls 的输出以每单位的份数表示(介于 0 和 1 之间):

106/360=0.294

您可以在下图中看到colorsys的功能的允许值:

【讨论】:

  • @usr2564301 这实际上是一个不明智的挑剔。 0.294 百分比,以及 29.4/100 和 29.4 %(这只是 29.4/100 的简写符号)。大卫,如果你认为百分比更容易理解,你当然可以说百分比
猜你喜欢
  • 1970-01-01
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
相关资源
最近更新 更多