EXIF információk módosítása parancssorból

Márc. 14

Gyakran előfordul, hogy módosítanunk kell egy fénykép metaadatait. A leggyakoribb ok, hogy elállt a fényképezőgép órája, és ezért hibás a felvétel időpontja. A másik gyakori gond, hogy az egyszerűbb gépek nem érzékelik, ha elforgatva készítettük a képet.

A Debian Linuxban három parancssori eszközt találunk, amivel az exif adatokat módosíthatjuk. Az exfistran csomagan található exiftran parancs a képek elforgatására használható, az exiftags csomagban lévő exiftime az idő-adatok megváltoztatására ideális, a libimage-exiftool-perl csomagban lévő exiftool paranccsal pedig minden exif paramétert módosíthatunk.

Elforgatás
Az elforgatásra az exiftran az ideális eszköz. Azon túl, hogy minőségromlás nélkül forgatja el a képet, az exiftran nem csak az Orientation mezőt írja át, de a kép szélességét-magasságát is felcseréli, újragenerálja az exif thumbnail-t, és ami a legfontosabb, érintés nélkül hagyja a további exif adatokat! Képes több képet kezelni, a fájl dátumát megtartva.

exiftran -i -p -9 image*.jpg  # Óramutató irányú elforgatás
exiftran -i -p -2 pic*.jpg    # Ellentétes irányú forgatás

Időpont módosítás
Az exiftime parancs előnye, hogy egyszerre állítja át a képhez tartozó mindhárom időpontot (Created, Generated, Digitized).
Az alábbi paranccsal minden képünk időpont-adataihoz hozzáadunk 5 napot 3 órát és 18 percet:

exiftime -q -fw -v+5d -v+3H -v+18M *.jpg

Az exiftime viszont sajnos módosítja a fileok dátumát, ezért azt vissza kell állítanunk:

for i in *JPG; do
  touch -t $(exiftime $i| head -1|sed "s/.*: //;s/[: ]//g;s/\(..\)$/.\1/") $i
done

Következő bejegyzés Előző bejegyzés