我正在使用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
的值是多少? - Ashwini Chaudharya,b,c = r,g,b
的代码(或者他只是忘记编辑他的代码使用r,g,b
而不是a,b,c
之类的),因为这些值正好是你用a,b,c = 192,64,1
得到的值。 - abarnert