GNU/Linux >> Tutoriels Linux >  >> Linux

Convertir une image en niveaux de gris en image de canal alpha dans le shell Unix

Ooook. Après avoir beaucoup cherché sur Google et lu plus de manuel ImageMagick que je ne m'en soucie réellement, voici la réponse. Étant donné que vous avez une image en niveaux de gris appelée source.png , voici mes commandes.

Pour rendre rendre les pixels noirs transparents et conserve les pixels blancs tels quels, exécutez cette commande :

 convert source.png -alpha copy -fx '#fff' result.png

Pour à la place rendre les pixels blancs transparents tout en gardant le noir tel quel, utilisez :

 convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png

Expliquons un peu plus en détail cette dernière commande :

  • convert – Est-ce que la commande ImageMagic (une parmi plusieurs)
  • source.png – L'image source en niveaux de gris.
  • -alpha copy – Copiez le contenu du fichier précédent dans le canal alpha.
  • -channel alpha – Spécifiez que seuls les opérateurs suivants doivent affecter le canal alpha.
  • -negate – Inverser le canal alpha (sera, à cause du précédent -chanel alpha n'affecte aucune autre partie de l'image).
  • +channel – Spécifiez que seuls les opérateurs suivants doivent affecter les canaux de couleur et ne plus modifier le canal alpha. (Il s'agit de la valeur par défaut, et nous n'avons donc pas besoin de la fournir dans le premier exemple plus simple.)
  • -fx '#000' – Remplacez le contenu du canal de couleur par des pixels noirs. (En raison de +channel le canal alpha ne sera pas affecté).

Il est très important d'inclure ce dernier -fx option, sinon tous les pixels semi-transparents de l'image générée conserveront leurs couleurs. (Étant donné que ces pixels sont à moitié transparents, ce n'est peut-être pas évident, mais le résultat final n'est pas celui auquel on s'attend.)

J'ai trouvé la liste des options d'ImageMagick très utile.


Linux
  1. Tableaux dans Unix Bourne Shell ?

  2. Utilisation des touches Vi pour modifier les commandes Shell sous Unix ?

  3. Extensions de fichiers pour les scripts shell Unix ?

  4. Convertir la clé privée Openssh en clé privée Ssh2 ?

  5. 4 façons d'exécuter un script shell sous UNIX / Linux

Convertissez votre installation Windows en VM sous Linux

Comment convertir un fichier Windows en un fichier UNIX

Convertir la sortie ls en csv

Convertir l'image en texte

Comment convertir une image disque Linux en un fichier sparse ?

Comment convertir un PDF en niveaux de gris