我通过此命令将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()
有人可以帮助我找出原因,我该如何解决?
由于
答案 0 :(得分:0)
根据我发现here的帖子,似乎在分割之后你会得到负值,就像这样出现问题。
在其上发布的解决方案似乎是
Value<0 equate the value to 0
解决方案似乎已经起作用,如果它对您有帮助,请检查上面的链接