IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Imagerie Discussion :

[Gimp] Automatiser des tâches via un script.


Sujet :

Imagerie

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 43
    Points : 29
    Points
    29
    Par défaut [Gimp] Automatiser des tâches via un script.
    Bonjour tout le monde.

    Alors voilà ... dans le cadre d'un projet je suis amener à traiter des images issues d'une capture de microscope à balayage.

    Le problème est que les tâches de traitement (binarisation de l'image) sont toujours les mêmes ... et comme le nombres d'images est très important ceci rend la tâche particulièrement laborieuse manuellement.

    Je voudrais donc savoir si quelqu'un s'y connaissant en script GIMP pourrait me donner le code pour l' "algorythme" suivant :

    Pour chaque image jpeg contenu dans un dossier source défini dynamiquement :

    Ouvrir imagei.jpeg
    Appliquer flou gaussien (5 pix partout)
    Appliquer seuil de couleur (auto)
    Appliquer inversement des couleurs
    Enregistrer la nouvelle image ( sous l'appelation imagei_bin.jpeg ) dans un dossier résultat défini dynamiquement.

    Comme vous le voyez j'ai déjà en tête comment cela doit s'enchainer mais je n'y connais rien au langage donc si quelqu'un pouvait "parler" à ma place se serait super ^^.

    Merci d'avance.

    Damien.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Voici à la final mon fameux script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    (define (batch-binarisation)
      (let* 
         (
         (pattern (get-directory("Selectionnez un répertoire" vpanel))
         (filelist (cadr (file-glob pattern 1)))
         )
       (while (not (null? filelist))
         (let* 
            (
            (filenamein (car filelist))
            (filenameout (string-append filenamein "_bin"))
            (image (car (gimp-file-load 1 filenamein filenamein)))
            (drawable (car (gimp-image-get-active-layer image)))
            )
          (plug-in-gauss 1 image drawable 5,0 5,0 1)
          (gimp-threshold drawable 95 255)
          (gimp-invert drawable)
          (gimp-file-save 1 image drawable filenameout filenameout)
          (gimp-image-delete image)
          )
         (set! filelist (cdr filelist))
        )
      )
    )
    
    (script-fu-register "batch-binarisation" ;; nom du script
    "<Toolbox>/Exts/Script-Fu/Perso/Binarisation" ;; position du script dans le menu
    "Binarise la capture MEB" ;; commentaires
    "Boisbouvier D." ;; auteur
    "Copyright" ;; copyright
    "19/12/08" ;; date
    "" ;; types d'images supportés par le script
    SF-IMAGE "Image" 0 ;; image dans lequel le calque est ajouté
    SF-DRAWABLE "Drawable" 0 ;; calque actif de l'image
    ) ;; fin du register
    J'ai enregistrer ce script dans GIMP Pack Mode/share/script (comme on dit) mais lorsque j'actualise il me sort un message d'erreur me disant que les parenthèses ne collent pas !?! J'avoue ne pas voir l'erreur...

    D'autre part ... j'ai un gros doute sur le fait que ma fonction get-directory soit acceptée en SIOD (le langage scheme de GIMP) ... connaissez vous par hasard un équivalent de cette fonction qui marcherait ?!? Le must serait une fonction qui donne directement le chemin de répertoire en UTF-8 (kezako ?) comme demandé dans le navigateur de procédures.

    Merci d'avance de vos réponses ... puisse t elle m'éclairer dans ma (re)quête ^^ !!

  3. #3
    Membre régulier Avatar de foolib
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 111
    Points : 90
    Points
    90
    Par défaut Un début ...
    Salut !
    Cette parenthèse

    (define (batch-binarisation)

    n'est pas fermée.

    Désolé pour le reste je ne me suis jamais penché sur les scripts sous Gimp :s
    Bon courage !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Ok merci bien !!

    Je pense que je vais mettre ce post en mode résolu ... vis à vis du titre de ce dernier ... mais je vais en lancer un autre sur un autre problème qui découle de ce script.

    Voici donc le script final ... qui se compose de deux scripts ... au cas où cela inspirerai des gens plus tard :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ;; Définition du traitement pour un fichier
    (define (script-fu-binar-elem filenamein)
      (let* ( (filenameout (string-append filenamein "_bin"))
              (image (car (gimp-file-load 1 filenamein filenamein)))
              (drawable (car (gimp-image-get-active-layer image))) )
        (plug-in-gauss 1 image drawable 5,0 5,0 1)
        (gimp-threshold drawable 95 255)
        (gimp-invert drawable)
        (gimp-file-save 1 image drawable filenameout filenameout)
        (gimp-image-delete image)))
    
    (script-fu-register "script-fu-binar-elem" ;; nom du script
    "" ;; position du script dans le menu
    "Effectue la séquence de traitement d'image pour un fichier" ;; commentaires
    "Boisbouvier D." ;; auteur
    "Copyright" ;; copyright
    "19/12/08" ;; date
    "" ;; types d'images supportés par le script
    ) ;; fin du register
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ;; Définition du batch
    (define (script-fu-batch-binarisation repertory)
      (let* ( (filelist (cadr (file-glob repertory 1))) )
        ;; appel du traitement sur chaque élément de la liste
        (for-each script-fu-binar-elem filelist)))
    
    (script-fu-register "script-fu-batch-binarisation" ;; nom du script
    "Binarisation" ;; position du script dans le menu
    "Binarise la capture MEB" ;; commentaires
    "Boisbouvier D." ;; auteur
    "Copyright" ;; copyright
    "19/12/08" ;; date
    "" ;; types d'images supportés par le script
    SF-DIRNAME "Répertoire source" ""
    ) ;; fin du register
    (script-fu-menu-register "script-fu-batch-binarisation" "<Toolbox>/Xtns/Script-Fu/Perso")
    Voilà ... et merci encore pour toute vos réponses ^^ !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script d'automatisation des tâches
    Par Bamban dans le forum VBScript
    Réponses: 5
    Dernier message: 05/03/2012, 09h21
  2. Réponses: 7
    Dernier message: 24/02/2012, 14h04
  3. l'envoie des mails via un script asp
    Par aefmaaradji dans le forum ASP
    Réponses: 2
    Dernier message: 07/07/2010, 15h26
  4. Elévation des droits via un script
    Par Valère dans le forum Windows 2000/Me/98/95
    Réponses: 2
    Dernier message: 01/03/2010, 17h29
  5. [debutant]-Automatiser des tâches
    Par petiteso dans le forum ANT
    Réponses: 1
    Dernier message: 26/01/2007, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo