使用skimage.color.rgb2lab()将RGB三元组转换为LAB三元组

时间:2016-05-28 23:59:58

标签: python python-2.7 colors

我可以使用skimage.color.rgb2lab()将图像从RGB颜色空间转换为LAB颜色空间。但是当我尝试将单个RGB三元组转换为LAB三元组时

rgb_color = [0.1,0.2,0.3]
lab_color = color.rgb2lab(rgb_color)

我收到以下错误:

ValueError: the input array must be have a shape == (.., ..,[ ..,] 3)), got (3)

这样做的正确方法是什么?我使用的是Python 2.7。

1 个答案:

答案 0 :(得分:9)

rgb2lab()需要3D(或4D)图像;你传给它一个数字列表。

尝试给它一个像素的图像:

>>> from skimage import color
>>> rgb_color = [[[0.1,0.2,0.3]]]  # Note the three pairs of brackets
>>> lab_color = color.rgb2lab(rgb_color)
>>> lab_color
array([[[ 20.47616557,  -0.65320961, -18.63011548]]])