Cómo quitar información EXIF ​​de archivos en OSX con lote o línea de comando

18

Sé que hay varios programas de Windows para hacer esto, y Photoshop tiene una opción "Guardar para Web" que hace esto, pero quiero una línea de comando o una opción de procesamiento por lotes para esto. ¿Alguna idea?

cwd
fuente
¿Has probado Automator, tal vez con acciones de terceros (por ejemplo, Pixelmator?)?
Daniel Beck

Respuestas:

30

Echa un vistazo a Imagemagick . Su -stripopción borra una imagen de cualquier perfil y comentario.

convert orig.jpg -strip result.jpg

o

mogrify -strip orig.jpg

Aquí hay más información sobre el manejo de fotos con Imagemagick.

Ellesa
fuente
1
No quería pasar mucho tiempo y, aunque estaba interesado en trabajar con Imagemagick, pasé más de 10 minutos configurándolo. Probé SmallImage y obtuve lo que quería en 2 min.
1
@ user200507 Para citar el OP, "Quiero una opción de línea de comando o una opción de procesamiento por lotes para esto". Considero que Imagemagick es el mejor en esto.
Ellesa
Imagemagick striptambién eliminó los canales verde y azul de mi círculo rojo semitransparente, dejando un círculo rojo opaco sin metadatos.
psoft
6

Uso Mac OS X, actualmente 10.9 (Mavericks), y me gusta usar ExifTool para operaciones de metadatos por lotes como esta. Lo he usado desde Mac OS X 10.6 en adelante e incluso en diferentes sabores de Linux como Ubuntu y funciona muy bien.

En cuanto a las secuencias de comandos masivas, utilizo esta secuencia de comandos Bash muy simple que se utiliza findpara borrar todos los metadatos de las imágenes; en este caso imágenes JPEG ( .jpg):

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

Para usar la secuencia de comandos, simplemente cambie 'Path/To/The/Images'para que coincida con la ruta real del directorio del archivo de imagen; puede ser una ruta completa o relativa y, en este caso, es relativa. Y puede cambiar '*.jpg'para que coincida con la extensión de archivo en la que desea actuar o incluso configurarla '*'para procesar ciegamente todos los archivos. Normalmente trato con archivos JPEG, por lo tanto, la .jpgextensión de este pequeño script de ejemplo.

Y la magia central de ese script es el exiftoolcomando real que se puede simplificar aún más a esto:

exiftool -all= -overwrite_original_in_place image_filename.jpg

Esto -all=es lo que borra los metadatos al establecer todos los campos de metadatos en el valor que no equivale a nada. El -overwrite_original_in_placesobrescribirá la imagen real. No reprocesa la imagen después de leer el archivo, actúa sobre los metadatos y la escribe de nuevo en el sistema. Sin esa bandera, exiftoolse copiará el archivo original con una extensión que se le haya _originalagregado; así sería en este caso image_filename.jpg_original. Y el parámetro final es simplemente el nombre de archivo sobre el que desea actuar.

JakeGould
fuente
0

La herramienta exiv2 (instalable usando homebrew) proporciona una forma rápida y sencilla de eliminar la información EXIF ​​de uno o más archivos, por ejemplo:

exiv2 rm myfile1.jpg myfile1.jpg  
Pierz
fuente