Ordimission

Assistance à la création et la promotion de contenus audiovisuels et multimédias

Traitement par lots images sous GIMP

Gimp-Python

Automatisation du traitement par lots images sous GIMP

GIMP, le programme de manipulation d’images GNU, offre des fonctionnalités avancées de traitement d’images, y compris la possibilité d’effectuer des traitements par lots. En utilisant le langage de script intégré Script-Fu ou Python avec l’extension Python de GIMP, vous pouvez automatiser des tâches telles que la conversion en noir et blanc et l’application de la détection des bords et enregistre ensuite les images transformées dans un autre répertoire.

Préparation de votre environnement GIMP pour le scripting Python

  • Installation de l’extension Python de GIMP

    • Avant de commencer, assurez-vous d’avoir l’extension Python de GIMP installée. Vérifiez cela en allant dans Filtres > Python-Fu > Console dans GIMP.

Création et exécution d’un script Python pour le traitement par lots

  • Écriture du script de traitement par lots

    • Commencez par créer un nouveau script Python. Par exemple, nommez-le batch_processing.py.
    • Utilisez le code suivant comme base pour votre script :
from gimpfu import *

Ce script lit les images d'un répertoire spécifié, applique des effets (conversion en noir et blanc et détection des bords), puis enregistre les images modifiées dans un autre répertoire.

def batch_processing(input_directory, output_directory):
    # Obtenir la liste des fichiers image dans le répertoire d'entrée
    import os
    from glob import glob
    image_files = glob(os.path.join(input_directory, "*.jpg"))

    # Traiter chaque fichier image
    for image_file in image_files:
        # Ouvrir l'image
        image = pdb.file_jpeg_load(image_file, image_file)

        # Convertir en noir et blanc
        pdb.gimp_image_convert_grayscale(image)

        # Appliquer la détection des bords
        for layer in image.layers:
            pdb.plug_in_edge(image, layer, 2, 2, 2)

        # Enregistrer l'image transformée dans le répertoire de sortie
        output_file = os.path.join(output_directory, os.path.basename(image_file))
        pdb.file_jpeg_save(image, layer, output_file, output_file, 0.9, 0, 0, 0, "", 0, 1, 0, 0)

        # Fermer l'image
        pdb.gimp_image_delete(image)

register(
    "python_fu_batch_processing",
    "Traitement par lots",
    "Appliquer le noir et blanc et la détection des bords aux images d'un répertoire",
    "Votre nom",
    "Votre nom",
    "2021",
    "Traitement par lots...",
    "",
    [
        (PF_DIRNAME, "input_directory", "Répertoire d'entrée", ""),
        (PF_DIRNAME, "output_directory", "Répertoire de sortie", ""),
    ],
    [],
    batch_processing,
    menu="<Image>/Filters/Custom")

main()

Personnalisation et enregistrement du script

  • Remplacez "Votre nom" dans le script par votre nom ou un pseudonyme.
  • Enregistrez le script dans le répertoire de plug-ins de GIMP. Par exemple, ~/.config/GIMP/2.10/plug-ins/ sur Linux ou %APPDATA%\GIMP\2.10\plug-ins\ sur Windows.

Redémarrage de GIMP et exécution du script

    • Après avoir enregistré le script, redémarrez GIMP.
    • Vous trouverez un nouvel élément de menu sous Filtres > Custom > Batch processing.... Lorsque vous cliquez dessus, il vous sera demandé de sélectionner les répertoires d’entrée et de sortie pour le traitement par lots.

Adapter le script pour différents formats d’image

Ce script suppose que vous travaillez avec des images JPEG. Vous pouvez modifier le script pour fonctionner avec d’autres formats en changeant l’extension de fichier dans la fonction glob et en utilisant les fonctions de chargement et d’enregistrement appropriées à partir de la base de données de procédures GIMP (PDB).

Liens externes pour référence :

 

Vous voulez rester à jour avec les dernières astuces et guides en informatique ? Abonnez-vous à notre newsletter dès maintenant et ne manquez aucune nouveauté sur Debian, Windows, et bien plus. Recevez directement dans votre boîte de réception des conseils pratiques, des tutoriels détaillés et les dernières mises à jour du monde de la technologie.

Partagez l'article

Les articles à découvrir