Làm cách nào để tách thẻ khỏi JPEG mà không xóa cấu hình màu?


7

Trước đây, tôi đã sử dụng exiftool để loại bỏ siêu dữ liệu không cần thiết khỏi các tệp jpg (và để thêm thông tin bản quyền) trước khi tải chúng lên:

exiftool -all= image.jpg

Tuy nhiên, hôm nay tôi nhận thấy rằng điều này có thể làm hỏng hình ảnh khi phần mềm chỉnh sửa của tôi nhúng thông tin màu bổ sung vào siêu dữ liệu (xem ví dụ bài viết này ).

Hình ảnh méo mó và nguyên bản.

Bên trái là hình ảnh bị hỏng và bên phải là bản gốc bên ngoài của nhà phát triển thô.

Câu hỏi của tôi bây giờ là, thẻ meta nào an toàn để tước và cái nào cần thiết để giữ? Ví dụ, dựa trên các thẻ ICC hình ảnh (nghĩa là -icc_profile:all) không nên bị tước nếu chúng tồn tại? (Có thể trùng lặp câu hỏi này .)


2
Điều này dường như hoạt động: exiftool -all= image.jpg -tagsfromfile @ -colorspace -interopindex -icc_profile(Theo câu trả lời từ câu hỏi trùng lặp.)
Jens

3
Bạn có thể trả lời câu hỏi của riêng bạn dưới dạng câu trả lời thay vì nhận xét và câu trả lời đó sẽ được tăng hoặc giảm. ;-)
TFuto

@StarGeek Đăng đó là một câu trả lời, xin vui lòng.
Vui lòng đọc hồ sơ của tôi

1
Các bạn có thể gửi bình luận ExifTool như câu trả lời? Tốt hơn với một chút công phu về các chi tiết cụ thể? Cảm ơn!
jrista

Câu trả lời:


8

Vì có một yêu cầu đăng bình luận của tôi như một câu trả lời, đây là phiên bản cập nhật.

ExifTool -All= --ColorSpaceTags DIRorFILES
exiftool -all= -TagsFromFile @ -ColorSpaceTags DIRorFILES

Lệnh này sẽ xóa gần như tất cả siêu dữ liệu nhưng giữ lại các thẻ ExifIFD: ColorSpace, ExifIFD: Gamma, InteropIFD: Interop Index và ICC_Profile. ColorSpaceTags là một phím tắt ExifTool cho "các thẻ tiêu chuẩn mang thông tin không gian màu" (được thêm vào trong phiên bản 9.51). Các tùy chọn dấu gạch ngang đôi cho thấy nó được loại trừ khỏi các -All=hoạt động thẻ xóa. Chỉnh sửa: Cập nhật với một lệnh tốt hơn. Xóa tất cả dữ liệu, sau đó sao chép thông tin màu trở lại vào tệp với -TagsFromFile @.

Có một số hãy cẩn thận. -All=sẽ không xóa khối Adobe APP14 trong jpeg, vì điều này có thể ảnh hưởng đến màu sắc của hình ảnh. Không có thông tin cá nhân nào được giữ trong khối này, vì vậy thông thường không cần phải xóa nó. Nó cũng sẽ không xóa các thẻ Exif trong tệp dựa trên tiff hoặc tiff như hình ảnh thô của Nikon hoặc Canon (NEF hoặc CR2), vì chính dữ liệu hình ảnh được chứa trong khối Exif. -CommonIFD0=có thể được thêm vào lệnh để xóa hầu hết các thẻ Exif phổ biến trong các hình ảnh này (xem thẻ Phím tắt ExifTool để biết danh sách đầy đủ các thẻ có trong phím tắt CommonIFD0).


Không hoạt động với exiftool 10.80cho các tệp JPEG - cấu hình màu cũng bị xóa.
Tên hiển thị

1
@SargeBorsch, được cập nhật với lệnh tốt hơn.
StarGeek

0

Tôi không khuyên bạn nên xóa siêu dữ liệu khỏi hình ảnh gốc của mình. Thật ý nghĩa khi làm điều này cho hình ảnh mà bạn muốn chia sẻ hoặc xuất bản, trong giai đoạn xuất khẩu vì những lý do tiếp theo:

  • Bạn có thể xem siêu dữ liệu của một số hình ảnh đẹp của bạn sau này, để xem mức độ hiển thị của chúng, thông tin GPS, v.v ...
  • Giống như Paul đã nói, hình ảnh có cấu hình sRGB sẽ được xem chính xác 99,9% trên bất kỳ thiết bị hoặc trình duyệt web nào trong khi hình ảnh với cấu hình khác có thể được hiển thị không thể đoán trước cho người khác.
  • Hình ảnh của bạn có thể được tối ưu hóa để xem tốt hơn và nhanh hơn khi xuất
  • Bạn có thể thực hiện nhiều thao tác xử lý hậu kỳ khác với hình ảnh của mình trong quá trình xuất như làm sắc nét, áp dụng hình mờ, v.v ...

Vì vậy, đề xuất của tôi là: không xóa siêu dữ liệu khỏi hình ảnh có giá trị cho bạn. Và thay vào đó, hãy sử dụng phần mềm quản lý ảnh để xuất hình ảnh của bạn sang đúng định dạng, áp dụng hồ sơ của bạn, loại bỏ siêu dữ liệu, gán bản quyền và thông tin liên hệ và thêm hình mờ của bạn.


5
Tôi xóa ít nhất tất cả dữ liệu XMP vì điều đó không đóng góp gì cho hình ảnh và gần như là vấn đề riêng tư đối với tôi.
Jens
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.