Comment modifier plusieurs images en ligne de commandes ?
Redimensionner, convertir et modifier autant d'images que vous souhaitez en une seule commande !
Article publié le 19/04/2021, dernière mise à jour le 19/09/2023
Ouvrir son logiciel de montage, charger une image, la modifier, et l'enregistrer dans un nouveau fichier, c'est une opération facile à faire, mais qui, lorsqu'on la répète 5 fois, 10 fois, 100 fois devient extrêmement chronophage et aliénante.
Heureusement certains logiciels proposent de créer des macros ou des scripts permettant d'effectuer ces traitements à la chaine, mais encore faut-il ouvrir le logiciel, charger et lancer le script à la main.
Aujourd'hui nous allons apprendre à faire la même chose, mais en utilisant un outil à la fois simple et très puissant, directement en ligne de commandes.
Découvrez ImageMagick
ImageMagick est un logiciel disponible sur tous les systèmes d'exploitation majeurs (Linux, MacOS, Windows) utilisé pour faire de la retouche, modification et création d'image directement depuis un terminal.
Vous pouvez le télécharger directement depuis le site officiel : https://imagemagick.org/script/download.php
Lorsque vous installez le logiciel, vous obtenez une suite d'outils indépendants et à la fois compatibles les uns avec les autres, tous rassemblés sous le même exécutable :
- convert, pour convertir, redimensionner, recadrer, flouter,... une image
- mogrify, similaire à convert mais pour automatiser le processus sur plusieurs images
- composite, pour empiler plusieurs images les unes sur les autres comme des calques
- animate, pour créer une animation basée sur plusieurs images
- et bien d'autres !
Mais ImageMagick est si puissant qu'il est même possible de générer des images à partir de simples ligne de commandes. Imaginez que vous vouliez générer des bannières par défaut en fonction du pseudo d'un utilisateur, en quelques lignes, c'est possible !
Un script d'exemple
Pour vous présenter le fonctionnement, j'ai décidé de partir d'un use-case très courant : normaliser en taille et en format un dossier complet d'image.
Pour ce faire j'utilise l'outil mogrify d'ImageMagick, et en une seule ligne de commande je normalise toutes les images :
$ magick mogrify -resize 256x256 -path ./destination/ -format jpg ./source/*
- L'option -resize indique la taille maximale de sortie de mes images (en conservant le ratio)
- L'option -path indique le dossier de sortie (qui doit être créé au préalable)
- L'option -format indique le format vers lequel les images seront converties
- Le chemin à la fin de la commande indique les fichiers sources à convertir
Pour découvrir toutes les possibilités d'ImageMagick, je vous invite à lire la documentation officielle disponible ici : https://imagemagick.org
Aucun commentaire pour l'instant