Comment redimensionner des fichiers image sous Linux



Les fichiers d’images peuvent occuper un espace considérable. Même les fichiers JPEG, pourtant compressés, peuvent dépasser 2, voire 5 Mo. Quant aux fichiers RAW, ils sont encore plus volumineux. Si vous gérez une importante collection d’images sur votre PC Linux, il est essentiel d’optimiser l’espace de stockage. L’une des meilleures solutions consiste à redimensionner les images. Cette méthode permet de réduire significativement la taille de votre photothèque.

Le redimensionnement d’images est une opération délicate. Une réduction excessive peut altérer considérablement leur qualité. Ce guide vous expliquera comment redimensionner vos images correctement, en préservant au maximum leur qualité.

Installer ImageMagick

Le système d’exploitation Linux propose une multitude d’outils natifs très utiles. Parmi ceux-ci, on retrouve Convert, une petite application intégrée à ImageMagick. Cet outil permet de manipuler des images en ligne de commande. Pour utiliser Convert, vous devez installer ImageMagick. La plupart des distributions Linux l’intègrent par défaut, mais si ce n’est pas votre cas, l’installation est simple et rapide.

Pour installer ImageMagick, ouvrez un terminal et saisissez la commande appropriée à votre distribution:

Ubuntu

sudo apt install imagemagick

Debian

sudo apt-get install imagemagick

Arch Linux

sudo pacman -S imagemagick

Fedora

sudo dnf install imagemagick

OpenSUSE

sudo zypper install imagemagick

Autres distributions Linux

ImageMagick est un composant clé pour l’affichage et la manipulation d’images dans de nombreux logiciels sous Linux. Si votre distribution ne l’inclut pas, recherchez « ImageMagick » dans le gestionnaire de paquets de votre système et installez-le. Une fois l’installation terminée, l’outil Convert sera accessible.

Compresser les images avec Convert

La compression d’images peut souvent entraîner une perte de qualité. Pour obtenir des fichiers plus légers tout en conservant une bonne qualité visuelle, il est préférable de redimensionner les images. Cette méthode permet de réduire la taille des fichiers tout en préservant l’aspect général de l’image.

Pour redimensionner une image avec Convert, ouvrez un terminal, localisez le fichier à modifier et utilisez la commande « cd » pour vous déplacer dans son répertoire. Dans cet exemple, les images seront situées dans le dossier « /home/nom_utilisateur/Images/ ».

cd ~/Images/

Utilisez la commande « convert » pour redimensionner l’image. Un redimensionnement de 20% offre un bon compromis entre la qualité et la taille du fichier. Si vous avez besoin d’une taille encore plus réduite, vous pouvez essayer 25%, 30% ou 40%. Gardez à l’esprit qu’une réduction excessive affectera la qualité de l’image.

convert -resize 20% nom_du_fichier_original.jpg nom_du_fichier_redimensionne.jpg

Convert prend en charge différents formats d’image. Adaptez cette commande en fonction de l’extension de vos fichiers et de la taille souhaitée. Veillez à bien spécifier le nom du fichier original et celui du nouveau fichier.

Compresser plusieurs images

Convert est très pratique pour manipuler une image à la fois, mais il devient vite fastidieux de compresser les images une par une. Heureusement, il est possible d’utiliser Convert avec bash pour traiter plusieurs images simultanément.

Attention : La compression par lots de fichiers image avec des noms différents peut ne pas fonctionner correctement. Seule la conversion par lots de fichiers de même type est possible.

La conversion par lots est simple. Commencez par créer un dossier dédié à cette tâche. Il est préférable de regrouper tous les fichiers à convertir dans un dossier spécifique, pour éviter de disperser vos images dans tout votre système. Utilisez la commande « mkdir » pour créer un répertoire de travail.

mkdir -p ~/Images/Images-Converties/

Ensuite, ouvrez votre gestionnaire de fichiers, localisez le dossier que vous venez de créer et déplacez-y tous les fichiers image à convertir. Une fois les fichiers déplacés, utilisez la commande « cd » dans le terminal pour vous placer dans le nouveau dossier.

cd ~/Images/Images-Converties/

Dans le terminal, entrez la commande suivante. Elle indiquera à Convert de redimensionner plusieurs fichiers en même temps, en créant des fichiers de sortie avec le suffixe « redimensionné » à la fin. Dans l’exemple ci-dessous, la commande recherchera les images JPG. Si vous travaillez avec des fichiers PNG ou un autre format pris en charge par Convert, remplacez « *.jpg » par « *.png », etc.

for img in *.jpg; do
  convert -resize 20% "$img" "opt-$img"
done

Script de redimensionnement

La commande de redimensionnement par lots est efficace, mais il peut être fastidieux de devoir la saisir et la modifier à chaque fois. Pour simplifier le travail, vous pouvez créer un script. Ouvrez un terminal et utilisez la commande « touch » pour créer un nouveau fichier. Ce fichier contiendra le code de notre script de conversion.

touch ~/Images/Images-Converties/redimensionner-lot.sh

Ensuite, ouvrez l’éditeur de texte Nano.

nano ~/Images/Images-Converties/redimensionner-lot.sh

Copiez-collez le code suivant dans le fichier du script :

#!/bin/bash

# Demande à l’utilisateur de saisir le type de fichier.

echo « Entrez l’extension des fichiers image : »

# Stocke la réponse de l’utilisateur dans la variable « files ».

read files

# Redimensionne les images.

for img in *.$files; do
convert -resize 20% « $img » « redimensionne-$img »
done

Enregistrez le script dans Nano en appuyant sur Ctrl+O. Fermez l’éditeur avec Ctrl+X.

Mettez à jour les permissions du script afin qu’il puisse être exécuté. Cette étape est essentielle pour que le script fonctionne correctement !

chmod +x ~/Images/Images-Converties/redimensionner-lot.sh

Pour utiliser le script, placez tous les fichiers image que vous souhaitez convertir dans le dossier ~/Images/Images-Converties/. Puis, déplacez-vous dans ce dossier avec la commande « cd » et exécutez le script. Lorsque vous saisissez l’extension du fichier (JPG, PNG, etc.), n’incluez pas le point, sinon le script ne fonctionnera pas !

cd ~/Images/Images-Converties/
./redimensionner-lot.sh