Як отримати / редагувати EXIF ​​метадані про кілька зображень?


30

Я вчора ввечері зіткнувся з великою проблемою.

Я вийняв старий цифровий фотоапарат і почав користуватися ним, не встановлюючи поточну дату та час.

Усі натиснуті фотографії мають дату 01 січня 2009 року

Я хочу змінити дату та час (та інші метадані EXIF ​​зображення) декількох зображень.

Будь ласка, порекомендуйте деяке програмне забезпечення, яке може обробляти декілька зображень одним натисканням / переходом.

Відповіді:


31

Оскільки у вас вже є рішення GUI, я подумав, що зазначу, що в командному рядку також існує кілька способів зміни даних 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>.
Ян

jhead був просто чудовий у використанні.
Харальд

1. Зауважте, що, на жаль, стандарт EXIF не включає інформацію про часовий пояс . 2. Замість зірочки можна використовувати в фігурних дужках: DSCN{120..345}.jpg. 3. Щоб змінити часову позначку файлів, використовуючи інше в якості довідкового використанняtouch -r ~/path/reference.jpg *.jpg
Пабло А

21

У Shotwell легко змінити дату та час. Виберіть фотографії, які ви хочете відрегулювати, і перейдіть до такого меню:

меню пострілу

Виберіть Фотографії / Відрегулюйте дату та час. Це відображає таке меню:

коригування дати

Якщо всі фотографії вимкнено на однакову суму, ви можете зробити їх усі за один раз. Якщо ви використовували більше однієї камери, і вони вимкнулися на різну кількість, вам потрібно розділити їх і зробити кожну партію окремо.

Сторінка довідки Shotwell, яка пояснює це , тут .


Це правильний спосіб зробити це з датою та часом. Дуже дякую вам за спільний доступ.
Geppettvs D'Constanzo

Тут не відображаються параметри верхнього меню Shotwell. Це помилка Ксеніального Ксеруса?
Леонардо Кастро

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.

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