我可以使用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。
答案 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]]])