Як знімати інформацію EXIF ​​з файлів в OSX за допомогою пакетного чи командного рядка


19

Я знаю, що для цього є кілька програм Windows, і у Photoshop є параметр "Зберегти для Інтернету", який робить це, але я хочу командний рядок або пакетну обробку для цього. Будь-які думки?


Ви пробували Automator, можливо, з сторонніми діями (наприклад, Pixelmator?)?
Даніель Бек

Відповіді:


32

Погляньте на Imagemagick . Її -stripпараметр дозволяє очистити зображення будь-яких профілів та коментарів.

convert orig.jpg -strip result.jpg

або

mogrify -strip orig.jpg

Ось додаткові відомості про обробку фотографій за допомогою Imagemagick.


1
Я не хотів витрачати багато часу, і хоча мені було цікаво працювати з Imagemagick, витратьте на його налаштування 10+ хвилин. Я спробував SmallImage і отримав те, що хотів за 2 хв.

1
@ user200507 Цитуючи OP, "я хочу параметр командного рядка або варіант пакетної обробки для цього." Я стою біля Imagemagick як найкращого в цьому.
Ellesa

Imagemagick stripтакож позбавив зелений і синій канали з мого напівпрозорого червоного кола, залишивши неметалічні непрозорі червоні кола.
psoft

6

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

Що стосується масових сценаріїв, я використовую цей дуже просто сценарій Bash, який використовує, findщоб стерти всі метадані із зображень; у цьому випадку .jpgзображення JPEG ( ):

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. І останній параметр - це просто ім'я файлу, над яким ви хочете діяти.



0

Інструмент exiv2 (інстальований за допомогою домашнього перекладу) забезпечує швидкий і простий спосіб видалення інформації EXIF ​​з одного або декількох файлів, наприклад:

exiv2 rm myfile1.jpg myfile1.jpg  
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.