2 votos

¿Cómo elimino un perfil ColorSync de una imagen JPEG desde Terminal en El Capitan?

Tengo varias imágenes a las que me gustaría quitarles el perfil ColorSync. Eventualmente, me gustaría automatizar esto en bash por lo que fácilmente podría procesar esto en un archivo o carpeta desde el menú contextual utilizando un servicio Automator.

¿Cómo eliminar un perfil de color de un archivo de imagen con Terminal?

5voto

Martin Woodward Puntos 9972

Utilice sips (sistema de procesamiento de imágenes programable) para eliminar un perfil de color ICC de un archivo de imagen en El Capitan. sips también hace muchas otras cosas.

Para eliminar el perfil ICC ColorSync de una imagen:

sips -d profile --deleteColorManagementProperties <imagefile>

Por ejemplo:

MyFILE="${HOME}/Pictures/RemoveMyColorSyncProfile.jpg";
sips -d profile --deleteColorManagementProperties "${MyFILE}";

Parece que admite los siguientes tipos de imagen, pero me baso en la format tecla de propiedad de la imagen (véase Opciones en la página del manual):

  • jpeg
  • tiff
  • png
  • gif
  • jp2
  • foto
  • bmp
  • qtif
  • psd
  • sgi
  • tga

Consulte la página man para obtener más información, o utilice sips -h para obtener ayuda en stdout.

0 votos

Acabo de probar el sips en MacOS 11.2.3 y parece que no funciona. El perfil sigue ahí.

1voto

user176692 Puntos 28

OP La respuesta de @Emeraldo da en el clavo: se puede utilizar la función sips (sistema de procesamiento de imágenes programable) para eliminar el perfil de color de una imagen JPEG (o PNG). Esto suele ser necesario para que los colores de una imagen producida con una aplicación gráfica se muestren correctamente en un navegador.

Añadiré que Apple proporciona un script que hará esto por ti sin que tengas que abrir un terminal o recordar la sintaxis de comandos ligeramente no trivial. En /System/Library/Scripts/ColorSync ( /Library/Scripts/ColorSync en Catalina) es un droplet de AppleScript, Remove.app . Si sueltas uno o más archivos de imagen en él, elimina el perfil o perfiles de color. Si abres el droplet con script Editor, verás que ejecuta un sips tal y como describe @Emeraldo. La pregunta original indicaba la esperanza de automatizar el proceso en Automator; este script sería un buen punto de partida para ello (si su función como droplet no es ya suficiente para la tarea de conversión por lotes indicada).

No sé desde cuándo está disponible este script, pero en mi sistema High Sierra el archivo de la app tiene unos datos de creación de 2012. El propio script tiene un comentario que da una fecha de 2009. Así que sospecho que ha estado alrededor por un tiempo. Ojalá lo hubiera sabido hace años. Solía usar un widget de Dashboard llamado "PNG Pong" para esto, pero ya no está disponible. Me enteré del droplet en un post del foro de Adobe de 2010: Cómo eliminar el perfil de color de una imagen | Adobe Community (aunque la ubicación del script ha cambiado ligeramente desde 2010).

0voto

Sparkida Puntos 11

Después de instalar ImageMagick (preferiblemente con HomeBrew), ejecute este comando de Terminal:

convert in.jpg +profile "icc" out.jpg

donde in.jpg es su imagen de origen y out.jpg es el nombre que desea dar a su nueva imagen. Este comando elimina el perfil icc (pero mantiene todos los demás) de in.jpg.

Para ver qué perfiles tiene una imagen, también puede inspeccionarla con ImageMagick:

identify -verbose in.jpg

Los perfiles se encuentran en la sección "Perfiles:" de la cadena de salida. Algunos perfiles comunes son (sus números pueden variar)

Profile-8bim: 40 bytes
Profile-exif: 1788 bytes
Profile-icc: 30240 bytes
Profile-iptc: 0 bytes
Profile-xmp: 2547 bytes

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X