Convertir des images en ligne de commande sous Linux
← Retour
linux

Convertir des images en ligne de commande sous Linux

Cédrix · 28/12/2025

La manipulation d'images depuis le terminal est une de ces choses qu'on apprend une fois et qu'on utilise pour toujours. Pas besoin de GIMP, pas besoin d'ouvrir quoi que ce soit : une commande, et c'est réglé.

Voici les outils que j'utilise concrètement, et dans quels cas.


ImageMagick, le plus polyvalent

C'est l'outil de base. Il gère à peu près tous les formats qui existent, et la syntaxe est toujours la même. L'installation est classique :

sudo apt install imagemagick

Convertir un format :

magick image.jpg image.png

Redimensionner sans toucher au ratio, en posant une limite maximale :

magick image.jpg -resize 1920x1920\> sortie.jpg

Le \> est important — sans lui, ImageMagick agrandit aussi les petites images. Avec, il ne fait que réduire.

Préparer une image pour le web, en supprimant les métadonnées EXIF et en compressant :

magick image.jpg -strip -quality 82 image_web.jpg

Pour traiter un répertoire entier, mogrify fait le même boulot mais modifie les fichiers en place — toujours travailler sur une copie ou rediriger vers un autre dossier :

mogrify -path ./web -resize 1600x1600\> -quality 85 *.jpg

libvips, pour les traitements lourds

Quand il y a des centaines de photos ou des images très lourdes (scans, RAW exportés), libvips est nettement plus rapide et utilise beaucoup moins de mémoire qu'ImageMagick. Il charge les images en flux au lieu de tout mettre en RAM.

sudo apt install libvips-tools
vips resize input.jpg output.jpg 0.5       # diviser la taille par 2
vips copy input.png output.webp            # conversion de format

La syntaxe est moins intuitive qu'ImageMagick mais les gains sur des gros volumes sont sensibles.


FFmpeg, pas que pour la vidéo

FFmpeg est surtout connu pour la vidéo, mais il convertit les images aussi — utile quand il est déjà installé et qu'on veut éviter une dépendance supplémentaire, ou pour extraire des frames depuis une vidéo :

ffmpeg -i video.mp4 frame_%04d.jpg

Redimensionner en conservant le ratio :

ffmpeg -i input.jpg -vf scale=1280:-1 output.jpg

Les métadonnées EXIF avec exiftool

Les appareils photo embarquent beaucoup d'informations dans les fichiers : coordonnées GPS, modèle d'appareil, réglages. Avant de publier une photo, il vaut mieux vérifier ce qu'elle contient :

sudo apt install libimage-exiftool-perl

exiftool photo.jpg                   # lire toutes les métadonnées
exiftool -all= photo.jpg             # tout supprimer
exiftool -TagsFromFile src.jpg dst.jpg  # copier les métadonnées d'une image à une autre

ImageMagick peut aussi supprimer les EXIF avec -strip, mais exiftool offre plus de contrôle quand on veut garder certaines balises et supprimer d'autres.


Fichiers RAW

Pour les CR2, NEF, ARW et autres formats propriétaires d'appareils photo, darktable-cli est la solution la plus propre :

darktable-cli input.CR2 output.jpg

Il applique les mêmes algorithmes de développement que l'interface graphique de darktable. dcraw est une alternative plus ancienne et plus bas niveau :

dcraw -c photo.CR2 > photo.ppm

HEIC, le format Apple

Les iPhone exportent leurs photos en HEIC depuis iOS 11. Le format est compact, mais Linux ne le gère pas nativement — il faut convertir avant de pouvoir travailler dessus.

Le paquet libheif-examples fournit heif-convert, l'outil le plus direct :

sudo apt install libheif-examples

heif-convert photo.heic photo.jpg

ImageMagick peut aussi s'en charger si libheif est installé sur le système :

magick photo.heic photo.jpg

Pour vérifier que le support HEIC est bien disponible :

magick identify -list format | grep -i heic

Conversion d'un dossier entier :

for f in *.heic *.HEIC; do
  heif-convert "$f" "${f%.*}.jpg"
done

En pratique

Conversion d'un dossier de PNG en WebP :

for f in *.png; do
  magick "$f" "${f%.png}.webp"
done

Pipeline complet pour publication web — redimensionnement, suppression EXIF, compression :

magick input.jpg -resize 1600x1600\> -strip -quality 80 output.jpg

Traitement récursif sur un arbre de dossiers :

find . -name "*.jpg" -exec magick {} -resize 1200x1200\> {} \;

Récap rapide

Cas d'usage Outil
Usage général ImageMagick
Gros volumes / performance libvips
Déjà dans le pipeline vidéo FFmpeg
Fichiers RAW darktable-cli
HEIC (iPhone) heif-convert ou ImageMagick
Lecture / nettoyage EXIF exiftool

Pour 90 % des besoins courants, ImageMagick suffit. libvips vaut le coup d'être appris si on traite régulièrement des lots importants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier !

Laisser un commentaire
Un code de vérification sera envoyé à votre adresse email.