Jak usunąć informacje EXIF ​​z plików w OSX za pomocą wsadowej lub wiersza poleceń

19

Wiem, że jest do tego kilka programów Windows, a Photoshop ma opcję „Zapisz dla Internetu”, która to robi, ale chcę w tym celu linii poleceń lub opcji przetwarzania wsadowego. jakieś pomysły?

cwd
źródło
Czy próbowałeś Automatora, może z działaniami stron trzecich (np. Pixelmator?)?
Daniel Beck

Odpowiedzi:

32

Spójrz na Imagemagick . Jego -stripopcja wyczyść obraz wszelkich profili i komentarzy.

convert orig.jpg -strip result.jpg

lub

mogrify -strip orig.jpg

Oto więcej informacji na temat obsługi zdjęć za pomocą Imagemagick.

Ellesa
źródło
1
Nie chciałem spędzać dużo czasu i chociaż byłem zainteresowany pracą z Imagemagick, poświęć ponad 10 minut na jego konfigurowanie. Próbowałem SmallImage i dostałem to, co chciałem w 2 minuty.
1
@ user200507 Cytując OP: „Chcę opcji wiersza polecenia lub opcji przetwarzania wsadowego w tym celu”. Uważam, że Imagemagick jest w tym najlepszy.
Ellesa
Imagemagick usunął striprównież zielony i niebieski kanał z mojego półprzezroczystego czerwonego koła, pozostawiając nieprzezroczyste czerwone koło bez metadanych.
psoft
6

Używam Mac OS X - obecnie 10.9 (Mavericks) - i lubię używać ExifTool do takich operacji metadanych wsadowych. Korzystałem z niego w systemie Mac OS X 10.6 i nowszych wersjach systemu Linux, takich jak Ubuntu, i działa świetnie.

Jeśli chodzi o skrypty zbiorcze, używam tego bardzo prostego skryptu Bash, findktóry usuwa wszystkie metadane z obrazów; w tym przypadku .jpgobrazy JPEG ( ):

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

Aby użyć skryptu, po prostu zmień tak, 'Path/To/The/Images'aby pasował do rzeczywistej ścieżki do katalogu pliku obrazu; może to być pełna ścieżka lub krewny, w tym przypadku jest względny. I możesz zmienić, '*.jpg'aby dopasować do dowolnego rozszerzenia pliku, na którym chcesz działać, lub nawet ustawić '*'na ślepo przetwarzanie wszystkich plików. Zwykle mam do czynienia z plikami JPEG, więc .jpgrozszerzenie w tym małym przykładowym skrypcie.

Podstawową magią tego skryptu jest właściwe exiftoolpolecenie, które można dodatkowo uprościć:

exiftool -all= -overwrite_original_in_place image_filename.jpg

To, -all=co wyciera metadane, ustawiając wszystkie pola metadanych na wartość, która jest niczym. -overwrite_original_in_placeZastąpi rzeczywistego obrazu. Nie przetwarza obrazu po odczytaniu pliku, działając na metadane i zapisując go z powrotem do systemu. Bez tej flagi exiftoolskopiuje oryginalny plik z _originaldołączonym rozszerzeniem ; tak w tym przypadku byłoby image_filename.jpg_original. Ostatnim parametrem jest po prostu nazwa pliku, na którym chcesz działać.

JakeGould
źródło
0

Exiv2 narzędzie (instalowane przy użyciu homebrew) zapewnia szybki i prosty sposób, aby usunąć informacje EXIF z jednego lub więcej plików, np:

exiv2 rm myfile1.jpg myfile1.jpg  
Pierz
źródło