我有以下代码:
def _cmap2rgb(cmap, step):
from matplotlib import cm
return getattr(cm, cmap)(step)
将转换颜色贴图并返回0到255之间给定步长的RGBA值。
结果说:
>>> _cmap2rgb('Blues', 0)
(0.9686274528503418, 0.9843137264251709, 1.0, 1.0)
我希望RGB值在0到255之间。有没有办法将它转换为这些值?
所以输出是这样的:
(0,0,255,1)
第四个值是alpha。
我想确保这一点,但我想我只需要将我的值乘以255以获得正确的值以确保1:1的颜色匹配?
答案 0 :(得分:3)
是的,您需要将这些值乘以255.实际上,每个cmap都有参数'bytes':
字节:bool 如果为False(默认值),则返回的RGBA值将浮动 间隔
[0, 1]
否则它们将在间隔中为uint8s[0, 255]
。
def _cmap2rgb(cmap, step):
from matplotlib import cm
return getattr(cm, cmap)(step, bytes=True)