Як я можу змінити інформацію про дату, отриману в даних EXIF?


30

Я використовую F-Spot для управління своїми зображеннями. Для одного набору зображень дати якимось чином зіпсувались, і всі вони позначені як 1 вересня 2007 року. Я хотів би змінити інформацію, отриману датою, на іншу дату. Як я можу це зробити?

Відповіді:


25

jhead здатний це зробити.

Скажімо, ви знаєте, що зроблено певну картину, 2017-04-19 16:20але поточна дата відображається як 2007-09-01 00:15, ви можете налаштувати всі jpgкартинки в папці на потрібний час, виконавши:

jhead -da2017:04:19/16:20-2007:09:01/00:15 *.jpg

Ось витяг із посібника:

DATE / TIME MANIPULATION:
   -ft        Set file modification time to Exif time
   -dsft      Set Exif time to file modification time
   -n[format-string]
             Rename files according to date.  Uses exif date if present, file
             date otherwise.  If the optional format-string is not supplied,
             the format is mmdd-hhmmss.  If a format-string is given, it is
             is passed to the 'strftime' function for formatting
             In addition to strftime format codes:
             '%f' as part of the string will include the original file name
             '%i' will include a sequence number, starting from 1. You can
             You can specify '%03i' for example to get leading zeros.
             This feature is useful for ordering files from multiple digicams to
             sequence of taking.  Only renames files whose names are mostly
             numerical (as assigned by digicam)
             The '.jpg' is automatically added to the end of the name.  If the
             destination name already exists, a letter or digit is added to
             the end of the name to make it unique.
  -nf[format-string]
             Same as -n, but rename regardless of original name
  -a         (Windows only) Rename files with same name but different extension
             Use together with -n to rename .AVI files from exif in .THM files
             for example
  -ta<+|->h[:mm[:ss]]
             Adjust time by h:mm backwards or forwards.  Useful when having
             taken pictures with the wrong time set on the camera, such as when
             traveling across time zones or DST changes. Dates can be adjusted
             by offsetting by 24 hours or more.  For large date adjustments,
             use the -da option
  -da<date>-<date>
             Adjust date by large amounts.  This is used to fix photos from
             cameras where the date got set back to the default camera date
             by accident or battery removal.
             To deal with different months and years having different numbers of
             days, a simple date-month-year offset would result in unexpected
             results.  Instead, the difference is specified as desired date
             minus original date.  Date is specified as yyyy:mm:dd or as date
             and time in the format yyyy:mm:dd/hh:mm:ss
  -ts<time>  Set the Exif internal time to <time>.  <time> is in the format
             yyyy:mm:dd-hh:mm:ss
  -ds<date>  Set the Exif internal date.  <date> is in the format YYYY:MM:DD
             or YYYY:MM or YYYY

Ще більш потужним варіантом є ExifTool .


Нещодавно використовували jhead для виправлення та синхронізації відміток дати / часу на сотнях фотографій із сімейного відпустки, де для трьох камер усі дані та час були встановлені неправильно. Простий у використанні і досить корисний.
Буде М

Схоже, Jhead не підтримує типи файлів RAW, але ExifTool робить (наприклад, Canon CR2, Nikon NEF, Sony ARW). Це добре знати, для тих із нас, хто або стріляє лише в RAW, і в RAW, і в JPEG.
Самір

Чи сумісний він з Windows 10?
XPMai

@XPMai Все ще працює з Windows 10 - я в кінцевому підсумку використовував -ds у своїх цілях.
alexander7567

4

Picasa має цю вбудовану. Інструменти => Налаштування дати та часу ....


На жаль, він працює лише на файл.
користувач46193

@ update46193 оновлення: тепер він працює для будь-якої кількості обраних вами зображень.
уріг

Google: "Picasa зараз вийшла на пенсію ... Picasa більше не буде доступна для завантаження". Що відбувається з Picasa, веб-альбомами Picasa та API веб-альбомів Picasa?
JohnC

3

exiv2 - це інструмент командного рядка для управління даними exif. Підтримувані формати зображень: JPEG, Canon CRW та Canon THM. PNG доступний лише для читання.

Якщо ви хочете встановити дату файлу на дату exif, ви можете скористатися exiv2 за допомогою наступної опції.

-t Встановіть часову позначку файлу відповідно до часової позначки створення файлу Exif на додаток до перейменування файлу (замінює -k). Ця опція використовується лише при дії "перейменувати".


Спасибі! exiv2 простий у використанні та швидкий. -Tдозволяє встановити часову
позначку


2

Ось що мені було потрібно

Щоб додати постійне зміщення до старої дати

exiv2 ad -a -3:17 *.JPG

Перейменувати в %Y%m%d_%H%M%S

exiv2 mv *.JPG

Інші формати та параметри вказані на вкладках .


1

Ви можете спробувати цей безкоштовний інструмент: Exifer .


1
@RandolphWest Будь ласка, залишайте коментарі лише посилання на це, якщо вони насправді мають сенс. Хоча ця відповідь не є ідеальною , все інше легко визначити, натиснувши посилання. Все інше, що може бути включено сюди, не допоможе, якщо пов’язана сторінка зміниться будь-яким суттєвим чином, оскільки тоді програмне забезпечення більше не буде доступне для завантаження. Насправді, включення занадто багато деталей (наприклад, повний список функцій) просто означає, що відповідь швидко застаріває, якщо пов'язане програмне забезпечення зміниться.
Даніель Бек

@DanielBeck Той факт, що посилання у відповіді більше не веде туди, куди слід, є ідеальним прикладом того, чому відповіді, що стосуються лише посилань, є лайно.
Рафаель

@Raphael Будь ласка, перечитайте мій коментар, починаючи з третього речення. Ніщо, що могло бути накреслено тут, не змогло б виправити цю відповідь.
Даніель Бек

1

Я використовую наступний сценарій, щоб вказати зображенням декілька послідовних дат. Сподіваюся, це допомагає. Він очікує, що каталог із зображеннями буде оновлений як аргумент i .escript directory_with_images

#!/bin/bash
HOUR=12
MINUTE=0
DATE=2004:06:20
for file in "$1"/*;
do 
    exiv2 -v -M"set  Exif.Image.DateTime $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    exiv2 -v -M"set  Exif.Photo.DateTimeDigitized $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    exiv2 -v -M"set  Exif.Photo.DateTimeOriginal $DATE $(printf %02d $HOUR):$(printf %02d $MINUTE):00" "$file"
    #sets file timestamp (i.e. filesystem metadata, not image metadata) as well
    exiv2 -v -T "$file"
    if [ $MINUTE = 59 ]; then
        HOUR=$((HOUR + 1))
        MINUTE=0
    else
        MINUTE=$((MINUTE + 1))
    fi
    # this would rename the file as well
    #new_path=`pwd`/new_filename$(printf %02d $HOUR)$(printf %02d $MINUTE).jpg
    #cp "$file" "$new_path"
done

0

У iPhoto та діафрагми є можливість зміни часу, оскільки зазвичай ви перебуваєте в новому часовому поясі або годинник неправильний. Він може залишити файли без редагування (лише оновлення db додатка) або редагувати файли. Очевидно, що F-Spot має це запозичити.


0

Exiftool: повільний в командному рядку. (Це написано на Perl, тому зробіть там власні висновки.)

Exifer створює порожній тег або два у файлах, а не лише у блоці EXIF. Це також видалить деякі теги, написані іншими інструментами. Оскільки я не користувався ним більше року, я не можу конкретно визначити, які саме.

Речі FastStone, imx, занадто повільні, щоб тримати встановлення більше дня чи двох.

Мій голос - за Хр. Пропозиція Вайнцерля: Exiv2.

BZT


0

Picasa 3 , безкоштовний інструмент управління фотографіями від Google, зробить це, і це приємно і швидко.

У Picasa виберіть меню Вид> Властивості, щоб відобразити область властивостей.

Виберіть папку з фотографіями, і вони з'являться як колекція мініатюр.

Виберіть ескізи, які потрібно оновити. Щоб вирішити, що потрібно оновити як пакет, ви можете або встановити їх на один і той самий новий дату, або ви можете змінити перший, і всі інші будуть зміщені на ту саму суму.

На панелі "Властивості" клацніть правою кнопкою миші поле "Дата камери", а потім виберіть "Налаштувати дату та час ..." у контекстному меню. Відкриється діалогове вікно "Налаштувати дату фотографії", де відображається поточна дата камери для першої фотографії.

Відредагуйте дату та час камери за потребою. Якщо ви просто хочете змінити «am» на pm, або навпаки, просто виберіть частину часу «am» і введіть «a» або «p» у відповідних випадках. Не потрібно набирати всю річ "am" або "pm".

Якщо для оновлення ви вибрали більше одного мініатюру: "Налаштувати всі дати фотографій на однакову суму" або "Встановити всі фотографії на одну і ту ж дату та час". Виберіть те, що підходить. Потім натисніть кнопку ОК.

Дати EXIF ​​усіх вибраних фотографій будуть оновлені.


Дивіться попередню відповідь від @ user28515, яка також пропонує Picasa; на жаль, його більше немає.
JohnC

Хоча Picasa вже не розробляється Google, і вони видалили інсталятор зі свого веб-сайту, все одно можна завантажити останню версію, v3.9. Гуглінг "завантажити picasa 3.9" дасть безліч переглядів. Якщо ви хочете завантажити з випадкового сайту, офіційне завантаження Google все ще доступне через Інтернет-архів Wayback Machine. Більше інформації дивіться тут: sites.google.com/site/picasaresources/Home/Picasa-FAQ/picasa/…
SimonTewsi

0

Також менеджер фотографій Shotwell в Ubuntu (поточний менеджер фотографій за замовчуванням у версії 13.10) має налаштування дати / часу меню для вибраних фотографій. У поєднанні з останнім фільтром імпорту ви можете легко налаштувати імпортовані фотографії з камери з неправильною датою та часом.

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