redimensionner image

Redimensionner un lot d'images en ligne de commande

Comment retailler un tout un répertoire contenant des images avec GraphicsMagick

debian, linux, redimensionnement, redimensionner, retailler, lot, image, images, graphicsmagick, ubuntu, exif, miniature, thumbnail, xargs, find

Date de publication : 2012-09-19 11:21:56

Voici quelques petites lignes de commande qui vont vous permettre de retailler une image ou un lot d'images avec GraphicsMagick sous linux.

Installation de GraphicsMagick

Avant de commencer il faut bien entendu installer GraphicsMagick. Sous debian ou ubuntu il suffit d'installer le paquet graphicsmagick :

root@home:~# aptitude install graphicsmagick

Redimensionner une image

Voici la ligne de commande que j'utilise le plus, elle permet de retailler l'image en 640 de large (le ratio auteur largeur est conservé) uniquement si l'image fait plus de 640 pixels de large (le >)

root@home:~# gm mogrify +profile "*" -resize '640>' monimage.jpg

L'option +profile "*" est un petit bonus qui permet de supprimer les métadonnées de l'image (Exif ...).

GraphicsMagick propose une option équivalente à resize mais qui utilise un algorithme plus rapide, c'est l'option thumbnail qui permet la création de miniature. La ligne de commande devient :

root@home:~# gm mogrify +profile "*" -thumbnail '640>' monimage.jpg

Redimensionner un lot d'image

Habituellement j'utilise xargs et find pour traiter des fichiers par lots (cf : Optimiser de jpeg) mais dans le cas du redimensionnement d'images, je me suis aperçu que j'avais des doubles traitements. Qu'à cela ne tienne, je me suis rappelé que find avait une option exec qui permet de lancer une commande sur les fichiers trouvés.

Assez de blah blah voici donc la commande qui permet de retailler un lot d'image :

root@home:~# find /chemin/vers/mon/lot/images/ -type f -name '*.jpg' -exec gm mogrify -resize '640>' {} \;

Pour ceux qui les auraient manqués voici quelques articles que j'ai publié sur le traitement d'image en ligne de commande :

Image : mag3737

 
 

b1n@sp1n