Как получить / отредактировать метаданные EXIF ​​нескольких изображений?

30

Я столкнулся с большой проблемой вчера вечером.

Я вынул свою старую цифровую камеру и начал использовать ее без установки текущей даты и времени.

Все фотографии, на которые нажали, теперь имеют дату 01.01.2009

Я хочу изменить дату и время (и другие метаданные EXIF-изображения) для нескольких изображений.

Пожалуйста, порекомендуйте какое-нибудь программное обеспечение, которое может обрабатывать несколько изображений одним щелчком мыши.

IM-JM
источник

Ответы:

31

Поскольку у вас уже есть решение с графическим интерфейсом, я хотел бы упомянуть, что есть также несколько способов изменения данных EXIF ​​в командной строке; Два полезных инструмента exiftoolи jhead, которые можно установить с помощью этой команды:

sudo apt-get install libimage-exiftool-perl jhead

С обоими этими инструментами вы можете работать с несколькими файлами одновременно, но вы можете сделать резервную копию своих файлов, прежде чем начать манипулировать данными exif.

jhead

Чтобы изменить EXIF-данные времени и даты для ряда файлов «в один клик», вы можете открыть терминал и cdперейти к папке с изображениями и запустить:

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

-tsПереключатель позволяет указать обязательно дату и время и записать его в заголовок EXIF все на одном дыхании: формат указан здесь YYYY:MM:DD-HH:MM:SS.

Если вы просто хотите изменить дату без указания времени, вы должны использовать вместо этого:

jhead -ds2012:10:29 *.jpg

Вы также можете сделать это только для одного снимка, сделанного, например, конкретной камерой, если вы указали, например, -model "D70"но этот параметр должен стоять первым в обработке, и должен быть что-то вроде «D70», «S100», а не «Nikon D70». ». Посмотрите на показания exif из ваших фотографий, чтобы получить правильный номер модели.

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

Для получения дополнительной информации см man jhead.

exiftool

У этой утилиты больше возможностей, чем у jhead, и она очень полная, как отмечается на официальном сайте . Существует графический интерфейс для разработки exiftool , но он находится на ранних стадиях, но выглядит многообещающе.

Параметры смещения даты и времени, а также то, какие форматы можно использовать, довольно обширны, как подробно описано в этом полезном PDF-документе . Как и в случае с jhead , вы можете изменить дату и время или просто дату. Этот пример меняет дату и время:

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

Приведенный выше пример просто устанавливает конкретное значение для даты и времени изображений; если вы хотите просто сдвинуть их все на определенный временной индекс, например на три года вперед, вы можете использовать:

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

Функция сдвига может быть очень полезна, если, как это случилось с вами, все ваши снимки внезапно отмечены как 2009, даже если они были сделаны в 2012 году. Убедитесь, что вы используете знак плюс или минус до равенства (как в -AllDates-=или -AllDates+=), в зависимости от на то, что вы хотите достичь, когда вы назначаете требуемый индекс времени, или результирующие данные EXIF ​​будут не такими, как ожидалось.

exiftoolбудет создавать резервную копию оригинала перед редактированием данных EXIF добавляющих оригинал в конце файла.

exiftoolподдерживает больше типов изображений, чем тот, jheadкоторый работает только для JPEG.

Для получения дополнительной информации см man exiftool.

Пабло А
источник
1
+1, Отличный ответ Мик. Это гораздо более гибко, чем просто использование Shotwell.
Том Броссман
Я наткнулся на этот ответ, потому что я искал, как добавить данные EXIF ​​к изображениям jpg, у которых их изначально не было. Для этого я обнаружил, что мне нужно jhead -mkexif -ts<date>.
Ян
Джед был просто великолепен в использовании.
Харальд
1. Обратите внимание, что, к сожалению, стандарт EXIF не включает информацию о часовом поясе . 2. Вместо звездочки можно использовать в фигурных скобках: DSCN{120..345}.jpg. 3. Чтобы изменить временную метку файла, используя другую в качестве эталона,touch -r ~/path/reference.jpg *.jpg
Пабло,
21

Изменение даты и времени легко в Shotwell. Выберите фотографии, которые вы хотите настроить, и перейдите в меню следующим образом:

меню

Выберите Фото / Настроить дату и время. Это вызывает меню как это:

настройка даты и времени

Если все фотографии отключены на одинаковую сумму, вы можете сделать их все за один раз. Если вы использовали более одной камеры, и они были отключены на разную сумму, вы должны разделить их и сделать каждую партию отдельно.

Страница помощи Shotwell, объясняющая это здесь .

Том Броссман
источник
Это правильный способ сделать это с датой и временем. Спасибо вам большое за обмен.
Geppettvs D'Constanzo
Опции верхнего меню Shotwell здесь не отображаются. Это ошибка Xenial Xerus?
Леонардо Кастро
3

Этот вопрос задавался для EXIF, но метаданные изображения имеют как минимум три стандарта, которые можно прикрепить к изображениям, EXIF, XMP и IPTC. Многие фото программы пишут во все эти форматы, но не во все, поэтому важно проверить все из них.

Я обнаружил, что exifэто хороший инструмент, но это exiv2лучше. Сравните 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)
--------------------+----------------------------------------------------------

Кому 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

Большая разница в том, что ключевые слова в XMP и IPTC вообще не в EXIF, и поэтому, если бы я только посмотрел туда, я бы подумал, что у них нет ключевых слов.

Я дал команду, exiv2 -p a my-image.jpgпотому что она отображает все три формы метаданных. Выйдя -p aпросто покажет вам данные EXIF.

mlissner
источник