Comment redimensionner, convertir et modifier rapidement des images à partir du terminal Linux

header imagemagick

ImageMagick est une suite d’utilitaires de ligne de commande pour modifier et travailler avec des images. ImageMagick peut effectuer rapidement des opérations sur une image à partir d’un terminal, effectuer un traitement par lots de nombreuses images ou être intégré dans un script bash.

ImageMagick peut effectuer une grande variété d’opérations. Ce guide vous présentera la syntaxe et les opérations de base d’ImageMagick et vous montrera comment combiner les opérations et effectuer le traitement par lots de nombreuses images.

Installation

ImageMagick n’est pas inclus dans les installations par défaut d’Ubuntu et de nombreuses autres distributions Linux. Pour l’installer sur Ubuntu, utilisez la commande suivante:

sudo apt-get install imagemagick

Conversion entre les formats

La commande de conversion prend une image, effectue des actions dessus et enregistre l’image avec le nom de fichier que vous spécifiez. L’une des choses les plus élémentaires que vous puissiez en faire est de convertir les images entre les formats. La commande suivante prend un fichier PNG nommé «howtogeek.png» dans le répertoire actuel et crée une image JPEG à partir de celui-ci:

convertir howtogeek.png howtogeek.jpg

convert formats

Vous pouvez également spécifier un niveau de compression pour les images JPEG:

convertir howtogeek.png -quality 95 howtogeek.jpg

Le nombre doit être compris entre 1 et 100. ImageMagick utilise le niveau de qualité de l’image d’entrée, si possible. Sinon, ImageMagick prend par défaut 92.

Redimensionner les images

La commande de conversion peut également redimensionner rapidement une image. La commande suivante demande à ImageMagick de redimensionner une image à 200 pixels de largeur et 100 pixels de hauteur:

convertir example.png -resize 200x100 example.png

Nous avons utilisé le même nom de fichier ici, donc ImageMagick écrasera le fichier d’origine.

resize

ImageMagick essaiera de conserver le rapport hauteur / largeur si vous utilisez cette commande. Cela modifiera l’image pour qu’elle tienne dans une zone de 200 × 100, mais l’image peut ne pas être exactement 200 × 100. Si vous voulez forcer l’image à prendre une taille spécifique – même si cela gâche le rapport hauteur / largeur – ajoutez un point d’exclamation aux dimensions:

convertir example.png -resize 200x100! example.png

Vous pouvez également spécifier une largeur ou une hauteur spécifique et ImageMagick redimensionnera l’image à cette largeur ou hauteur tout en préservant le rapport hauteur / largeur. La commande suivante redimensionnera une image à une largeur de 200:

convertir example.png -resize 200 example.png

La commande suivante redimensionnera une image à une hauteur de 100:

convertir example.png -resize x100 example.png

Rotation d’une image

ImageMagick peut faire pivoter rapidement une image. La commande suivante prend une image nommée howtogeek.jpg, la fait pivoter de 90 degrés et enregistre l’image pivotée sous le nom howtogeek-rotated.jpg:

convertir howtogeek.jpg -rotate 90 howtogeek-rotated.jpg

Si vous spécifiez le même nom de fichier, ImageMagick enregistre l’image pivotée sur le fichier image d’origine.

rotate

Application d’effets

ImageMagick peut appliquer une variété d’effets à une image. Par exemple, la commande suivante applique l’effet «charbon» à une image:

convertir howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg

charcoal

La commande charbon applique un effet de style artistique «fusain» à une image – le 2 dans la commande vous permet de contrôler la force de l’effet.

howtogeek-charcoal

La commande suivante applique l’effet «Imploser» avec une force de 1:

convertir howtogeek.jpg -implode 1 howtogeek-imploded.jpg

implode

L’effet d’implosion donne l’impression qu’il y avait un trou noir au centre de l’image.

howtogeek-imploded

Combinaison d’opérations

Toutes ces opérations peuvent être combinées. Avec une seule commande, vous pouvez redimensionner une image, la faire pivoter, appliquer un effet et la convertir dans un autre format:

convertir howtogeek.png -resize 400x400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg

howtogeek-complex

Ce n’est que le début de ce que vous pouvez faire avec ImageMagick. Il existe de nombreuses autres opérations que vous pouvez combiner.

Le traitement par lots

Vous pouvez profiter de Bash pour effectuer rapidement le traitement par lots de nombreuses images. Par exemple, la commande suivante prendrait tous les fichiers PNG dans le répertoire courant, les ferait pivoter et enregistrerait une nouvelle copie de chacun avec «rotation-» ajouté au début de chaque nom de fichier.

pour fichier en * .png; convertissez $ fichier -rotate 90 rotation- $ fichier; terminé

batch processing

Vous pouvez facilement modifier cette commande pour effectuer d’autres actions. Vous pouvez également intégrer des commandes de traitement par lots dans un script shell Bash pour automatiser les opérations de traitement d’image.


Tout article sur ImageMagick omettra beaucoup de ce que vous pouvez en faire – il y a tout simplement trop d’options et de commandes. Si vous souhaitez en faire plus avec ImageMagick, consultez la documentation officielle sur le site Web d’ImageMagick pour un examen beaucoup plus approfondi d’ImageMagick.