Von colormap auf graustufen

08/07/2009 - 20:41 von Thom | Report spam
Hi,
um ein Bild aus Graustufen in Falschfarben umzuwandeln, gehe in etwa
ich folgendermaßen vor:

from pylab import *
import Image
bild=Image.open("test.png")
bild=Image.fromarray((cm.jet(array(bild.convert(mode="L")))[:,:,0:3]
*255).astype("uint8"))
bild.save("test_bunt.png")
(das [:,:,0:3] ist weil cm.jet(...) wohl n bild mit alpha-kanal
ausgibt, mich interessiert aber nur RGB = [0:3])

Wie kann ich jetzt ein solches farbiges Bild wieder in Graustufen
umwandeln, wenn ich die colormap kenne, mit der die farbige Version
erstellt wurde? Gibts da nen Trick?

Danke schonmal, ciao
Thom
 

Lesen sie die antworten

#1 Diez B. Roggisch
08/07/2009 - 21:56 | Warnen spam
Thom schrieb:
Hi,
um ein Bild aus Graustufen in Falschfarben umzuwandeln, gehe in etwa
ich folgendermaßen vor:

from pylab import *
import Image
bild=Image.open("test.png")
bild=Image.fromarray((cm.jet(array(bild.convert(mode="L")))[:,:,0:3]
*255).astype("uint8"))
bild.save("test_bunt.png")
(das [:,:,0:3] ist weil cm.jet(...) wohl n bild mit alpha-kanal
ausgibt, mich interessiert aber nur RGB = [0:3])

Wie kann ich jetzt ein solches farbiges Bild wieder in Graustufen
umwandeln, wenn ich die colormap kenne, mit der die farbige Version
erstellt wurde? Gibts da nen Trick?



Garnicht. Um mal mit ein paar rostigen Mathekenntnissen einen
Erklaerungsversuch zu starten: Deine Abbildung von Farbe -> Grau ist
nicht bijektiv, d.h. sie ist nicht invertierbar - zwei oder mehr Farben
werden auf einen Grauwert abgebildet. Was auch recht klar im
Speicherbedarf wird - aus 24Bit/Pixel auf 8Bit.. da geht n bueschen was
verloren.

Diez

Ähnliche fragen