Seite 1 von 1

Tiff Dateien korrekt mit PIL speichern...

Verfasst: Mittwoch 16. November 2011, 00:11
von axon
Ich habe folgendes Problem:
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.
Was muss ich tun, um Änderungen dauerhaft in einem Stack zu speichern? und dann auch auf die Platte zu schreiben?
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...

Re: Tiff Dateien korrekt mit PIL speichern...

Verfasst: Mittwoch 16. November 2011, 00:53
von BlackJack
@axon: AFAIK ist das mit PIL nicht möglich.

Re: Tiff Dateien korrekt mit PIL speichern...

Verfasst: Mittwoch 16. November 2011, 12:53
von axon
@ BlackJack: Gibt es denn sonst eine Möglichkeit Tiff's mit mehreren Slides zu bearbeiten oder zu speichern?

Re: Tiff Dateien korrekt mit PIL speichern...

Verfasst: Mittwoch 16. November 2011, 13:22
von BlackJack
Du könntest Dir mal http://code.google.com/p/pylibtiff/ anschauen.

Re: Tiff Dateien korrekt mit PIL speichern...

Verfasst: Mittwoch 16. November 2011, 14:30
von axon
das hatte ich mir schonmal anguckt, fand aber das handling blöde ...
da ich keinen guten anderen Ausweg wusste, bin ich schnell auf java umgesprungen und habe mich ein bisschen an ImageJ bedient, da ist der Umgang mit stacks wesentlich einfacher ... auch wenn man hinterher nicht mehr lesen kann, was man früher mal geschrieben hat und meine codes für ein größeres Projekt jetzt in zwei Sprachen sind ... :roll: :K

danke trotzdem.

Re: Tiff Dateien korrekt mit PIL speichern...

Verfasst: Mittwoch 16. November 2011, 15:09
von BlackJack
@axon: Du könntest ja per Jython auf die Javabibliothek zugreifen. Dann kannst Du bei Python-Syntax bleiben. :-)