Transfiere información de GPS Exif de una imagen a otra

13

Tengo una cámara (no un teléfono celular) que inserta información gps exif en las imágenes.

El hecho es: usar el "gps on" todo el tiempo drena la batería. Entonces pensé: ¿qué hay de tomar solo una foto con gps y ellos en casa agregan esta información exif a las demás?

Me gustaría saber si hay aplicaciones que conozca que puedan ayudarme en este escenario: tener una foto con información exif sobre gps, copie esta misma información gps en un lote de otras imágenes.

(Prefiero las soluciones Linux / Mac, pero también acepto Windows. No me importa si es una aplicación de línea de comandos).

Alguien todavía te usa MS-DOS
fuente

Respuestas:

13

Echa un vistazo a ExifTool . Es una navaja suiza de manipulación de información Exif, puede hacer lo que necesita, entre muchas otras cosas. Es una herramienta de línea de comandos compatible con Windows / Linux / Mac y también un módulo Perl. Gratis y de código abierto:

La opción "-tagsFromFile"

Una opción especial de ExifTool permite copiar etiquetas de un archivo a otro. La sintaxis de la línea de comandos para hacer esto es "-tagsFromFile SRCFILE". Cualquier etiqueta especificada después de esta opción en la línea de comando se extrae del archivo de origen y se escribe en el archivo de destino. Si no se especifican etiquetas, se copian todas las etiquetas grabables. Esta opción es muy simple, pero muy poderosa. Dependiendo de los formatos de los archivos de origen y destino, algunas de las etiquetas leídas pueden no ser válidas en el archivo de destino, en cuyo caso no están escritas.

El siguiente comando cambiará todos los archivos en el directorio actual y sus hijos (recursivamente), copiando todas las etiquetas relacionadas con GPS del archivo SOURCE.JPG:

exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps: all.

Otra forma de hacer esto es poner lo siguiente en un script. El primer parámetro pasado debe ser el archivo para copiar las coordenadas GPS, y todos los demás parámetros son los archivos de destino a actualizar:

#!/usr/bin/env bash
lon=$(exiftool -s3 -GPSLongitude "$1")
lat=$(exiftool -s3 -GPSLatitude "$1")
exiftool -GPSLongitude="$lon" -GPSLatitude="$lat" "${@:2}"
haimg
fuente
2
jhead es otra utilidad muy útil que puede complementar ExifTool.
MikeyB
1
@ SomebodystillusesyouMS-DOS: Todos los argumentos (elementos en la $@matriz) que comienzan con el 2do. Además, son cuatro líneas ahora que me di cuenta de que puse muchas cosas innecesarias (e incorrectas) allí. (También, "resuelto".)
usuario1686
1
Mientras que usted está utilizando la secuencia de comandos, voy a seguir facedesking por el hecho de que estoy totalmente perdido el tagsFromFileopción, que podría haber hecho lo mismo en una línea ...
user1686
1
@grawity: Tu edición me sorprendió un poco :-)
haimg
2
@grawity y @haimg: exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all .- la -ropción vuelve a aparecer en el directorio ( .), y -gps:all, bueno ... es justo lo que estaba buscando. ¡Te gané, Grawity! :) Creo que puedes editar esta publicación y agregar este fragmento, pero recuerda advertir a la gente que lea exiftool --helppara comprender las otras opciones que di ... ¡gracias a todos!
Alguien todavía te usa MS-DOS el
0

También puede usar exiv2: es mucho más rápido y, por ejemplo, puede escribir datos exif en imágenes webp (y otras).

exiv2 -PkV --grep GPSL source.jpg | exiv2 -m- destination.webp

Este es un ejemplo de la placa exiv2 .

Adrian Siemieniak
fuente