Obtener información EXIF e IPTC desde línea de comandos

exif

Cuando se manejan imágenes de agencias y/o propias que tienen cierta información incrustada en el archivo JPG es necesario para almacenar o manipular tener dichos datos de manera amable. Hay varios métodos para obtener la información, para ver el contenido de EXIF de forma cruda podemos utilizar el script llamado exiftool desde la línea de comandos:

sudo apt-get install exiftool # sólo en caso que no esté instalado
# suponiendo que el archivo está en /tmp/example.jpg y queremos la información en JSON:
exiftool -j /tmp/example.jpg
# lo anterior nos genera una salida tipo:
[{
  "SourceFile": "/tmp/example.jpg",
  "ExifToolVersion": 9.46,
  "FileName": "example.jpg",
  "Directory": "/tmp",
  "FileSize": "3.2 MB",
  "FilePermissions": "rw-r--r--",
  "FileType": "JPEG",
  "MIMEType": "image/jpeg",
  "n": "n"
}]

Esa información que nos regresa trae datos interesantes como el tipo de cámara con la cual fue tomada (si no está editado el archivo y eliminada dicha información), velocidad de disparo, ISO y otras cuestiones técnicas. Además de alguna descripción breve de la foto, aunque si queremos más información es necesario obtener las etiquetas IPTC.

Para IPTC vamos a utilizar un script escrito en PHP y obtendremos la información para por ejemplo mostrarla en una página web o bien almacenarla en una base de datos para después utilizarla.

<?php 
   /* obtener información IPTC de imagen @ToRo */
   $file ="/tmp/example.jpg"; getimagesize($file,$info); $info = iptcparse($info["APP13"]); 
   //definimos algunas etiquetas
   $meta = Array( "2#080" => "autor",
      "2#090" => "ciudad",
      "2#101" => "pais",
      "2#120" => "descripcion",
      "2#105" => "title",
      "2#015" => "categ",
      "2#025" => "keywords"
   );
   if(!empty($info)) {
      $foto = []; //información
      foreach($info AS $tag => $tdata) {
         if(isset($meta[$tag])) {
            $foto[$meta[$tag]] = implode(" ",$tdata);
         }
      }
      print_r($foto);
   }

Hasta ahí y si tiene información tendríamos los datos en el array $foto. Por supuesto, hay más etiquetas pero esas son las que normalmente llenan los editores de fotografía como Ligthroom o Photoshop.

Una vez procesada la información ya la podemos manipular conforme a nuestras necesidades. Con este tipo de herramientas es posible obtener la información de la ubicación (GPS) en caso de que traiga de donde fue tomada la fotografía.

+ fotos

Almacenado en Software, Linux, Fotografía

por Jorge Martínez Mauricio :)



¿Algo que comentar?


Suscríbete por correo electrónico, recibirás los nuevos escritos antes que nadie y es gratis 😊

¿Ya conoces los foros de tar?

Relacionadas

    Fotografías de

    tar.mx es un blog sobre fotografía, tecnología y otras chunches