Cách tách thông tin EXIF ​​khỏi các tệp trong OSX bằng lô hoặc dòng lệnh


18

Tôi biết có một số chương trình Windows để làm điều này và Photoshop có tùy chọn "Save for Web", nhưng tôi muốn có một dòng lệnh hoặc tùy chọn xử lý hàng loạt cho việc này. Có suy nghĩ gì không?


Bạn đã thử Automator, có thể với các hành động của bên thứ ba (ví dụ Pixelmator?)?
Daniel Beck

Câu trả lời:


30

Có một cái nhìn tại Imagemagick . -stripTùy chọn của nó xóa một hình ảnh của bất kỳ hồ sơ và ý kiến.

convert orig.jpg -strip result.jpg

hoặc là

mogrify -strip orig.jpg

Dưới đây là thông tin thêm về xử lý ảnh với Imagemagick.


1
Tôi không muốn mất nhiều thời gian và mặc dù rất thích làm việc với Imagemagick, hãy dành hơn 10 phút để cấu hình nó. Tôi đã thử SmallImage và nhận được những gì tôi muốn trong 2 phút.

1
@ user200507 Để trích dẫn OP, "Tôi muốn một tùy chọn dòng lệnh hoặc tùy chọn xử lý hàng loạt cho việc này." Tôi đứng bên cạnh Imagemagick là người giỏi nhất trong việc này.
Ellesa

Imagemagick stripcũng loại bỏ các kênh màu lục và màu xanh khỏi vòng tròn đỏ bán trong suốt của tôi, để lại một vòng tròn màu đỏ mờ không có siêu dữ liệu.
psoft

6

Tôi đang sử dụng Mac OS X, hiện tại là 10.9 (Mavericks) và tôi thích sử dụng ExifTool cho các hoạt động siêu dữ liệu hàng loạt như thế này. Đã sử dụng nó từ Mac OS X 10.6 trở đi và thậm chí trên các hương vị khác nhau của Linux như Ubuntu và nó hoạt động rất tốt.

Theo như kịch bản hàng loạt, tôi sử dụng tập lệnh Bash rất đơn giản này sử dụng findđể xóa tất cả siêu dữ liệu khỏi hình ảnh; trong trường hợp này là hình ảnh JPEG ( .jpg):

find 'Path/To/The/Images' -type f -name '*.jpg' |\
  while read FILENAME
  do
    exiftool -all= -overwrite_original_in_place "${FILENAME}"
  done

Để sử dụng tập lệnh, chỉ cần thay đổi 'Path/To/The/Images'để khớp với đường dẫn thư mục tệp hình ảnh thực tế của bạn; nó có thể là một đường dẫn đầy đủ hoặc tương đối và trong trường hợp này là tương đối. Và bạn có thể thay đổi '*.jpg'để khớp với bất kỳ tiện ích mở rộng tệp nào bạn muốn hành động hoặc thậm chí đặt nó thành'*' xử lý mù quáng tất cả các tệp. Tôi thường xử lý các JPEG do đó.jpg phần mở rộng trong tập lệnh ví dụ nhỏ này.

Và ma thuật cốt lõi cho kịch bản đó là thực tế exiftool lệnh có thể được đơn giản hóa hơn nữa cho điều này:

exiftool -all= -overwrite_original_in_place image_filename.jpg

Đây -all=là những gì xóa sạch siêu dữ liệu bằng cách đặt tất cả các trường siêu dữ liệu thành giá trị không bằng gì. Ý -overwrite_original_in_placechí sẽ ghi đè lên hình ảnh thực tế. Nó không xử lý lại hình ảnh trong quá khứ đọc tệp, hoạt động trên siêu dữ liệu và ghi lại vào hệ thống. Không có cờ đó exiftoolsẽ sao chép tệp gốc có phần mở rộng đã _originalgắn vào nó; Vì vậy, trong trường hợp này nó sẽ được image_filename.jpg_original. Và tham số cuối cùng chỉ đơn giản là tên tệp bạn muốn hành động.



0

Công cụ exiv2 (có thể cài đặt bằng homebrew) cung cấp một cách nhanh chóng và đơn giản để xóa thông tin EXIF ​​khỏi một hoặc nhiều tệp, ví dụ:

exiv2 rm myfile1.jpg myfile1.jpg  
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.