Sacando jugo a EXIF, en consola (y en nautilus)

Esta receta recoge algunas herramientas que pueden resultar interesantes para trabajar con las cabeceras EXIF de los JPEG. Si lo que buscas es modificar la imagen propiamente dicha, mira la receta titulada Edición de imágenes en consola, con ImageMagick.

Ingredientes

Obviamente depende de lo que quieras hacer. Aquí se listan los paquetes debian implicados:

  • jhead
  • exiftran

Introducción

Casi todas las cámaras digitales de hoy en día guardan junto a la foto JPEG una cabecera con meta información en formato EXIF. Y muchas de ellas almacenan en esa cabecera información muy interesante como la fecha y hora o la orientación que tenía la cámara en el momento de tomar la foto.

Autorotar fotos

Hay varios programas libres que pueden leer la información de orientación de la cabecera EXIF, rotar la foto sin que pierda calidad y actualizar además la información de orientación, todo automágicamente.

Con exiftran

$ exiftran -api *.jpg

Con jhead

$ jhead -autorot *.jpg

jhead tiene la ventaja de que sólo procesa las imágenes que realmente lo necesitan.

Aquí pongo la versión “g-script” para hacerlo desde nautilus. Escribe lo siguiente en un fichero de texto llamado .gnome2/nautilus-scripts/autorotate_jpgs y dale permisos de ejecución:

#!/bin/bash
jhead -autorot $*

Renombrar fotos según la fecha de captura

Imagina que tienes un montón de fotos JPEG que has descargado de una cámara y que tienen nombres tan poco amigables como DCP_134 ó IMG_234. La idea es cambiar automáticamente el nombre de esos ficheros poniéndoles la fecha y la hora a la que fueron tomadas. Esa información se puede sacar de nuevo de la cabecera EXIF.

Lo más práctico es poner un nombre del tipo año-mes-día_hora:minuto.jpg porque de ese modo puedes ordenar las fotos cronológicamente con cualquier navegador de ficheros.

jhead en realidad es muy flexible y permite indicar el formato de fecha que quieras. Se muestra un ejemplo para el formato del que hablaba antes:

$ jhead -exonly -n%Y-%m-%d_%H:%M_ *.jpg

Usando -exonly, el programa pasará por alto todos los .jpg que no tengan información EXIF, es decir, que no proceden de la cámara digital.

Si quieres hacerte otro g-script para nautilus también con esto, ya has visto que es complicadísimo. Eye-wink

Fechar ficheros según la fecha de captura

Muchos de los programas que se utilizan para extraer las fotos de la cámara ponen a los ficheros la fecha del momento de la extracción. Esta fecha también cambia se editas la foto para arreglar algún problema o añadir un efecto.

La idea es poner a los ficheros la fecha del momento de la captura para (como en el caso anterior) poder ordenar las fotos en un navegador de ficheros conforme a su fecha.

$ jhead -ft *.jpg