Exif-Daten in JPG's

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Exif-Daten in JPG's

Beitragvon HarryH » Freitag 4. November 2005, 08:43

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!
Gruß, Harry
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 4. November 2005, 17:56

EXIF Daten bekommst du mit exif.py...

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

re:

Beitragvon HarryH » Montag 7. November 2005, 11:59

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 ...}
Gruß, Harry
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Mittwoch 9. November 2005, 07:32

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?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

re:

Beitragvon HarryH » Mittwoch 9. November 2005, 09:35

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!
Gruß, Harry
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: re:

Beitragvon jens » Mittwoch 9. November 2005, 10:00

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.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]