A Linux terminal with Tux holding a paintbrush behind it.
Agence web » Actualités du digital » Comment modifier par lots des photos dans le terminal Linux

Comment modifier par lots des photos dans le terminal Linux

ImageMagick est un puissant outil de ligne de commande Linux pour l'édition d'images par lots. Voici comment l'utiliser pour recadrer, redimensionner et fusionner des photos, ainsi que supprimer des informations de localisation.

Tout d’abord, installez ImageMagick

L'édition par lots de photos sous Linux peut être effectuée à l'aide du programme ImageMagick. ImageMagick est un outil gratuit permettant de créer et d'éditer des images à partir de la ligne de commande et peut redimensionner, recadrer, convertir, faire pivoter et effectuer d'autres actions d'image groupées.

Les exemples de commandes de terminal Linux sur cette page utilisent tous ImageMagick, que vous pouvez installer sur les systèmes Debian/Ubuntu en exécutant :

sudo apt install imagemagick

Ou sur Fedora Linux en exécutant :

sudo dnf install ImageMagick

Vous devez vérifier ce que font les commandes de terminal que vous copiez/collez depuis Internet avant de les exécuter ! Bien que j'aie expliqué celles-ci dans cet article, les commandes peuvent avoir des effets involontaires sur différents systèmes, et il est connu que des personnes publient en ligne des commandes apparemment inoffensives qui peuvent en réalité causer beaucoup de dégâts.

Suppression par lots des données EXIF ​​des images

Les données EXIF ​​contiennent des informations sur l'appareil utilisé pour prendre une photo, des informations sur les couleurs et d'autres données utiles aux photographes. Il peut également inclure l'endroit où la photo a été prise, ce qui pose un problème de confidentialité si vous téléchargez l'image sur Internet.

Vous pouvez supprimer toutes les données EXIF ​​d'un lot d'images JPG et PNG à l'aide de la commande de terminal Linux suivante :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -strip "/path/to/output_directory/$(basename "$file")"; done

Voici une explication rapide de la façon dont cette commande (et les autres sur cette page) effectue une édition groupée sur plusieurs fichiers image :

  • Une boucle for parcourt tout le .jpg, .jpeget .png (notez que les noms de fichiers et les extensions sont sensibles à la casse !) dans le répertoire source. Dans la boucle, le chemin d'accès à chaque fichier image est attribué au $fichier variable.
  • Le $fichier la variable est transmise à ImageMagick convertir commande avec le -bande option qui lui dit de supprimer toutes les données EXIF.
  • Le dernier paramètre transmis à la commande convert est le chemin du fichier de sortie. Dans ce cas, la sortie est enregistrée dans un dossier différent portant le même nom de fichier, de sorte que votre image originale reste intacte.

Redimensionner des photos par lots

La commande de terminal ImageMagick ci-dessous redimensionne toutes les images du répertoire source à 1024 x 768 pixels à l'aide du -redimensionner option:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -resize 1024x768 "/path/to/output_directory/$(basename "$file")"; done

Vous pouvez spécifier n'importe quelle résolution ici, mais gardez à l'esprit que votre image sera étirée si le rapport hauteur/largeur ne correspond pas.

Photos de cultures par lots

Ce lot de commandes recadre les images d'un répertoire à 800 x 600 pixels :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -crop 800x600+0+0 "/path/to/output_directory/$(basename "$file")"; done

Notez le 800×600+0+0 transmis au -recadrer option : le 800×600 bit correspond aux dimensions en pixels que vous souhaitez recadrer (la zone de la photo que vous souhaitez conserver). Le +0+0 sont les coordonnées en pixels X/Y de l'endroit où le recadrage doit commencer, dans ce cas, en commençant dans le coin supérieur gauche.

Images de filigrane par lots

Le filigrane des images est un moyen simple de protéger votre travail créatif lorsque vous le partagez avec d'autres. Cette commande de terminal Linux ajoute un filigrane à un lot de fichiers :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -gravity southeast -pointsize 20 -draw "text 5,5 'My Watermark'" "/path/to/output_directory/$(basename "$file")"; done

Dans cet exemple, le convertir la commande utilise le -pesanteur option en conjonction avec le -dessiner possibilité de dessiner le texte « Mon filigrane » avec une police -taille du point de 20 en bas à droite (coin sud-est) de chaque image. Le 5,5 les coordonnées en pixels spécifient le décalage par rapport au coin sud-est, en ajoutant une marge de 5 pixels entre le texte du filigrane et le bord de l'image.

Convertir les formats de fichiers images

Ce lot de commandes ImageMagick convertit les images JPG en PNG :

for file in /path/to/source_directory/*.{jpg,jpeg}; do convert "$file" "/path/to/output_directory/$(basename "${file%.*}.png")"; done

Le format de l'image de sortie est spécifié par le nom de fichier que vous lui donnez. La commande ImageMagick convert prend en charge les formats de fichiers image populaires suivants : JPEG, PNG, GIV, TIFF, BMP, SVG, WEBP, HEIC et RAW. Il peut également gérer des fichiers PDF et des images vectorielles SVG.

Faire pivoter les images en masse

Vous pouvez faire pivoter des images en masse à l'aide de la commande suivante :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -rotate 90 "/path/to/output_directory/$(basename "$file")"; done

Remplacez le 90 degrés précisés avec la rotation que vous souhaitez appliquer.

Images retournées par lots (miroir)

Utilisez le retourner et fiasco ImageMagick convertit les options pour retourner les images verticalement ou horizontalement :

Pour retourner ou refléter en masse des images verticalement :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -flip "/path/to/output_directory/$(basename "$file")"; done

Pour retourner des images horizontalement en masse :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -flop "/path/to/output_directory/$(basename "$file")"; done

Changer la qualité JPEG

Vous pouvez réduire la taille des images JPG en réduisant leur qualité :

for file in /path/to/source_directory/*.jpg; do convert "$file" -quality 85 "/path/to/output_directory/$(basename "$file")"; done

Cette commande définit la qualité des images sur 85 en utilisant le -qualité option. Notez que lorsque vous réduisez la qualité d’une image, cette qualité ne peut pas être restaurée (même en rétablissant la qualité à une valeur plus élevée).

La qualité JPEG est définie sur une échelle de 0 à 100, 100 étant la qualité maximale pour le stockage d'archives et la photographie professionnelle, et 60 à 75 étant adaptée au partage en ligne ou à une utilisation sur des sites Web. Tout ce qui est inférieur à 50 commencera à paraître un peu défraîchi, même au niveau de zoom par défaut.

Renommer les images en masse

Le CP La commande (copy) peut être utilisée pour renommer en bloc des images sous Linux :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do cp "$file" "/path/to/output_directory/$(basename "${file%.*}_renamed.${file##*.}")"; done

Cet exemple ajoute le texte _renommé à toutes les images du répertoire source.

Recadrage et découpage automatiques

Le -garniture L'option de la commande convert recadre automatiquement les images en fonction de la couleur d'arrière-plan, déterminée par la couleur des pixels dans chacun des coins des images :

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -trim "/path/to/output_directory/$(basename "$file")"; done

Fusionner des images pour créer des collages

L'outil de montage ImageMagick peut être utilisé pour créer des collages et fusionner des images :

montage /path/to/source_directory/*.{jpg,jpeg,png} -tile 2x2 -geometry +5+5 "/path/to/output_directory/collage.jpg

Cette commande prend toutes les images du répertoire source et crée avec elles une grille 2×2 avec le -tuile option, avec un écart de 5 pixels spécifié par le -géométrie option. S'il y a plus de 4 images, des grilles supplémentaires seront créées pour les afficher.

Linux ❤️ Créativité

Linux est de plus en plus populaire auprès des créatifs. Non seulement son logiciel de créativité a atteint le point où il peut être utilisé dans des scénarios professionnels, mais ses outils de ligne de commande et d'automatisation peuvent vous faire gagner du temps dans la gestion et la conversion de vos images pour la publication et le partage.

★★★★★