2 votes

Comment supprimer un profil ColorSync d'une image JPEG à partir de Terminal dans El Capitan ?

J'ai plusieurs images dont je voudrais retirer le profil ColorSync. À terme, j'aimerais automatiser cette opération dans bash afin de pouvoir la traiter facilement sur un fichier ou un dossier à partir du menu contextuel en utilisant un service Automator.

Comment dépouiller un profil de couleur d'un fichier image à l'aide du Terminal ?

5voto

Martin Woodward Points 9972

Utilisez sips (système de traitement d'image scriptable) pour supprimer un profil de couleur ICC d'un fichier image dans El Capitan. sips fait une tonne d'autres choses aussi.

Pour supprimer le profil ICC ColorSync d'une image :

sips -d profile --deleteColorManagementProperties <imagefile>

Exemple :

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

Il semble qu'il prenne en charge les types d'images suivants, mais je me base sur l'image suivante format clé de propriété de l'image (voir Options dans la page de manuel) :

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

Voir la page de manuel pour plus d'informations, ou utiliser sips -h pour l'aide vers stdout.

1voto

Tom Loredo Points 133

La réponse d'OP @Emeraldo est tout à fait pertinente : vous pouvez utiliser la fonction sips (scriptable image processing system) commande de terminal pour supprimer le profil de couleur d'une image JPEG (ou PNG). Cette opération est souvent nécessaire pour que les couleurs d'une image produite avec une application graphique s'affichent correctement dans un navigateur.

J'ajouterai qu'Apple fournit un script qui fera cela pour vous sans que vous ayez à ouvrir un terminal ou à vous souvenir de la syntaxe de commande légèrement non triviale. Dans /System/Library/Scripts/ColorSync ( /Library/Scripts/ColorSync sur Catalina) est une gouttelette AppleScript, Remove.app . Si vous déposez un ou plusieurs fichiers image dessus, il supprime le ou les profils de couleur. Si vous ouvrez le droplet avec l'éditeur script, vous constaterez qu'il exécute un fichier sips comme l'a décrit @Emeraldo. La question originale indiquait l'espoir d'automatiser le processus dans Automator ; ce script serait un excellent point de départ pour cela (si sa fonction de gouttelette n'est pas déjà suffisante pour la tâche de conversion par lots indiquée).

Je ne sais pas depuis combien de temps ce script est disponible, mais sur mon système High Sierra, le fichier d'application a des données de création de 2012. Le script lui-même a un commentaire donnant une date de 2009. Je soupçonne donc qu'il existe depuis un certain temps. J'aurais aimé le connaître il y a des années. J'avais l'habitude d'utiliser un widget Dashboard appelé "PNG Pong" pour cela, mais il n'est plus disponible. J'ai appris l'existence de la gouttelette dans un post du forum d'Adobe en 2010 : Comment supprimer le profil de couleur d'une image | Communauté Adobe (bien que l'emplacement du script ait légèrement changé depuis 2010).

0voto

Sparkida Points 121

Après avoir installé ImageMagick (de préférence avec HomeBrew), exécutez cette commande de Terminal :

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

où in.jpg est votre image source et out.jpg est le nom que vous voulez donner à votre nouvelle image. Cette commande supprime le profil icc (mais conserve tous les autres) de in.jpg.

Pour voir quels sont les profils d'une image, vous pouvez également inspecter une image avec ImageMagick :

identify -verbose in.jpg

Les profils se trouvent dans la section "Profils :" de la chaîne de sortie. Voici quelques profils courants (vos chiffres peuvent varier)

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X