Seite 1 von 1

Exif-Daten in JPG's

Verfasst: Freitag 4. November 2005, 08:43
von HarryH
Hallo,

Ich habe mir mit PIL eine kleine Funktion zum Ausschneiden von Bildabschnitten in JPG's geschrieben.

Doch das neue Bild enthält dann keine EXIF-Infos.
Wie kann ich die EXIF-Infos mit in den Ausschnitt übertragen, und gegebenfalls auch verändern?

Danke!

Verfasst: Freitag 4. November 2005, 17:56
von jens
EXIF Daten bekommst du mit exif.py...

Schau mal hier: http://www.mactricks.de/Programmieren/P ... umb_create

re:

Verfasst: Montag 7. November 2005, 11:59
von HarryH
Hallo Jens,

Danke für deine Info!
Die Datei exif.py ist nicht schlecht und gibt alle Exif Informationen aus.
Allerdings habe ich darin keine Möglichkeit entdeckt Exif-Daten auch zu verändern.
Ich möchte nämlich, wie schon oben angedeutet, Bilder ausschneiden, genauer gesagt, Bilder vom 4:3-Format in das 3:2 Format umwandeln. Dabei sollen aber die Exif-Daten nicht verlorengehen, sondern angepaßt werden (z.B. die neuen Abmaße).
Vielleicht gibt es auch in dieser Richtung etwas oder jemand hat eine Idee um das selbst umzusetzen.
Normalerweise müßte man 'nur' den umgekehrten Weg der Funktionen im 'exif.py' gehen, also anstatt die Daten zu lesen sie schreiben.
Kann mir jemand dazu ein paar Tips geben, auf was man dabei achten muss?

Übrigens spuckt PIL auch Exif-Daten aus und zwar mit:

Code: Alles auswählen

imort Image
img = Image.open(path)
img.info
Allerdings habe ich keine Ahnung wie ich aus dem Resultat lesbare informationen erhalten kann. Vielleicht weiß das hier jemand?
Wäre super!
Das Resultat sieht so aus:

Code: Alles auswählen

{'exif': 'Exif\x00\x00II*\x00\x08\x00\x00\x00\n\x00\x0f\x01\x02\x00\n\x00\x00\x00 ...}

Verfasst: Mittwoch 9. November 2005, 07:32
von jens
Wenn du mit PIL die Metadaten in RAW auslesen kannst, sollte man damit eigentlich auch die Daten wieder in ein Bild schreiben können. Aber vielleicht nur für ein gerade von PIL erzeugtes Bild?!?

Oder hast du mittlerweile eine andere Lösung gefunden?

re:

Verfasst: Mittwoch 9. November 2005, 09:35
von HarryH
Hi,

Ich habe noch eine Funktion in der Pil gefunden => img._getexif().
Sie gibt Exif-Daten in einem Dictionary, im ASCI-Format aus.
Allerdings gibt es wohl nichts in der PIL um EXIF-Daten zu editieren und neu zu setzen.
PIL speichert die Images immer ohne EXIF-Header.

Meine einzige Idee ist, den Decode-Vorgang im "Exif.py" in einen Encode-Vorgang umzuschreiben. Ich habe jedoch noch kein genaues Konzept.
Bin für Tips und Ratschläge offen!

Re: re:

Verfasst: Mittwoch 9. November 2005, 10:00
von jens
HarryH hat geschrieben:Meine einzige Idee ist, den Decode-Vorgang im "Exif.py" in einen Encode-Vorgang umzuschreiben. Ich habe jedoch noch kein genaues Konzept.
Bin für Tips und Ratschläge offen!
Das wird sicher irgendwie gehen, ist aber wahrscheinlich sehr Aufwendig... Einfacher geht's vielleicht mit irgendeinem fertigen Kommandozeilentool... Aber ich kenn da auch nix passendes.