Ich möchte einige Bilder als Stack malen. Dazu greife ich bisher immer noch auf einen inhaltleeren Stack zu. Dann schreibe ich meine Daten.
Das Problem ergibt sich nun an zweierlei Stellen:
1. Wenn ich mit Image.seek(x) an die nächste Stelle gehe, dann gehen Daten verloren und beim wiederholten Aufruf des vorhergehenden Bildes, finde ich alle Pixel wieder mit dem Ausgangswert vor.
2. Wenn ich an der entsprechenden Stelle speichern will. Wird immer nur ein Slide aus dem gesamten Stack gespeichert. Und nicht der gesamte Stack.
bsp:
Code: Alles auswählen
import Image
a=Image.open("viele_bilder_in_einem_stack.tif")
print a
>>> <TiffImagePlugin.TiffImageFile image mode=L size=100x100 at 0xB70DE44C>
a.putpixel((10,10),255)
a.show()
# -> der Pixel an der Stelle (10,10) ist tatsächlich weiß (255)
a.seek(1)
a.seek(0)
a.show()
#-> in der Ausgabe ist der vorher eingefärbte Pixel wieder schwarz (0)
a.putpixel((20,20),100)
a.save("viele_bilder_in_einem_stack_EDIT.tif", "TIFF")
#-> das gespeicherte Bild enthält nur noch einen einzigen Slide. (auf dem allerdings der Pixel (20,20) auch dunkel grau (100) ist.
Ich habe mir schon die Zähne an dieser Frage ausgebissen und bin an dem Punkt, dass ich für jeden Ratschlag sehr dankbar wäre...