Bagaimana cara mendapatkan / mengedit meta-data EXIF ​​dari banyak gambar?

30

Saya mengalami masalah besar kemarin malam.

Saya mengeluarkan kamera digital lama saya, dan mulai menggunakannya tanpa mengatur tanggal dan waktu saat ini.

Semua foto yang diklik sekarang memiliki tanggal 01 Januari 2009

Saya ingin mengubah tanggal dan waktu (dan meta-data gambar EXIF ​​lainnya) dari banyak gambar.

Harap rekomendasikan beberapa perangkat lunak yang dapat memproses banyak gambar dengan sekali klik / lanjut.

IM-JM
sumber

Jawaban:

31

Karena Anda sudah memiliki solusi GUI, saya pikir saya akan menyebutkan bahwa ada juga beberapa cara untuk mengubah data EXIF ​​pada baris perintah; dua alat yang bermanfaat adalah exiftooldan jhead, yang dapat diinstal dengan perintah ini:

sudo apt-get install libimage-exiftool-perl jhead

Dengan kedua alat ini Anda dapat beroperasi pada banyak file sekaligus, tetapi Anda mungkin ingin membuat cadangan file Anda sebelum Anda mulai memanipulasi data exif.

jhead

Untuk mengubah waktu dan tanggal data EXIF ​​pada sejumlah file 'dalam satu klik', Anda dapat membuka terminal dan lakukan cdke folder dengan gambar dan jalankan:

jhead -ts2012:10:29-10:28:03 *.jpg

The -tsswitch memungkinkan Anda untuk menentukan tanggal dan waktu yang diperlukan dan menulis ke header exif semua dalam satu pergi: format yang ditentukan di sini adalah YYYY:MM:DD-HH:MM:SS.

Jika Anda hanya ingin mengubah tanggal tanpa menentukan waktu, Anda akan menggunakan:

jhead -ds2012:10:29 *.jpg

Anda juga dapat melakukannya hanya untuk satu gambar yang diambil dengan kamera tertentu jika Anda menentukan, misalnya, -model "D70"tetapi pilihan itu harus menjadi yang pertama dalam pemrosesan, dan harus seperti "D70", "S100" dan bukan "Nikon D70 ". Lihatlah pembacaan exif dari gambar Anda untuk mendapatkan nomor model yang benar.

jhead -model "D70" -ts2012:10:29-10:28:03 *.jpg

Untuk informasi lebih lanjut, lihat man jhead.

exiftool

Utilitas ini memiliki lebih banyak opsi daripada jhead dan sangat komprehensif, seperti dicatat di situs resmi . Ada antarmuka grafis untuk exiftool dalam pengembangan, tetapi saat ini masih dalam tahap awal, tetapi terlihat menjanjikan.

Opsi pengalihan tanggal dan waktu, dan format mana yang dapat digunakan cukup luas, seperti yang dijelaskan di sini dalam pdf bermanfaat ini . Seperti halnya jhead , Anda dapat memutuskan untuk mengubah waktu dan tanggal, atau hanya kencan. Contoh ini mengubah tanggal dan waktu:

exiftool -AllDates="2012:03:14 12:25:00" *.jpg

Contoh di atas hanya menetapkan nilai tertentu untuk tanggal dan waktu gambar; jika Anda ingin menggeser semuanya dengan indeks waktu tertentu, seperti tiga tahun ke depan, Anda dapat menggunakan:

exiftool -AllDates+="3:0:0 0" *.jpg

Fitur pemindahan dapat sangat berguna jika, seperti yang terjadi pada Anda, foto Anda tiba-tiba ditandai tahun 2009, meskipun diambil pada tahun 2012. Pastikan Anda menggunakan tanda plus atau minus sebelum sama dengan (seperti dalam -AllDates-=atau-AllDates+= ), tergantung pada apa yang ingin Anda capai ketika Anda menetapkan indeks waktu yang diperlukan, atau data EXIF ​​yang dihasilkan tidak akan seperti yang diharapkan.

exiftoolakan membuat cadangan dari dokumen asli sebelum mengedit data EXIF ​​dengan menambahkan dokumen asli di akhir nama file.

exiftool mendukung lebih banyak tipe gambar daripada jhead yang hanya berfungsi untuk JPEG.

Untuk informasi lebih lanjut, lihat man exiftool.

Pablo A
sumber
1
+1, Jawaban luar biasa Mik. Ini jauh lebih fleksibel daripada hanya menggunakan Shotwell.
Tom Brossman
Saya menemukan jawaban ini karena saya sedang mencari cara menambahkan data EXIF ​​ke gambar jpg yang tidak memilikinya di tempat pertama. Untuk itu, saya menemukan bahwa saya perlu jhead -mkexif -ts<date>.
Ian
jhead sangat bagus untuk digunakan.
Harald
1. Perhatikan bahwa sayangnya standar EXIF tidak termasuk info zona waktu . 2. Alih-alih tanda bintang Anda bisa menggunakan ekspansi brace: DSCN{120..345}.jpg. 3. Untuk mengubah cap waktu file menggunakan yang lain sebagai referensi gunakantouch -r ~/path/reference.jpg *.jpg
Pablo A
21

Mengubah tanggal dan waktu mudah di Shotwell. Pilih foto yang ingin Anda sesuaikan dan buka menu seperti ini:

menu shotwell

Pilih Foto / Sesuaikan tanggal dan waktu. Itu memunculkan menu seperti ini:

tanggal waktu menyesuaikan

Jika semua foto dimatikan dengan jumlah yang sama, Anda dapat melakukannya semuanya sekaligus. Jika Anda menggunakan lebih dari satu kamera dan mereka mati dalam jumlah yang berbeda, Anda harus membaginya dan melakukan setiap batch secara terpisah.

Halaman bantuan Shotwell yang menjelaskan ini ada di sini .

Tom Brossman
sumber
Ini adalah cara yang tepat untuk melakukan ini dengan tanggal dan waktu. Terima kasih banyak sudah berbagi.
Geppettvs D'Constanzo
Opsi menu utama Shotwell tidak muncul di sini. Apakah itu bug Xenial Xerus?
Leonardo Castro
3

Pertanyaan ini meminta EXIF, tetapi metadata gambar setidaknya memiliki tiga standar yang dapat dilampirkan pada gambar, EXIF, XMP, dan IPTC. Banyak program foto akan menulis ke semua format ini, tetapi tidak semua, jadi penting untuk memeriksa semuanya.

Saya telah menemukan itu exifadalah alat yang baik, tetapi itu exiv2lebih baik. Bandingkan 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)
--------------------+----------------------------------------------------------

Kepada 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

Perbedaan besar di sini adalah bahwa kata kunci dalam XMP dan IPTC tidak sama sekali dalam EXIF ​​dan jadi jika saya hanya melihat di sana, saya pikir itu tidak memiliki kata kunci.

Saya memberi perintah exiv2 -p a my-image.jpgkarena itu menampilkan ketiga bentuk metadata. Meninggalkan -p ahanya akan menunjukkan kepada Anda data EXIF.

mlissner
sumber