Как получить / отредактировать метаданные EXIF нескольких изображений?
Я столкнулся с большой проблемой вчера вечером.
Я вынул свою старую цифровую камеру и начал использовать ее без установки текущей даты и времени.
Все фотографии, на которые нажали, теперь имеют дату 01.01.2009
Я хочу изменить дату и время (и другие метаданные EXIF-изображения) для нескольких изображений.
Пожалуйста, порекомендуйте какое-нибудь программное обеспечение, которое может обрабатывать несколько изображений одним щелчком мыши.
3 ответа
Поскольку у вас уже есть решение с графическим интерфейсом, я хотел бы упомянуть, что есть также несколько способов изменения данных EXIF в командной строке; два полезных инструмента exiftool
а также jhead
, который можно установить с помощью этой команды:
sudo apt-get install libimage-exiftool-perl jhead
С обоими этими инструментами вы можете работать с несколькими файлами одновременно, но вы можете сделать резервную копию своих файлов, прежде чем начать манипулировать данными exif.
jhead
Чтобы изменить данные EXIF времени и даты для ряда файлов "в один клик", вы можете открыть терминал и сделать cd
в папку с картинками и запустите:
jhead -ts2012:10:29-10:28:03 *.jpg
-ts
Параметр switch позволяет указать необходимую дату и время и записать их в заголовок 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.