Comment manipuler les images depuis le terminal

ImageMagick est une application qui nous permet de manipuler des images via la ligne de commande et qui est utilisée pour pratiquement tous les formats. Avec lui, il est également possible d'automatiser les actions sur les images contenues dans un dossier (conversion, redimensionnement, etc ...)
Voyons une liste de commandes ImageMagick utiles:

Obtenez des informations à partir d'une image.

identify -ping image.png

Obtenez encore plus d'informations.

identify -verbose image.png

Connaître la liste des couleurs utilisées dans une image.

identify -list color image.png

Convertir une image PNG en JPG

convert image.png image.jpg

Convertissez une image PNG en JPG indiquant la qualité de la conversion.

convert -quality 96 image.png image.jpg

Convertir toutes les images PNG en JPG contenues dans un dossier

mogrify -format png *.jpg

Convertir toutes les images (* .jpg, * .png) en PDF

convert images*.* archivo.pdf

Redimensionner une image

convert -resize 48×48 image.png image-mini.png

Redimensionner toutes les images dans un dossier

mogrify -resize 48×48 *.png

Redimensionner une image en spécifiant la largeur

convert -resize 620x image.png image-620.png

Redimensionner une image en spécifiant la hauteur

convert -resize x100 image.png image-100.png

Créer un Favicon

convert -colors 256 -resize 16×16 image.jpg favicon.ico

Convertir une image couleur en noir et blanc

convert -type image.jpg image-noir-blanc.jpg

Ajouter une bordure transparente de 1 pixel autour d'une image

convert -bordercolor Transparent -border 1×1 image.png image-borde.png

Ajouter une bordure noire de 10 pixels autour d'une image

convert -bordercolor #000000 -border 10×10 image.png image-borde.png

Créer un négatif d'une image

convert -negate image.png image-negate.png

Faire pivoter une image verticalement

convert -flip image.png image-inversee.png

Faire pivoter une image de gauche à droite

convert -flop image.png image-inversee.png

Utilisez l'interface graphique ImageMagick

display image.png


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Glorfindel dit

    utilisez-vous mogrify ?? regardez l'exemple dans le post.
    À votre santé! Paul.

  2.   RubenGnu dit

    Avez-vous copié et collé?

    Il met une lettre «x» au lieu du signe pour «×» que l'éditeur de texte place sur la page.

    salutations

    Ruben

  3.   ainhoaredam dit

    Salut
    Je l'ai testé et ça va, mais la commande pour créer un favicon ne fonctionne pas pour moi, c'est l'erreur qu'elle me donne:
    convert: argument non valide pour l'option `-resize ': 16 × 16 @ error / convert.c / ConvertImageCommand / 2343.
    salutations

  4.   katherine dit

    qu'est-ce qu'un terminal

  5.   Jonathan dit

    Très bon choix de commandes et clarté dans leur syntaxe. Auparavant, j'avais beaucoup de mal à essayer d'utiliser convert pour redimensionner un lot d'images et maintenant que j'utilise mogrify dans le même but, tout s'est bien passé. Merci beaucoup Pablo.

  6.   Enrique dit

    Une petite contribution à ce brillant post!

    Pour convertir en noir et blanc:

    convertir-image monochrome.png image-bw.png

    salutations

    1.    utilisons Linux dit

      Merci pour la contribution!
      Étreinte! Paul

  7.   Moises Garnica Radille dit

    Bonjour, j'ai vu ces informations sur de nombreux sites!
    Question: Comment puis-je évoluer vers un autre répertoire?
    Exemple: convert -scale 50% -quality 80% * .jpg> scaling /
    L'exemple ne fonctionne pas, comment devrait-il passer d'un dossier x à un sous-dossier x / mis à l'échelle?
    Merci beaucoup d'avance!

    1.    Seize dit

      J'ai fait un script pour cela et les modifiés sont enregistrés dans un autre dossier.
      Je place le script dans le dossier où j'ai toutes les images que je souhaite modifier, et je l'exécute depuis la console (le fichier doit avoir l'autorisation d'exécution). Le code que je vais mettre ensuite, vous le collez dans un fichier et lui donnez le nom que vous voulez (je mets .sh à la fin pour savoir que c'est un script rien qu'en lisant le nom du fichier).

      Je copie et colle le code au cas où cela vous aiderait:

      #! / Bin / bash
      ### Changer la taille d'une image en indiquant la largeur et la qualité
      # convert -quality 86 -resize 620x image.png image-620.png
      ### Changer la taille d'une image indiquant la hauteur et la qualité
      # convert -quality 86 -resize x100 image.png image-100.png

      + D'infos: https://blog.desdelinux.net/como-manipular-imagenes-desde-el-terminal/

      #
      # ================================================ ==============
      RÉPERTOIRE =pwd
      cd $ RÉPERTOIRE
      resized_directory = »resized_img»
      $ (mkdir "$ resized_directory" 2> / dev / null)
      TEMP = »img_list» # fichier temporaire interne
      #
      # liste des images de répertoire dans un fichier temporaire
      ls * .png 2> / dev / null >> $ resized_directory / $ TEMP; ls * .PNG 2> / dev / null >> $ resized_directory / $ TEMP;
      ls * .jpg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPG 2> / dev / null >> $ resized_directory / $ TEMP;
      ls * .jpeg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPEG 2> / dev / null >> $ resized_directory / $ TEMP;
      ls * .gif 2> / dev / null >> $ resized_directory / $ TEMP; ls * .GIF 2> / dev / null >> $ resized_directory / $ TEMP
      #
      #changer des images dans le répertoire
      echo -n "Traitement, veuillez patienter"
      pendant la lecture de l'image
      do
      echo -n "."
      convert -quality 90 -resize 1000x $ image $ resized_directory / $ image
      done <$ resized_directory / $ TEMP
      chassèrent ""
      #
      # supprimer le fichier temporaire
      rm $ resized_directory / $ TEMP
      echo "terminé avec succès"

  8.   linux professionnel dit

    merci très bien