EXIF :: Lectura de datos de imágenes, generación de XML
Última actualización: 29-10-2017 20:22
Notas previas
- Hace un par de lustros +/- se publicó un programa llamado GIZMO que permitía la lectura del EXIF de imágenes y la generación de archivos XML con esos datos.
- Ante el cambio visceral de este sitio web de Octubre/2017 se ha tomado la decisión de publicar el código fuente del mismo también.
- ¿Qué hay en el código fuente?
- Clase para leer EXIF.
- Clase para manejo de carpetas especiales de Windows.
- Habilitación de funciones en una clase para guardar/abrir archivos a partir de lo que se encontró en http://www.recursosvisualbasic.com.ar/htm/listado-api/api-27.htm
- Clase con funciones para manejo de cadenas/strings.
- Control para mostrar imagen redimensionada.
- 2017-10-29: De momento solamente se ponen en esta página las notas sobre EXIF y qué hace el programa igual que el ejecutable, el manual y su código fuente.
¿Qué es EXIF?
Fuente: http://es.wikipedia.org/wiki/Exchangeable_image_file_format
Exchangeable image file format (abreviatura oficial Exif, no EXIF[1] ) es una especificación para formatos de archivos de imagen usado por las cámaras digitales. Fue creado por la Japan Electronic Industry Development Association (JEIDA). La especificación usa los formatos de archivos existentes como JPEG, TIFF Rev. 6.0, y RIFF el formato de archivo de audio WAVE, a los que se agrega tags específicos de metadatos. No está soportado en JPEG 2000 o PNG.
La versión 2.1 de la especificación fue publicada el 12 de junio de 1998 y la versión 2.2 en abril de 2002.
Las etiquetas (tags) de metadatos definidas en el estándar Exif cubren un amplio espectro incluido:
- Información de fecha y hora. Las cámaras digitales registran la fecha y la hora actual y la almacenan en los metadatos.
- Configuración de la cámara. Esta incluye información estática como el modelo de cámara y el fabricante, e información que varia con cada imagen como la orientación, apertura, velocidad del obturador, distancia focal, medidor de exposición y la velocidad de la película.
- Información sobre localización, la cual podría provenir de un GPS conectado a la cámara. Hasta el 2004 solo una pocas cámaras lo soportaban (véase geoetiquetación).
- Descripción e información sobre copyright. Nuevamente esto es algo que la mayoría de ellas hicieron cuando posteriormente procesaban la imagen, solo las cámaras de altas prestaciones permiten al usuario elegir el texto para estos campos.
¿Qué hace GIZMO?
- Es un examinador de imágenes que muestra a un lado datos EXIF del archivo JPG en cuestión.
- Es un visualizador de imágenes con opción a ejecutar indefinidamente un slide show.
- Es un renombrador de archivos que permite anteponer la fecha de captura de la fotografía al nombre del archivo JPG.
- Es un generador de archivos XML con los datos EXIF que contenga cada uno de los archivos JPG que se encuentren en la carpeta que indique el usuario.
Historia
Este programa nació por la necesidad de ordenar una cantidad grande de fotografías por su fecha de captura para publicarlas después en un sitio web.
Al buscar información acerca de cómo hacía Windows para identificar la “fecha de captura” de los archivos JPG –de forma separada a las fechas de creación, modificación y último de acceso de cualquier archivo- me tope con la existencia del “EXIF”.
El EXIF consiste en una cantidad asombrosa de datos que las cámaras digitales guardan en cada una de las fotos que se toman. Esto se describe de forma más detallada en las próximas páginas.
Buscando por la red encontré código abierto que me permitía leer el EXIF. Con esto desarrolle un programa sencillo que me permitía anteponer, al nombre del archivo, la fecha y hora de captura de cada foto en formato AAAA-MM-DD HH:MM:SS.
Considerando que la dificultad para solo obtener la “fecha de captura” era la misma que para obtener todos los datos EXIF, agregué al programa la opción de mostrar la imagen y algunos datos del EXIF en la pantalla y por último la opción de generar un archivo XML con la información EXIF de cada archivo que se encuentre en una carpeta indicada por el usuario.
Descarga de ejecutable, código fuente y manual
Código fuente
,
Ejecutable
,
Manual