Recherche de site Web

Comment manipuler des images dans le terminal Linux


Besoin de recadrer, redimensionner ou modifier rapidement une image sous Linux ? Oubliez le chargement d'une application - utilisez plutôt le terminal.

Vous êtes-vous déjà lassé d'ouvrir constamment votre éditeur d'images préféré pour un simple recadrage, redimensionnement ou pour changer le format de fichier ? Peut-être avez-vous besoin d'effectuer facilement ces tâches par lots ou dans un logiciel ?

Voici comment utiliser l'outil Linux convert , qui vous permet de faire tout cela avec le terminal via la ligne de commande, et bien plus encore.

Installer ImageMagick

L'outil convert fait partie du package populaire imagemagick, que vous devez avoir installé. Vérifiez si ImageMagick est installé ou non avec la commande :

convert --version

Si le numéro de version d'ImageMagick est affiché, alors il est déjà installé et vous pouvez passer à la section suivante. Sinon, installez ImageMagick avec la commande :

sudo apt-get -y install imagemagick

Obtenir des informations sur l'image

Vous pouvez obtenir les informations de base sur n'importe quelle image avec la commande :

convert <FILENAME> -print "Type: %m\nSize: %b\nDimensions: %wx%h\n" /dev/null

Cela vous donnera le type mime de l'image, la taille du fichier en Ko et ses dimensions en pixels, et ressemblera à :

Type: jpeg
Size: 35.6KB
Dimensions: 640 x 480

Modifier le format du fichier image

Vous pouvez facilement changer le format de fichier de n'importe quelle image avec :

convert <SOURCE_FILE> -append <DEST_FILE>

Cette commande prendra le fichier , le convertira au format approprié et enregistrera une nouvelle image dans Vous devez utiliser les extensions de fichier correctes (par exemple, JPG, GIF, PNG, etc.) pour le DEST_FILE et il détectera automatiquement dans quel format convertir l'image.

Redimensionner une image sous Linux

Si vous souhaitez redimensionner une image, ou peut-être générer rapidement une vignette, vous pouvez le faire avec l'option -resize. Exécutez la commande suivante :

convert -resize 25% <SOURCE_FILE> <DEST_FILE>

Cela redimensionnera l'image et créera un nouveau fichier image à DEST_FILE qui correspond à 25 % des dimensions de l'image source. Veuillez noter que la commande ci-dessus ne réduit pas la taille de 25 %, mais génère à la place une nouvelle image de 25 % de la taille. Si vous devez agrandir une image, vous pouvez ajuster le pourcentage à plus de 100 %.

Au lieu de redimensionner en pourcentage, vous pouvez également spécifier les dimensions spécifiques avec la commande :

convert -resize 1024x768 profile.jpg profile_large2.jpg

La commande ci-dessus redimensionnerait l'image source à 1024x768 pixels et enregistrerait la nouvelle image dans DEST_FILE.

Recadrer une image

Si vous avez besoin d'enlever un peu le haut ou les côtés, vous pouvez recadrer une image avec la commande suivante :

convert <SOURCE_FILE> -crop 640x250+0+0 <DEST_FILE>

Par exemple, si l'image source était de 640 x 480 pixels, la commande ci-dessus donnerait à DEST_FILE une image de 640 x 250 pixels contenant la moitié supérieure de l'image tandis que la moitié inférieure était rognée. Le +0+0 dans la commande ci-dessus spécifie le point supérieur gauche de l'image, ou en d'autres termes, où commencer le recadrage.

En utilisant l'exemple ci-dessus, vous pouvez enregistrer la moitié inférieure de l'image à la place avec la commande :

convert <SOURCE_FILE> -crop 640x250+0+230 <DEST_FILE>

Cela commencera le recadrage à 0x230 dans l'image source, recadrant la moitié supérieure et ne laissant que la moitié inférieure.

Faire pivoter l'image

Vous pouvez même faire pivoter les images en utilisant la commande :

convert <SOURCE_FILE> -rotate 90 <DEST_FILE>

La commande ci-dessus fera pivoter l'image source de 90 degrés dans le sens des aiguilles d'une montre et enregistrera l'image résultante dans DEST_FILE.

Ajouter une légende à l'image

Une autre excellente fonctionnalité de l'outil convertir est la possibilité d'ajouter instantanément des légendes aux images, y compris l'emplacement de la légende dans l'image, ainsi que la famille de polices, la taille et la couleur à utiliser. Utilisez la commande suivante pour ajouter une légende à une image :

convert profile.jpg -pointsize 14 -font helvetica -fill yellow -draw 'text 270,160 "Warm Regards from the Family" ' profile_cap.jpg

La commande ci-dessus placera une légende "Warm Regards from the Family" sur l'image source en utilisant la police Helvetica 14pt en jaune, avec le point supérieur gauche de l'image commençant à 270x160 pixels, et enregistrera les résultats dans DEST_FILE.

Attention, il faut être prudent avec l'option -draw, qui doit commencer par des guillemets simples suivis de l'emplacement du point le plus à gauche en haut, puis par le texte de la légende entouré de guillemets doubles.

Il existe une énorme liste de couleurs disponibles, et si vous le souhaitez, vous pouvez lister toutes les couleurs prises en charge par votre ordinateur avec la commande :

cb:>showrgb

La sélection de polices varie en fonction de votre ordinateur, mais toutes les polices standard généralement utilisées seront présentes. Chaque système d'exploitation est un peu différent, mais dans Ubuntu par exemple, les polices sont situées dans le répertoire /usr/share/fonts et contient une liste de toutes les polices système disponibles que vous pouvez utiliser dans la commande ci-dessus .

Mélanger et assortir les commandes d'édition d'images

Vous pouvez mélanger et assortir l'une des options ci-dessus dans une seule commande pour une plus grande efficacité. Par exemple, si vous avez une grande image qui est dans la mauvaise orientation, de taille 2571x1200 pixels, et que vous souhaitez générer une vignette 300x200, vous pouvez utiliser la commande :

convert <SOURCE_FILE> -rotate 90 -crop 1200x800 -resize 25% <DEST_FILE>

Ce qui précède ferait d'abord pivoter l'image de 90 degrés, faisant de la nouvelle taille 1200x2571 pixels. Ensuite, il rognerait l'excédent du bas pour qu'il ne fasse que 800 pixels de hauteur, et enfin redimensionnerait l'image à 25 % de sa taille d'origine, ce qui donnerait une vignette finale de 300 x 200 pixels.

Traitement par lots d'un répertoire d'images

Vous avez un répertoire entier d'images que vous souhaitez traiter avec la même commande ? Ce n'est pas un problème sous Linux. Par exemple, vous souhaiterez peut-être générer des vignettes de toutes les images de votre répertoire de travail actuel en les redimensionnant à 30 % de leur valeur actuelle :

mkdir thumbs
for i in `ls | grep .jpg$`; do convert $i -resize 30% thumbs/$i; done

La commande ci-dessus parcourra tous les fichiers de votre répertoire actuel qui ont une extension .jpg, les redimensionnera à 30 % de leur taille et placera les vignettes résultantes dans le sous-répertoire /thumbs/.

La manipulation d'images simplifiée !

Grâce à ce didacticiel, vous avez, espérons-le, supprimé la possibilité de manipuler des images sans douleur et sans effort via le terminal et de traiter facilement par lots un répertoire entier avec une seule commande.

Vous avez appris ce qu'est l'outil de conversion d'ImageMagick, ainsi que comment modifier le format de fichier, redimensionner, recadrer, faire pivoter et ajouter facilement des légendes aux images. De nombreuses fonctionnalités supplémentaires sont également disponibles --- essayez l'option convert -help pour une liste complète.

Articles connexes: