从rgb转换到实验室后,matplotlib引发了问题?

时间:2017-12-26 11:17:48

标签: python python-2.7 matplotlib anaconda scikit-image

我通过此命令将RGB图像转换为lab

im_lab=skimage.color.rgb2lab(im, illuminant='D65', observer='2')

然而,一旦我发送到我的算法进行分段然后通过matplotlib.pyplot显示,我收到以下错误(这是一个很长的错误,但这是最后一部分):

/home/xxx/anaconda2/envs/lda-nv/lib/python2.7/site-packages/matplotlib/cm.pyc in to_rgba(self, x, alpha, bytes, norm)
    255                 if xx.dtype.kind == 'f':
    256                     if norm and xx.max() > 1 or xx.min() < 0:
--> 257                         raise ValueError("Floating point image RGB values "
    258                                          "must be in the 0..1 range.")
    259                     if bytes:

ValueError: Floating point image RGB values must be in the 0..1 range.

<matplotlib.figure.Figure at 0x7f14e4dfa990>

这是调用matplotlib的代码部分:

# displaying the result
    fig = plt.figure()
    a = fig.add_subplot(1, 2, 1)
    plt.imshow(in_image)
    a.set_title('Original Image')
    a = fig.add_subplot(1, 2, 2)
    print(output.shape)
    plt.imshow(skimage.color.lab2rgb(output,illuminant='D65', observer='2'))
    a.set_title('Segmented Image')
    plt.show()

有人可以帮助我找出原因,我该如何解决?

由于

1 个答案:

答案 0 :(得分:0)

根据我发现here的帖子,似乎在分割之后你会得到负值,就像这样出现问题。

在其上发布的解决方案似乎是

Value<0 equate the value to 0

解决方案似乎已经起作用,如果它对您有帮助,请检查上面的链接