Передача інформації exif gps з одного зображення на інше


13

У мене є камера (не мобільний телефон), яка вставляє інформацію про gps exif у зображення.

Факт: використання "gps on" весь час виснажує акумулятор. Тож я подумав: а як же зробити лише одну фотографію з gps, і вони вдома додають цю інформацію exif до інших?

Мені хотілося б знати, чи є програми, які вам відомі, що можуть допомогти мені в цьому сценарії: створивши фотографію з exif інформацією про gps, скопіюйте цю саму інформацію gps на групу інших фотографій.

(Я віддаю перевагу рішенням Linux / Mac, але я також приймаю windows. Я не проти, якщо це додаток командного рядка.)


Відповіді:


13

Погляньте на ExifTool . Це швейцарський армійський ніж з маніпуляцій з інформацією Exif, який може робити все необхідне, серед багатьох інших. Це інструмент командного рядка, сумісний з Windows / Linux / Mac, і модуль Perl. Безкоштовно та з відкритим кодом:

Варіант "-tagsFromFile"

Спеціальна опція ExifTool дозволяє копіювати теги з одного файлу в інший. Синтаксис командного рядка для цього - "-tagsFromFile SRCFILE". Будь-які теги, вказані після цієї опції в командному рядку, витягуються з вихідного файлу і записуються в цільовий файл. Якщо жодні теги не вказані, то всі теги, що записуються, копіюються. Цей варіант дуже простий, але дуже потужний. Залежно від форматів вихідних та цільових файлів деякі прочитані теги можуть бути недійсними у файлі призначення, і в цьому випадку вони не записуються.

Наступна команда змінить усі файли в поточному каталозі та його дітей (рекурсивно), скопіювавши всі файли, пов’язані з GPS SOURCE.JPG:

exiftool -overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps: все.

Ще один спосіб зробити це - вкласти наступне в сценарій. Перший переданий параметр повинен бути файлом для копіювання GPS координат, а всі інші параметри - цільові файли, які потрібно оновити:

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

2
jhead - ще одна дуже корисна утиліта, яка може доповнити ExifTool.
MikeyB

1
@ SomebodystillusesyouMS-DOS: Усі аргументи (елементи в $@масиві), починаючи з 2-го. Крім того, це чотири рядки, коли я зрозумів, що я помістив туди багато непотрібних (і неправильних) речей. (Також "вирішено".)
користувач1686

1
Поки ви використовуєте сценарій, я продовжуватиму стикатися з приводу того, що я повністю пропустив tagsFromFileваріант, який міг би зробити те саме в одному рядку ...
user1686,

1
@grawity: Я трохи здивувався Вашій
редакції

2
@grawity і @haimg: exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all .- -rопція повторюється в каталозі ( .), і -gps:all, ну ... це просто те, що я шукав. Я б'ю тебе, грюдо! :) Я думаю, ви можете відредагувати цю публікацію та додати цей фрагмент, але пам’ятайте, щоб попередити людей читати, exiftool --helpщоб зрозуміти інші варіанти, які я дав ... дякую всім!
Хтось досі використовує вас MS-DOS

0

Ви також можете використовувати exiv2 - це набагато швидше і, наприклад, може записувати дані exif у веб-зображення (та інші).

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

Це приклад з дошки exiv2 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.