Как удалить EXIF-информацию из файлов в OSX с помощью пакета или командной строки

18

Я знаю, что для этого есть несколько программ для Windows, и у Photoshop есть опция «Сохранить для Web», которая делает это, но я хочу использовать для этого командную строку или пакетную обработку. Есть предположения?

УХО
источник
Вы пробовали Automator, возможно, с действиями третьих лиц (например, Pixelmator?)?
Даниэль Бек

Ответы:

30

Посмотрите на Imagemagick . Его -stripвариант очистки изображения любых профилей и комментариев.

convert orig.jpg -strip result.jpg

или

mogrify -strip orig.jpg

Вот больше информации об обработке фотографий с Imagemagick.

Ellesa
источник
1
Я не хотел тратить много времени и, хотя мне было интересно работать с Imagemagick, потратил 10+ минут на его настройку. Я попробовал SmallImage и получил то, что хотел через 2 минуты.
1
@ user200507 Чтобы процитировать OP, «я хочу параметр командной строки, или вариант пакетной обработки для этого». Я поддерживаю Imagemagick как лучший в этом.
Ellesa
Imagemagick stripтакже удалил зеленый и синий каналы из моего полупрозрачного красного круга, оставив непрозрачный красный круг без метаданных.
Позитив
6

Я использую Mac OS X - в настоящее время 10.9 (Mavericks) - и мне нравится использовать ExifTool для таких операций с метаданными в пакетном режиме. Использовали его начиная с Mac OS X 10.6 и даже в разных версиях Linux, таких как Ubuntu, и это прекрасно работает.

Что касается массовых сценариев, я использую этот очень простой сценарий Bash, который используется findдля удаления всех метаданных из изображений; в этом случае изображения JPEG ( .jpg):

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

Чтобы использовать скрипт, просто измените его, 'Path/To/The/Images'чтобы он соответствовал вашему фактическому пути к каталогу файлов изображений; это может быть полный путь или относительный, и в этом случае это относительно. И вы можете изменить его '*.jpg'в соответствии с тем расширением файла, с которым хотите работать, или даже установить его '*'для слепой обработки всех файлов. Я обычно имею дело с JPEG, таким образом, .jpgрасширением в этом небольшом примере скрипта.

И основная магия этого скрипта - это exiftoolкоманда, которая может быть упрощена до следующего:

exiftool -all= -overwrite_original_in_place image_filename.jpg

Это -all=то, что стирает метаданные, устанавливая для всех полей метаданных значение, равное ничему. -overwrite_original_in_placeПерепишет реальное изображение. Он не обрабатывает изображение после чтения файла, обработки метаданных и записи их обратно в систему. Без этого флага exiftoolбудет скопирован исходный файл с _originalдобавленным к нему расширением ; так в этом случае было бы image_filename.jpg_original. И последний параметр - это просто имя файла, с которым вы хотите работать.

JakeGould
источник
0

Инструмент exiv2 (устанавливается с помощью homebrew) обеспечивает быстрый и простой способ удаления информации EXIF ​​из одного или нескольких файлов, например:

exiv2 rm myfile1.jpg myfile1.jpg  
Пирз
источник