Articles :: Logiciels :: Ligne de commande

ImageMagick (Installation et premiers pas)

Manipuler des images via le terminal.

mercredi 3 novembre 2004 par Sky.X

Sommaire

Il y a une petite merveille relativement simple d’emplois (enfin, on va compliquer) qui se nomme imagemagick.

A quoi sert imagemagick ?

C’est un outils de transformation d’images qui permet la conversion, la déformation et l’édition des images. On peut par exemple fondre 2 images, poser une image sur une autre, ajouter du texte sur une image.

Quelques exemples sont disponibles Attention, une image de 353 Ko .

Attention, la qualité du JPEG ci-dessus est médiocre, mais imagemagick a un rendu bien meilleur.

Vous l’avez compris, c’est l’outil en ligne de commande "à tout faire" sur une image.

Comment l’installer :

Après pas mal d’essais, je passe par i-installer.

Avec i-Installer :
-  Lancer l’application. Menu "i-Package" -> "Know package directory".

-  Installer PNG, Jpeg, libwmf, libconv, Freetype2 et ghostscript pour finir par imagemagick.

Comment l’utiliser :

"convert"

Cette commande a énormément d’options, pour les voir il suffit de taper

convert dans un terminal. Pour plus de facilité, je vous conseille

convert | less qui vous permettra de voir écran par écran la liste des options.

-  parenthèse sur less less est une verison plus moderne et surtout sécurisée de more. Ces 2 programmes permettent d’afficher un texte adapté à la taille de la fenêtre de votre terminal. Pour descendre d’un écran, il faut taper "espace" pour quitter il faut taper q.

Premier pas avec convert :

convert -list format permet d’afficher la liste des format supporté par votre installation (en effet, imagemagick utilise des librairies tierces, celles que vous avez installées avec i-Installer ci dessus par exemple.)

convert -list format | less permet un affichage plus humain.

convert -size 256x256 -resize 32x32 +profile "*" /un/chemin/monfichier.jpeg /un/chemin/petits/monpetitfichier.png convertira une image de 256x256 en 32x32 du jpeg au png.

Explications :
-  -size 256x256 permet de spécifier la taille de l’image en pixel en entrée (ce n’est pas obligatoire, convert sera juste plus rapide avec cette option)
-  resize 32x32 permet d’indiquer la taille cible de l’image (elle sera mise à l’échelle)
-  +profile "*" permet d’enlever toutes les information contenue dans l’image (idéal pour une image postée sur internet.)
-  /un/chemin/monfichier.jpeg est le chemin qui désigne l’image d’entrée. A ce propos, imagemagick sait déterminer le format d’une image, mais vous pouvez "forcer" ce format en mettant par exemple : ps :image (c’est une image postscript.)
-  /un/chemin/petits/monpetitfichier.png est le chemin de l’image transformée. A noter que imagemagick convertira en png le jpeg grâce à l’extension (on peut forcer le format comme précédemment.)

Lire une option : dans la liste des options, on trouve par exemple : " -quality value JPEG/MIFF/PNG compression level "

On en déduit que si l’on veut compresser un JPEG à 50%, il faut ajouter -quality 50 dans la ligne de commande.

Une explication détaillée en anglais aide beaucoup.

les autres commandes : J’espère vous avoir donnée les armes pour "tater" les autres commandes.

-  display n’est pas disponible pour mac OS X sans passer par X11. Affiche l’image dans un viewer.

-  import (Nécésite X11) Copy d’écran (partielle ou totale) de X11

-  montage permet de mettre plusieurs images dans une seule (superposée juxtaposée et plus si affinité).

-  mogrify permet de modifier une image en réécrivant sur l’originale.

-  identify affiche des informations sur l’image

-  composite fond des images ensemble pour n’en faire qu’une.

-  compare compare 2 images.

-  conjure permet de lancer des script imagemagick (une série des commandes précédentes dans un langage de script nommé MSL)

Utilisation avancée :

Convertir un CD d’image PNG de 256x256 pixel en 32x32 pixel (pour faire des miniature pour son site web) peut être fastidieux via photoshop.

Pourtant : find . -name '*.png' -maxdepth 1 -exec /usr/local/bin/convert -size 256x256 -resize 32x32 +profile "*" /Volumes/monCDdephotos/{} ~/Sites/mesphotos/images/petits/"{}" \; le fait (et bien plus rapidement que photoshop).

Ici, j’ai utilisé find avec beaucoup d’option (si le CD à des sous dossier, retirer -maxdepth 1, si on veut changer un CD rempli de jpeg, changer -name ’*.png’ par -name ’*.jpg’ etc...)

find est une autre commande de mac OS X qui n’a rien à voir avec imagemagick alors, je vais m’arrêter là (mais gardez en tête qu’une seule ligne un peu barbare permet de faire un traitement sur plein de fichiers).

Les anciennes réactions :

  • > ImageMagick (Installation et premiers pas)

    , par Michel HYVERNAT

    Je suis convaincu mais je ne suis pas très bon en anglais ! Est ce qu’il existe un manuel en francais et si oui comment le télécharger ?

    merci d’avance

  • > ImageMagick

    , par Blob

    Bonjour,

    Une des commandes les plus utiles de "convert" est surement "-geometry". C’est comme pour changer la taille, mais sans déformation (en conservant la géométrie).

    En gros, on donne une taille maximale en largeur et hauteur, et convert va faire entrer l’image d’origine au mieux. Une des direction sera juste à la bonne taille et l’autre s’adaptera (bonne taille ou moins).

    Mon usage :

    convert -geometry 640x640 image.jpg image_web.jpg

    J’obtiens alors une image qui fait 640 pixels de maximum. Dans le cas de photo numériques, ca fait du 640x480 ou 480x640, sans avoir à regarder si la photo est en portrait ou paysage.

    Au besoin, on peut ajouter un petit "-quality " ("-quality 80" par exemple) pour définir la qualité de la compression Jpeg de sortie (elle est assez faible par défaut, je crois).

    Voila. Merci d’avoir mis ImageMagick en avant... Petit outil qui le mérite !

    • > ImageMagick

      , par Sky.X

      Effectivement, la qualité par défaut était de 50%. Je mets toujours 75% qui semble être un bon compromis.

Recherche

A propos — Site collaboratif édité sous licence GNU FDL [pourquoi ?] — © 2004-12 — Mentions légalesContact
Syndication RSS — Powered by SPIPstockbanddonné


Contenu édité sous licence GNU FDL sans sections invariantes
© MacTouch 2004-12 — Powered by SPIP
http://www.mactouch.com/.