Trasferisci informazioni exif gps da un'immagine all'altra


13

Ho una fotocamera (non un cellulare) che inserisce informazioni exif gps nelle immagini.

Il fatto è: l'utilizzo di "gps on" scarica sempre la batteria. Quindi ho pensato: che ne dici di scattare una sola foto con gps acceso, e loro a casa aggiungono queste informazioni exif alle altre?

Vorrei sapere se ci sono applicazioni che conosci che possono aiutarmi in questo scenario: avere una foto con informazioni exif sui gps, copiare queste stesse informazioni sui gps in una serie di altre immagini.

(Preferisco le soluzioni Linux / Mac, ma accetto anche Windows. Non mi importa se si tratta di un'applicazione a riga di comando.)


Risposte:


13

Dai un'occhiata a ExifTool . È un coltellino svizzero di manipolazione di informazioni Exif, può fare quello che ti serve, tra le altre cose. È uno strumento da riga di comando compatibile con Windows / Linux / Mac e un modulo Perl. Gratuito e open source:

L'opzione "-tagsFromFile"

Una speciale opzione ExifTool consente di copiare tag da un file all'altro. La sintassi della riga di comando per eseguire questa operazione è "-tagsFromFile SRCFILE". Tutti i tag specificati dopo questa opzione nella riga di comando vengono estratti dal file di origine e scritti nel file di destinazione. Se non viene specificato alcun tag, vengono copiati tutti i tag scrivibili. Questa opzione è molto semplice, ma molto potente. A seconda dei formati dei file di origine e di destinazione, alcuni dei tag letti potrebbero non essere validi nel file di destinazione, nel qual caso non vengono scritti.

Il seguente comando cambierà tutti i file nella directory corrente e i suoi figli (ricorsivamente), copiando tutti i tag relativi al GPS dal file SOURCE.JPG:

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

Un altro modo per farlo è quello di mettere quanto segue in uno script. Il primo parametro passato dovrebbe essere il file da cui copiare le coordinate GPS e tutti gli altri parametri sono i file di destinazione da aggiornare:

#!/usr/bin/env bash
lon=$(exiftool -s3 -GPSLongitude "$1")
lat=$(exiftool -s3 -GPSLatitude "$1")
exiftool -GPSLongitude="$lon" -GPSLatitude="$lat" "${@:2}"

2
jhead è un'altra utility molto utile che può integrare ExifTool.
MikeyB,

1
@ SomebodystillusesyouMS-DOS: tutti gli argomenti (elementi nella $@matrice) che iniziano con il 2 °. Inoltre, sono quattro le righe che mi sono reso conto che ho messo molte cose inutili (e non corrette) lì. (Inoltre, "risolto".)
user1686

1
Mentre stai usando lo script, continuerò a fare a meno del fatto che mi sono completamente perso l' tagsFromFileopzione che avrebbe potuto fare lo stesso in una riga ...
user1686

1
@grawity: Sono rimasto un po 'sorpreso dalla tua modifica :-)
haimg

2
@grawity e @haimg: exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all .- l' -ropzione ricorre nella directory ( .) e -gps:all, beh ... è proprio quello che stavo cercando. Ti ho battuto, gravità! :) Penso che tu possa modificare questo post e aggiungere questo frammento, ma ricorda di avvisare le persone di leggere exiftool --helpper capire le altre opzioni che ho dato ... grazie a tutti!
Qualcuno usa ancora il tuo MS-DOS il

0

Puoi anche usare exiv2: è molto più veloce e, ad esempio, può scrivere dati exif su immagini webp (e altri).

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

Questo è un esempio della scheda exiv2 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.