Вчера вечером я столкнулся с большой проблемой.
Я вынул свою старую цифровую камеру и начал использовать ее без установки текущей даты и времени.
Все фотографии, по которым щелкнули, теперь имеют дату как 01 января 2009 г.
Я хочу изменить дату и время (и другие метаданные EXIF-изображения) для нескольких изображений.
Пожалуйста, порекомендуйте некоторое программное обеспечение, которое может обрабатывать несколько изображений одним кликом / ходом.
Поскольку у вас уже есть решение с графическим интерфейсом, я хотел бы упомянуть, что есть также несколько способов изменения данных 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
.
Изменение даты и времени легко в Shotwell. Выберите фотографии, которые вы хотите отрегулировать, и перейдите в меню следующим образом:
Выберите Фотографии / Настройте дату и время. Это вызывает меню вроде этого:
Если все фотографии выключены на одинаковую сумму, вы можете сделать их все за один раз. Если вы использовали более одной камеры, и они были отключены на разную сумму, вы должны разделить их и сделать каждую партию отдельно.
Страница помощи Shotwell, объясняющая это здесь .
Этот вопрос задавался для 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.