dimanche 13 septembre 2020

Utiliser GEGL en ligne de commande avec les versions Gimp portable.

 GEGL est une bibliothèque image libre très performante et très rapide utilisée par Gimp.
Cette bibliothèque peut aussi être utilisée en lignes de commande avec l’exécutable ‘gegl.exe’ (sous Windows) . Cet exécutable est fourni dans les versions portables de Gimp accessibles depuis ce site mais pas dans la version officielle de gimp.org :o(
Le site Internet de GEGL semble en cours de mise à jour et ne fonctionne pas toujours très bien. Voici quelques liens utiles et d’exemples pour trouver de l’information :
http://gegl.org Le site d’information sur GEGL.
https://gitlab.gnome.org/GNOME/gegl/  Sources du programme et rapports d’erreur.
http://gegl.org/operations/GeglOperationAreaFilter.html Page des filtres du type ‘area ‘ (possibilité d’accéder à d’autres filtres sur les liens en haut à droite de cette page).
http://gegl.org/operations/gegl-mosaic.html  Page des options du filtre ‘mosaic’.

Utiliser GEGL en ligne de commande sur les versions portables de Gimp de ce site.

gegl.exe se trouve dans les sous-répertoires \bin et \32\bin des versions portables Gimp 2.10 .x
Pour simplifier l’utilisation et les lignes de commande il faut mettre les images à traiter dans un de ces deux répertoires, de préférence dans \bin si vous êtes sous Windows 64 bits.
L’image utilisée pour les tests est un tamia Copyright Greg Lasley licence cc-by-nc-4.0 de la page https://eol.org/pages/311544 .

Télécharger et placer l’image ‘18.https___www_inaturalist_org_photos_2307838.jpg’ dans le répertoire \bin.
Ouvrir le terminal Windows ou ‘Interpréteur de commandes Windows’ et copier/coller les lignes de commande qui suivent.
Remarque :
Dans notre installation le répertoire de gegl.exe est ‘C:\Gimp-2.10.21_Portable-32-64bit-Win\bin’ à adapter selon votre configuration.
_

Pour avoir la liste de toutes les commandes dans un fichier texte ‘\bin\gegl_list_all.txt’ utiliser ces 2 lignes de commande (ne pas s’inquiéter pour les messages d’alerte) :
cd C:\Gimp-2.10.21_Portable-32-64bit-Win\bin
gegl.exe --list-all >gegl_list_all.txt
Il y a 249 opérations sur cette version de GEGL.
_

Obtenir un effet de mosaïque en fixant ‘seed’ (germe) pour ne pas avoir de rendu aléatoire.  Utiliser ces 2 lignes de commande (ne pas s’inquiéter pour les messages d’alerte) :
cd C:\Gimp-2.10.21_Portable-32-64bit-Win\bin
gegl.exe 18.https___www_inaturalist_org_photos_2307838.jpg -o test_mosaic.jpg -- mosaic tile-size=10 seed=123
Origine vs Rendu
_

Utiliser deux opérations à la suite (noise-reduction et unsharp-mask) avec leurs paramètres par défaut :
cd C:\Gimp-2.10.21_Portable-32-64bit-Win\bin
gegl.exe 18.https___www_inaturalist_org_photos_2307838.jpg -o 2_operations.png -- noise-reduction unsharp-mask
Origine vs Rendu
_

Avec Gimp 2.10.21 (ou autre), utiliser GEGL en ligne de commande sur les versions portables de ce site

Il est amusant, intéressant d’avoir cette possibilité pour utiliser les opérations GEGL via des scripts où certains paramètres ne sont pas accessibles depuis les procédures, ‘seed’ par exemple.
Un script Python créé pour cette possibilité est disponible dans une archive 7zip à partir de ce lien :
Il faut décompresser cette archive et placer le répertoire ‘gegl_command_line’ et son contenu ‘gegl_command_line.py’ dans Gimp-2.10.21_Portable-32-64bit-Win\Preferences\plug-ins’ pour obtenir ‘\Gimp-2.10.21_Portable-32-64bit-Win\Preferences\plug-ins\gegl_command_line\gegl_command_line.py
Démarrer Gimp pour activer ce script Python sur une image RVB ou RVBA par Filtres > GEGL command line…
Il a 4 options : Operation, Executable, ExportType et Temporisation.
Operation : Il faut placer la ligne de commande qui commence par -- , par exemple -- mosaic  tile-size=18 seed=123
Executable : Le programme GEGL.
ExportType : Le traitement se fait en exportant le ‘drawable’ et en important le résultat du traitement GEGL soit en PNG ou en JPEG.
Temporisation : Sécurité (peut-être inutile) en secondes entre les phases. Pas de problème constaté lors des essais du script en mettant 0.
Ce script va créer les fichiers gegl_input.png , gegl_output.png et/ou gegl_input.jpg , gegl_output.jpg dans le répertoire ‘\bin’.
Rendu


À propos des futures versions portables Gimp 2.10.xx :
Ces futures versions prendront en compte GEGL en lignes de commande et fourniront le maximum de bibliothèques (dll) pour améliorer son fonctionnement.
Le petit script ‘gegl_command_line.py’ sera peut-être remplacé par un filtre en C suite à l’abandon de Python 2.

*****




3 commentaires:

  1. Very interesting.
    It could be even more interesting if the .py could be called by user scripts (which means handling the input image source and returning the result to the script, not in the .bin repository).
    In any case, thanks a lot for this.

    RépondreEffacer
    Réponses


    1. Hello Dinasset,
      Thanks for the tests and the link.
      Thanks also MareroQ for the improvements:
      http://gimpchat.com/viewtopic.php?f=9&t=18040&start=20#p256055
      Dinasset, you can change the directories of temporary images by modifying `file_png_save`,` file_jpeg_save`.
      :o)

      Effacer
  2. update: solved by MareroQ, see Gimpchat

    RépondreEffacer