【发布时间】:2013-03-04 18:01:01
【问题描述】:
我正在使用 python 的 colorsys 库将 RGB 颜色值转换为 HLS。只是为了验证,我尝试转换回 RGB 并得到不同的值。由于精度问题,我可以理解细微的差异,但这些值有很大的不同。
这是我的代码:
import colorsys
r=192
g=64
b=1
hlsval = colorsys.rgb_to_hls(r,g,b)
rgbval=colorsys.hls_to_rgb(hlsval[0],hlsval[1],hlsval[2])
print hlsval, rgbval
输出:
(0.16666666666666666, 96.5, -1.0) (191.99999999999994, 192.0, 1.0)
绿色值下降超过 200%
我尝试了一些其他值,但每次其中一个组件都会大幅关闭。我错过了什么吗?
【问题讨论】:
-
a,b和c的值? -
@AshwiniChaudhary:很明显,他在某处得到了相当于
a, b, c = r, g, b的东西(或者他只是没有忘记编辑他的代码以使用r, g, b而不是a, b, c或其他东西),因为这些正是您使用a, b, c = 192, 64, 1获得的值。 -
是的,很抱歉。我现在已经改正了。
标签: python colors rgb color-space