2016-12-08 3 views
1

Mein Programm erzeugt einige numpy Array während des laufenden Prozesses geöffnet wird, speichere ich sie mitdas gespeicherte Bild kann nicht

from skimage import io 
    io.imsave("img.tif",imgs[0,0]) 

Die imgs vom Typ float32, Form (1,1,128,128); während der Maximalwert 1.0 ist und der Minimalwert 0.0 ist. Das Bild wird korrekt gespeichert. Jedoch, wenn ich es öffne, habe ich die folgende Fehlermeldung erhalten. Was kann der Grund?

enter image description here

+0

versuchen zu 8-Bit-uint konvertieren? 'io.imsave (" img.tif ", (imgs [0,0] * 255) .astype (np.uint8))' – Aaron

Antwort

0

Nach der Prüfung, was ich in den Kommentaren vorgeschlagen, ich bin ziemlich sicher, dass Ihre genaue Problem. (Ich reproduzierte den genauen Fehler)

TIFF-Bilder unterstützen nicht nur einen beliebigen Farbraum. Häufig unterstützte Typen sind 8-Bit-Graustufen, 16-Bit-Graustufen, Bi-Level (Binär), Farbpalette, RGB (24 Bit typisch).

convert zu 8-Bit-Graustufen (wahrscheinlich am häufigsten nach rgb unterstützt) mit dieser edit:

io.imsave("img.tif",(imgs[0,0]*255).astype(np.uint8)) 
Verwandte Themen