2017-12-26 7 views
0

ich ein RGB-Bild in lab durch diesen Befehl umgewandelt:Nach der Umwandlung von rgb zu lab es Problem von Matplotlib aufwirft?

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

Allerdings, wenn ich zu meinem Algorithmus zu segmentieren schicken und zeige dann durch matplotlib.pyplot, ich folgende Fehlermeldung erhalte (es ist ein langer Fehler aber dies ist der letzte Teil):

/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> 

dies der Teil des Codes, die matplotlib ruft:

# 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() 

kann mir bitte jemand helfen, herauszufinden, was der Grund ist und wie kann ich es lösen?

Dank

+0

es zu RGB (A) Konvertieren zurück vor dem Plotten ... das ist was pyplot erwartet. – grovina

+0

Ich habe von skimage konvertiert, bekomme aber immer noch Fehler, deshalb habe ich hier gepostet. Danke für deinen Kommentar –

+2

Könntest du bitte die Ausgabe von 'lab2rgb's Form, Min, Max und Dtype posten? – grovina

Antwort

0

Nach einem Beitrag habe ich here fand es scheint, dass Sie negative Werte nach der Segmentierung erhalten, die wie dies als Problem auftauchen.

Lösung, die auf sie geschrieben wird, scheint

Value<0 equate the value to 0 

Lösung zu sein scheint den Link gearbeitet haben überprüfen oben, wenn es hilft Ihnen auch

Verwandte Themen