ImageMagick - Manipuler les images en ligne de commande

Décembre 2016



ImageMagick est un formidable outil en ligne de commande qui permet de manipuler les images.

L'avantage de cet outil est qu'il permet:
  • d'automatiser les travaux sur les images (cela évite d'avoir à faire certaines manipulations dans Photoshop ou Gimp).
  • D'appliquer des opérations et conversions d'un coup sur des centaines d'images à la fois.
  • De convertir entre différents formats d'images
  • De créer des images à la volée
  • D'être intégré dans vos programmes et scripts (cela permet à vos programmes et scripts de générer et manipuler des images à la volée). Par exemple, il est utilisable à partir de php pour générer des images.


Ce programme existe sous Windows et Linux.

Installer ImageMagick sous Windows

  • 1. Télécharger ImageMagick
  • 2. Installez-le. Lors de l'installation, n'oubliez pas de bien cocher la case "Update executable search path"
  • 3. Fermez et ré-ouvrez votre session (ou bien redémarrez l'ordinateur). Cette étape est nécessaire pour que le chemin (PATH) d'ImageMagick soit pris en compte.



Pour vérifier l'installation, ouvez une fenêtre MS-Dos et tapez: convert --version

Vous devez voir
Version: ImageMagick 6.3.3 04/08/07 Q16 file:///usr/local/share/doc/ImageMagick  
6.3.3/index.html
Copyright: Copyright (C) 1999-2007 ImageMagick Studio LLC

Convertir une image d'un format à un autre

  • Convertir une image bmp en png:
    convert image.bmp image.png
  • Convertir une image bmp en jpg progressif, qualité 70%:
    convert image.bmp -interlace line -quality 70 image.png

L'option -quality x vous permet de régler la qualité du JPEG.
L'option -interlace line permet de créer des JPEG progessifs.

Préparer une photo pour le web


Les opérations utiles sont:
  • réduire la résolution de l'image (par exemple, passer de 2592x1944 (5 Méga-pixels) à 800x600)
  • compresser en JPEG progressif (pour un affichage immédiat de l'image dans la page)
  • supprimer les informations inutiles (commentaires, informations EXIF...: Ces informations complémentaires (miniature, nom du logiciel qui a créé ce fichier, paramètres de l'appareil photo lors de la prise de vue (EXIF), etc.) sont ignorées par les navigateurs.


convert maphoto.jpg -resize 800x600 -strip -quality 50 -interlace line imageweb.jpg
  • -resize AxB redimensionne l'image à la taille voulue.
  • -strip supprime les informations additionnelles (EXIF, commentaires...)
  • -quality 50 permet de choisir une qualité de 50% pour la compression JPEG.
  • -interlace line permet de créer un JPEG progressif.

Apposer un texte sur une image


Pour éviter de vous faire piquer une image haute résolution sans autorisation, vous pouvez apposer un texte sur toute la surface de l'image.

convert -size 150x50 xc:none -matte -pointsize 20 -fill #ffffff80 -draw "text 10,30 'Mon copyright'" miff:- | composite -tile - photo.jpg resultat.jpg

Exemple:

(Image de gazzat sous license CC.)

La suppression de ce marquage est un travail trop important pour que le vol de l'image soit intéressant.

Appliquer une transformation à un groupe d'images


Pour simplifier les explications précédentes, les exemples ont été donnés sur une seule image.
Mais il est possible d'effectuer ces opérations d'un coup sur de nombreuses images.

Exemples sous Windows


Recompresser les images JPEG du répertoire courant en qualité 70 (sortie dans le sous-répertoire output) :
FOR %%G IN (*.jpg) DO convert "%%G" -strip -quality 70 -interlace plane "output/%%G"

Convertir tous les fichiers .BMP en .JPG (même nom):
FOR %%G IN (*.bmp) DO convert "%%G" -strip -quality 70 -interlace plane "%%~nG.jpg"

(~n signifie qu'on ne prend que le nom du fichier (sans son extension).)

Exemples sous Linux


Augmenter ou diminuer la luminosité et le contraste aux images JPEG du répertoire courant (sortie dans le sous-répertoire output) :
mkdir output; for i in *.jpg; do convert -brightness-contrast nxm "$i" "output/$i"; done

n est la luminosité de -100 à 100 (0 pour ne pas la changer) et m le contraste de -100 à 100 (0 pour ne pas le changer).

Liens





[Note: Article à compléter]

A voir également :

Ce document intitulé «  ImageMagick - Manipuler les images en ligne de commande  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.