EXIF verilerinde alınan bilgileri toplu olarak nasıl değiştiririm?


30

Görüntüleri yönetmek için F-Spot kullanıyorum. Bir resim grubu için, tarihler bir şekilde dağıldı ve hepsi 1 Eylül 2007 olarak işaretlendi. Alınan bilgileri farklı bir tarihe değiştirmek istiyorum. Bunu nasıl yapabilirim?

Yanıtlar:


25

jhead bunu yapabilir.

Diyelim ki belirli bir fotoğrafın çekildiğini biliyorsunuz, 2017-04-19 16:20ancak şu anki tarih gösteriyor : Bir klasördeki 2007-09-01 00:15tüm jpgfotoğrafları, doğru zamana ayarlayarak yapabilirsiniz :

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

İşte kılavuzdan bir alıntı:

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

Daha da güçlü bir seçenek ExifTool'dur .


Son zamanlarda, üç kameranın hepsinin verileri ve saati yanlış ayarladığı bir aile tatilinden yüzlerce resimdeki tarih / saat damgalarını düzeltmek ve senkronize etmek için jhead kullandı. Kullanımı kolay ve oldukça kullanışlıdır.
M

Jhead, RAW dosya türlerini desteklemiyor gibi görünüyor, ancak ExifTool kullanıyor (örn. Canon CR2, Nikon NEF, Sony ARW). Sadece RAW veya hem RAW hem de JPEG formatında çekim yapanlarımız için bunu bilmek güzel.
Samir

Windows 10 ile uyumlu mu?
XPMai

@ XPMai Hala Windows 10 ile çalışıyor - Amaçlarım için -ds komutunu kullandım.
alexander7567


3

exiv2 , exif verilerini işlemek için kullanılan bir komut satırı aracıdır. Desteklenen resim formatları JPEG, Canon CRW ve Canon THM'dir. PNG salt okunurdur.

Dosya tarihini exif tarihine ayarlamak istiyorsanız, aşağıdaki seçeneklerle exiv2'yi kullanabilirsiniz.

-t Dosya zaman damgasını, dosyayı yeniden adlandırmanın yanı sıra Exif create zaman damgasına göre ayarlayın (-k geçersiz kılar). Bu seçenek yalnızca 'yeniden adlandır' eylemiyle kullanılır.


Teşekkürler! exiv2 kullanımı kolay ve hızlıdır. -TDosya yeniden adlandırma olmadan dosya zaman damgası ayarlamak için izin verir :)
orzechow


2

İşte ihtiyacım olan şey

Eski tarihe sabit ofset eklemek için

exiv2 ad -a -3:17 *.JPG

Yeniden adlandırmak için %Y%m%d_%H%M%S

exiv2 mv *.JPG

Diğer biçimler ve seçenekler kılavuz sayfalarında belirtilmiştir .


1

Bu ücretsiz aracı deneyebilirsiniz: Exifer .


1
@RandolphWest Lütfen gerçekten mantıklı ise, sadece bu bağlantıyı yorum bırakın. Bu cevap mükemmel olmasa da , linke tıklayarak diğer her şey kolayca belirlenebilir. Her şey olabilir buraya dahil edilmemiş bize yardım eder eğer bağlantılı sayfa değişikliği ardından yazılım indirilmeye hazır olmayacaktır çünkü n önemli bir yolu, artık. Aslında, çok fazla ayrıntı da dahil olmak üzere (tam bir özellik listesi gibi), bağlı yazılım değişirse sorunun kısa sürede eski hale gelmesi anlamına gelir.
Daniel Beck

@DanielBeck Cevaptaki bağlantının artık olması gereken yere yol açmaması, yalnızca bağlantı yanıtlarının neden saçmalığı için mükemmel bir örnek.
Raphael,

@Raphael Lütfen üçüncü cümleyle başlayarak yorumumu tekrar okuyun. Burada belirtilebilecek hiçbir şey bu cevabı düzeltemez.
Daniel Beck

1

Görüntülere arka arkaya bazı tarihler vermek için aşağıdaki komut dosyasını kullanıyorum. Umarım yardımcı olur. Görüntülerin bir argüman olarak değiştirilebileceği bir dizin bekler.script 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 ve Aperture, genellikle yeni bir saat diliminde olduğunuzda veya saatin yanlış olduğu durumlarda bir zaman kaydırma seçeneğine sahiptir. Dosyaları düzenlenmemiş halde bırakabilir (yalnızca Uygulamanın db'sini güncelleyerek) veya dosyaları düzenleyebilir. Açıkça F-Spot'un bunu ödünç alması gerekiyor.


0

Exiftool: komut satırında yavaş. (Perl ile yazılmıştır, bu yüzden kendi sonuçlarınızı buraya çiziniz.)

Exifer, yalnızca EXIF ​​bloğunda değil, dosyalarda boş bir etiket veya iki dosya oluşturur. Ayrıca, diğer araçlar tarafından yazılmış bazı etiketleri de kaldıracaktır. Bir yıldan fazla bir süredir kullanmadığım için, hangileri olduğu konusunda net olamıyorum.

FastStone'un eşyaları, imx, bir veya iki günden daha uzun süre kurulmayacak kadar yavaş.

Benim oyum İK için. Weinzerl'in önerisi: Örnek 2.

BZT


0

Google’ın ücretsiz bir fotoğraf yönetim aracı olan Picasa 3 bunu yapacak ve bu hem hoş hem de hızlı.

Picasa'da, Özellikler bölmesini görüntülemek için Görünüm menüsü> Özellikler'i seçin.

Fotoğrafları içeren klasörü seçin, küçük resimlerden oluşan bir koleksiyon olarak görünecektir.

Güncellemek istediğiniz küçük resimleri seçin. Hangi toplu iş olarak güncelleyeceğinize karar vermek için, hepsini aynı yeni tarih saatine ayarlayabilir veya ilkini değiştirebilirsiniz; geri kalan her şey aynı miktarda değiştirilir.

Özellikler bölmesinde Kamera Tarihi alanına sağ tıklayın, ardından bağlam menüsünden Tarih ve Saati Ayarla ... 'yı seçin. İlk fotoğrafın geçerli Kamera Tarihini gösteren Fotoğraf Tarihini Ayarla iletişim kutusu açılacaktır.

Kamera Tarih ve Saatini gerektiği gibi düzenleyin. Öğleden önce öğleden önce öğleden sonra saatini değiştirmek veya tam tersini değiştirmek istiyorsanız, yalnızca zamanın "am" kısmını seçin ve uygun şekilde "a" veya "p" yazın. Tüm "am" veya "pm" olayını yazmaya gerek yok.

Güncelleme için birden fazla küçük resim seçtiyseniz iki seçenek vardır: "Tüm fotoğraf tarihlerini aynı miktarda ayarlayın" veya "Tüm fotoğrafları aynı tarih ve saate ayarla". Hangisinin uygun olduğunu seçin. Ardından Tamam'ı tıklayın.

Seçilen tüm fotoğrafların EXIF ​​tarihleri ​​güncellenecektir.


Ayrıca Picasa’yı öneren @ user28515’in önceki yanıtına bakın; ne yazık ki artık mevcut değil.
JohnC

Picasa artık Google tarafından geliştirilmiyor ve yükleyiciyi web sitelerinden kaldırmış olsalar da, son sürüm olan v3.9'u indirmek hala mümkün. Google'a "indir picasa 3.9" bol miktarda hit verecektir. Rastgele bir siteden indirmeye istekliyseniz, resmi Google yüklemesine İnternet Arşivi Wayback Makinesi yoluyla erişilebilir. Daha fazla bilgi için buraya bakınız: sites.google.com/site/picasaresources/Home/Picasa-FAQ/picasa/…
SimonTewsi

0

Ayrıca, Ubuntu'daki Shotwell Photo Manager (13.10 sürümündeki geçerli varsayılan fotoğraf yöneticisi), seçilen fotoğraflar için tarih / saat ayarlayan bir menüye sahiptir . En son içe aktarma filtresiyle birlikte, içe aktarılan fotoğrafları yanlış tarih ve saatle bir kameradan kolayca ayarlayabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.