¿Cómo obtener / editar metadatos EXIF ​​de múltiples imágenes?

30

Me encontré con un gran problema ayer por la noche.

Saqué mi vieja cámara digital y comencé a usarla sin configurar la fecha y hora actuales.

Todas las fotos en las que se hizo clic ahora tienen fecha 01 de enero de 2009

Quiero cambiar la fecha y la hora (y otros metadatos de imagen EXIF) de varias imágenes.

Por favor, recomiende algún software que pueda procesar múltiples imágenes en un solo clic / ir

IM-JM
fuente

Respuestas:

31

Como ya tiene una solución GUI, pensé que mencionaría que también hay varias formas de cambiar los datos EXIF ​​en la línea de comandos; dos herramientas útiles son exiftooly jhead, que se pueden instalar con este comando:

sudo apt-get install libimage-exiftool-perl jhead

Con ambas herramientas, puede operar con múltiples archivos a la vez, pero es posible que desee hacer una copia de seguridad de sus archivos antes de comenzar a manipular los datos exif.

jhead

Para cambiar los datos EXIF ​​de hora y fecha en varios archivos 'con un solo clic', puede abrir el terminal y acceder cda la carpeta con las imágenes y ejecutar:

jhead -ts2012:10:29-10:28:03 *.jpg

El -tsconmutador le permite especificar la fecha y la hora requeridas y escribirlas en el encabezado exif de una sola vez: el formato especificado aquí es YYYY:MM:DD-HH:MM:SS.

Si solo quisiera cambiar la fecha sin especificar la hora, usaría en su lugar:

jhead -ds2012:10:29 *.jpg

También podría hacerlo solo para una algunas fotos tomadas con una cámara en particular si lo especificó, por ejemplo, -model "D70"pero esa opción debe venir primero en el procesamiento y debe ser algo como "D70", "S100" y no "Nikon D70 ". Mire la lectura exif de sus imágenes para obtener el número de modelo correcto.

jhead -model "D70" -ts2012:10:29-10:28:03 *.jpg

Para más información, ver man jhead.

exiftool

Esta utilidad tiene más opciones que jhead y es muy completa, como se señaló en el sitio oficial . Hay una interfaz gráfica para exiftool en desarrollo, pero está en las primeras etapas en este momento, pero parece prometedor.

Las opciones de cambio de fecha y hora, y qué formatos se pueden usar son bastante amplias, como se detalla aquí en este útil pdf . Al igual que con jhead , puede decidir cambiar la hora y la fecha, o simplemente la fecha. Este ejemplo cambia tanto la fecha como la hora:

exiftool -AllDates="2012:03:14 12:25:00" *.jpg

El ejemplo anterior solo establece un valor particular para la fecha y la hora de las imágenes; Si quisiera cambiarlos todos por un cierto índice de tiempo, como los tres años siguientes, podría usar:

exiftool -AllDates+="3:0:0 0" *.jpg

La función de desplazamiento puede ser muy útil si, como le ha sucedido a usted, sus imágenes están marcadas repentinamente como 2009, a pesar de que fueron tomadas en 2012. Asegúrese de usar un signo más o menos antes de los iguales (como en -AllDates-=o -AllDates+=), dependiendo en lo que desea lograr cuando asigna el índice de tiempo requerido, o los datos EXIF ​​resultantes no serán los esperados.

exiftoolserá crear una copia de seguridad del original antes de editar los datos EXIF añadiendo original, al final del nombre de archivo.

exiftooladmite más tipos de imágenes que las jheadque solo funcionan para archivos JPEG.

Para más información, ver man exiftool.

Pablo A
fuente
1
+1, respuesta excepcional Mik. Esto es mucho más flexible que simplemente usar Shotwell.
Tom Brossman
Me topé con esta respuesta porque estaba buscando cómo agregar datos EXIF ​​a imágenes jpg que no lo tenían en primer lugar. Para eso, descubrí que lo necesitaba jhead -mkexif -ts<date>.
Ian
jhead fue genial de usar.
Harald
1. Tenga en cuenta que desafortunadamente el estándar EXIF no incluye información de zona horaria . 2. En lugar de asterisco se puede utilizar la expansión de llaves: DSCN{120..345}.jpg. 3. Para cambiar la marca de tiempo del archivo usando otro como uso de referenciatouch -r ~/path/reference.jpg *.jpg
Pablo A
21

Cambiar la fecha y la hora es fácil en Shotwell. Seleccione las fotos que desea ajustar y vaya al menú de esta manera:

menú shotwell

Seleccione Fotos / Ajustar fecha y hora. Eso trae un menú como este:

ajuste de fecha y hora

Si todas las fotos están apagadas en la misma cantidad, puede hacerlas todas de una vez. Si usó más de una cámara y estaban apagadas por diferentes cantidades, debe dividirlas y hacer cada lote por separado.

La página de ayuda de Shotwell que explica esto está aquí .

Tom Brossman
fuente
Esta es la forma correcta de hacer esto con fecha y hora. Muchas gracias por compartir.
Geppettvs D'Constanzo
Las opciones del menú superior de Shotwell no se muestran aquí. ¿Es eso un error de Xenial Xerus?
Leonardo Castro
3

Esta pregunta requería EXIF, pero los metadatos de imagen tienen al menos tres estándares que se pueden adjuntar a imágenes, EXIF, XMP e IPTC. Muchos programas fotográficos escribirán en todos estos formatos, pero no en todos, por lo que es importante verificarlos todos.

He descubierto que exifes una buena herramienta, pero que exiv2es mejor. Compara exif:

↪ exif 00000020.jpg 
EXIF tags in '00000020.jpg' ('Intel' byte order):
--------------------+----------------------------------------------------------
Tag                 |Value
--------------------+----------------------------------------------------------
Software            |Shotwell 0.22.0
Date and Time       |1905:01:01 00:00:01
X-Resolution        |72
Y-Resolution        |72
Resolution Unit     |Inch
Date and Time (Origi|1905:01:01 00:00:01
Date and Time (Digit|1905:01:01 00:00:01
User Comment        |Dad
Exif Version        |Exif Version 2.1
FlashPixVersion     |FlashPix Version 1.0
Color Space         |Internal error (unknown value 65535)
--------------------+----------------------------------------------------------

Para exiv2:

↪ exiv2 -p a 00000020.jpg 
Exif.Image.Software                          Ascii      16  Shotwell 0.22.0
Exif.Image.DateTime                          Ascii      20  1905:01:01 00:00:01
Exif.Image.ExifTag                           Long        1  86
Exif.Photo.DateTimeOriginal                  Ascii      20  1905:01:01 00:00:01
Exif.Photo.DateTimeDigitized                 Ascii      20  1905:01:01 00:00:01
Exif.Photo.UserComment                       Undefined  11  Dad
Iptc.Application2.Program                    String      8  Shotwell
Iptc.Application2.ProgramVersion             String      6  0.22.0
Iptc.Application2.Keywords                   String      8  2015scan
Iptc.Application2.Keywords                   String     11  Lissner-Jay
Iptc.Application2.Keywords                   String      6  People
Xmp.exif.DateTimeOriginal                    XmpText    20  1905:01:01 08:00:01
Xmp.exif.DateTimeDigitized                   XmpText    20  1905-01-01T08:00:01Z
Xmp.xmp.CreateDate                           XmpText    20  1905-01-01T08:00:01Z
Xmp.dc.subject                               XmpBag      3  2015scan, Lissner-Jay, People
Xmp.digiKam.TagsList                         XmpSeq      2  People, People/Lissner-Jay
Xmp.MicrosoftPhoto.LastKeywordXMP            XmpBag      2  People, People/Lissner-Jay

La gran diferencia aquí es que las palabras clave en XMP e IPTC no están en EXIF ​​y, por lo tanto, si solo mirara allí, pensaría que no tenía palabras clave.

Di el comando exiv2 -p a my-image.jpgporque muestra las tres formas de metadatos. Dejar afuera -p asolo le mostrará los datos EXIF.

mlissner
fuente