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!
Exif-Daten in JPG's
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
EXIF Daten bekommst du mit exif.py...
Schau mal hier: http://www.mactricks.de/Programmieren/P ... umb_create
Schau mal hier: http://www.mactricks.de/Programmieren/P ... umb_create
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:
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:
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
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
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
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?
Oder hast du mittlerweile eine andere Lösung gefunden?
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!
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
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
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.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!