Làm cách nào để có / chỉnh sửa siêu dữ liệu EXIF ​​của nhiều hình ảnh?


30

Tôi gặp vấn đề lớn tối hôm qua.

Tôi lấy máy ảnh kỹ thuật số cũ của mình ra và bắt đầu sử dụng nó mà không cài đặt ngày giờ hiện tại.

Tất cả các hình ảnh được nhấp bây giờ có ngày là ngày 1 tháng 1 năm 2009

Tôi muốn thay đổi ngày và giờ (và dữ liệu meta hình ảnh EXIF ​​khác) của nhiều hình ảnh.

Vui lòng giới thiệu một số phần mềm có thể xử lý trên nhiều hình ảnh trong một lần nhấp / đi.

Câu trả lời:


31

Vì bạn đã có một giải pháp GUI, tôi nghĩ tôi sẽ đề cập rằng cũng có một số cách thay đổi dữ liệu EXIF ​​trên dòng lệnh; hai công cụ hữu ích là exiftooljheadcó thể được cài đặt bằng lệnh này:

sudo apt-get install libimage-exiftool-perl jhead

Với cả hai công cụ này, bạn có thể thao tác trên nhiều tệp cùng một lúc, nhưng bạn có thể muốn sao lưu các tệp của mình trước khi bắt đầu thao tác dữ liệu exif.

jhead

Để thay đổi thời gian và ngày dữ liệu EXIF ​​trên một số tệp 'chỉ bằng một cú nhấp chuột', bạn có thể mở thiết bị đầu cuối và thực hiện cdvới thư mục có ảnh và chạy:

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

Công -tstắc cho phép bạn chỉ định ngày và thời gian cần thiết và ghi nó vào tiêu đề exif tất cả trong một lần: định dạng được chỉ định ở đây là YYYY:MM:DD-HH:MM:SS.

Nếu bạn chỉ muốn thay đổi ngày mà không chỉ định thời gian, bạn sẽ sử dụng thay thế:

jhead -ds2012:10:29 *.jpg

Bạn cũng có thể làm điều đó chỉ với một số hình ảnh được chụp bằng một máy ảnh cụ thể nếu bạn đã chỉ định, chẳng hạn -model "D70", nhưng tùy chọn đó phải được ưu tiên hàng đầu trong quá trình xử lý và phải là một cái gì đó như "D70", "S100" chứ không phải "Nikon D70 ". Nhìn vào chỉ số exif từ hình ảnh của bạn để có được số mô hình chính xác.

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

Để biết thêm thông tin, xem man jhead.

exiftool

Tiện ích này có nhiều tùy chọn hơn jhead và rất toàn diện, như đã lưu ý tại trang web chính thức . Có một lối vào đồ họa cho exiftool đang phát triển, nhưng nó đang ở giai đoạn đầu tại thời điểm này, nhưng có vẻ đầy hứa hẹn.

Các tùy chọn thay đổi ngày và thời gian, và định dạng nào có thể được sử dụng khá rộng rãi, như chi tiết ở đây trong pdf hữu ích này . Như với jhead , bạn có thể quyết định thay đổi thời gian và ngày, hoặc chỉ ngày. Ví dụ này thay đổi cả ngày và giờ:

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

Ví dụ trên chỉ đặt một giá trị cụ thể cho ngày và thời gian của hình ảnh; nếu bạn muốn thay đổi tất cả theo một chỉ số thời gian nhất định, chẳng hạn như ba năm tới, bạn có thể sử dụng:

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

Tính năng dịch chuyển có thể rất hữu ích nếu như đã xảy ra với bạn, những bức ảnh của bạn đột nhiên được đánh dấu năm 2009, mặc dù chúng được chụp vào năm 2012. Hãy chắc chắn rằng bạn sử dụng dấu cộng hoặc dấu trừ trước dấu bằng (như trong -AllDates-=hoặc -AllDates+=), tùy thuộc về những gì bạn muốn đạt được khi bạn chỉ định thời gian cần thiết hoặc dữ liệu EXIF ​​kết quả sẽ không như mong đợi.

exiftoolsẽ tạo bản sao lưu của bản gốc trước khi chỉnh sửa dữ liệu EXIF thêm bản gốc vào cuối tên tệp.

exiftoolhỗ trợ nhiều loại hình ảnh hơn jheadchỉ hoạt động cho JPEG.

Để biết thêm thông tin, xem man exiftool.


1
+1, câu trả lời xuất sắc Mik. Điều này linh hoạt hơn nhiều so với chỉ sử dụng Shotwell.
Tom Brossman

Tôi vấp phải câu trả lời này vì tôi đang xem cách thêm dữ liệu EXIF ​​vào hình ảnh jpg không có nó ở vị trí đầu tiên. Đối với điều đó, tôi thấy rằng tôi cần jhead -mkexif -ts<date>.
Ian

jhead chỉ là tuyệt vời để sử dụng.
Harald

1. Lưu ý rằng thật không may, tiêu chuẩn EXIF không bao gồm thông tin múi giờ . 2. Thay vì dấu hoa thị, bạn có thể sử dụng mở rộng dấu ngoặc : DSCN{120..345}.jpg. 3. Để thay đổi dấu thời gian của tệp bằng cách sử dụng khác làm tham chiếutouch -r ~/path/reference.jpg *.jpg
Pablo A

21

Thay đổi ngày và giờ dễ dàng trong Shotwell. Chọn ảnh bạn muốn điều chỉnh và vào menu như thế này:

thực đơn shotwell

Chọn Ảnh / Điều chỉnh ngày giờ. Điều đó mang đến một menu như thế này:

ngày giờ điều chỉnh

Nếu tất cả các bức ảnh bị tắt bởi cùng một số tiền, bạn có thể thực hiện tất cả chúng trong một lần. Nếu bạn đã sử dụng nhiều máy ảnh và chúng bị tắt bởi số lượng khác nhau, bạn phải chia chúng và thực hiện từng lô riêng biệt.

Trang trợ giúp của Shotwell giải thích điều này ở đây .


Đây là cách đúng đắn để làm điều này với ngày và thời gian. Cảm ơn bạn rất nhiều vì đã chia sẻ.
Geppettvs D'Constanzo

Các tùy chọn menu hàng đầu của Shotwell không hiển thị ở đây. Có phải đó là lỗi của Xenial Xerus?
Leonardo Castro

3

Câu hỏi này yêu cầu EXIF, nhưng siêu dữ liệu hình ảnh có ít nhất ba tiêu chuẩn có thể được gắn vào hình ảnh, EXIF, XMP và IPTC. Nhiều chương trình ảnh sẽ ghi vào tất cả các định dạng này, nhưng không phải tất cả, vì vậy điều quan trọng là phải kiểm tra tất cả các định dạng.

Tôi thấy rằng đó exiflà một công cụ tốt, nhưng nó exiv2tốt hơn. So sánh 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)
--------------------+----------------------------------------------------------

Tới 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

Sự khác biệt lớn ở đây là các từ khóa trong XMP và IPTC hoàn toàn không có trong EXIF ​​và vì vậy nếu tôi chỉ nhìn vào đó, tôi nghĩ rằng nó không có từ khóa.

Tôi đã đưa ra lệnh exiv2 -p a my-image.jpgvì nó hiển thị cả ba dạng siêu dữ liệu. Rời khỏi -p asẽ chỉ cho bạn thấy dữ liệu EXIF.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.