Canon-Kameras, Python-PIL und die EXIF-Daten
Mittwoch, 12. Oktober 2022
Vorgestern Abend stieß ich auf ein … interessantes Problem.
Projekt: downscaler (Git-Repo: Downscaler; clonen geht derzeit noch nicht wieder, aber man kommt über den „snapshot“-Link an die Datei-Inhalte). Geschrieben in Python3 mit den externen Modulen PIL (pillow) und piexif.
Das recht einfache Python-Script rotiert die JPG-Dateien aus einem Verzeichnis (bei Bedarf) und skaliert sie dann – sofern das Original größer ist – so herunter, daß die breitere Seite 1200 px hat. Das Ergebnis wird unter demselben Dateinamen in ein anderes Verzeichnis gespeichert. Das Original wird dabei nicht verändert. So weit, so gut.
Bisher habe ich das beim Bearbeiten mit The GIMP direkt mitgemacht. Das bedeutet aber auch, daß ich selbst solche Fotos, an denen ich sonst gar nichts editieren will, in GIMP holen, ggf. rotieren, runterskalieren und wieder abspeichern muß. Sich wiederholende Tätigkeiten sollte man doch besser einem Computer überlassen, weil der das schneller kann, nicht wahr? 🙂 (mehr …)
Spaß mit EXIF und datetime-Objekten in Python3
Freitag, 7. Januar 2022
Seit Frühjahr 2009 fotografiere ich regulär mit digitalen Spiegelreflexkameras. Diese Kameras schreiben eine Menge interessante Informationen in die EXIF-Daten der Bilddateien – zum Beispiel den Zeitstempel der Aufnahme. Allerdings geht das so ein bißchen in die Hose, wenn man verpeiltermaßen vergißt, der Kamera zu erklären, wann Sommer- und wann Normalzeit ist. Dann hat man unter Umständen ein Foto, auf dem zufälligerweise eine Kirchturm- oder Bahnhofsuhr abgebildet ist mit einem Zeitstempel, der eine Stunde vorher oder danach anzeigt.
Das ist mir schon einige Male passiert, und ich habe jetzt nicht wenige Fotos, bei denen die EXIF-Zeitstempel halt nicht stimmen. Und so nebenbei dann auch die Dateinamen nicht, denn die kommen zwar als IMG_nnnn.JPG von den Kameras (wobei nnnn einfach eine laufende Nummer ist, die auf 0001 zurückspringt, wenn die 9999 erreicht wurde), aber direkt nach der Übertragung auf den PC lasse ich da bereits ein eigenes Python-Script drüberlaufen, das die Zeitstempel aus den EXIF-Daten ausliest und die Dateinamen ändert in yyyymmdd-hhmmss_nnnn.jpg. Die Aufgabe war also, zum einen die Zeitstempel direkt in den EXIF-Daten der Fotos zu korrigieren und zum anderen auch die Dateinamen anzupassen.
Hinweis: Das ist jetzt nicht so wirklich eine Anleitung, eher mal wieder so ein „Froschs Lernkurve war mal wieder sehr flach“. (mehr …)