Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : GREYCstoration : Appel à contribution

Posté par David Tschumperlé (page perso, ) le 31 janvier 2007
Bonjour à tous.
J'ai une info et un appel à contribution à proposer ici.

L'info, c'est que la dernière version 1.1.8 de CImg est sortie vendredi dernier. CImg [1] est une bibliothèque libre C++ pour le traitement d'images génériques, simple à utiliser et multi-plateforme, distribuée sous licence CeCILL.
Le package contient de nombreux exemples d'utilisation (voir [2] pour quelques screenshots et videos en ligne), et en particulier l'algorithme GREYCstoration [3] qui permet de débruiter, inpainter et redimensionner des images. Cet algorithme est basé sur des recherches assez récentes sur les EDP de diffusion [3.5] que j'ai menées au laboratoire GREYC, UMR 6072 du CNRS, implanté à Caen.

Cet algorithme a été porté il y a de cela quelque temps par Victor Stinner dans un plug-in GIMP [4] pour le débruitage d'images. Or depuis ce premier portage (il y a presque 2 ans maintenant), GREYCstoration (l'algorithme) a pas mal évolué, en particulier en terme de vitesse d'exécution (x3!) et de qualité de résultats. Victor m'a confirmé n'avoir plus le temps de s'occuper de ce plug-in, et son développement est donc gelé sur la toute première version de l'algo, ce que je trouve vraiment dommage !
J'ai bien essayé de me plonger un peu dans le code de Victor pour essayer de mettre à jour l'algo, mais j'avoue que la programmation de plug-in et autres GUI n'est absolument pas dans mon domaine de compétences, en plus d'avoir très peu de temps pour cela.
Par contre, j'ai créé une extension pour CImg, qui permet de faciliter l'intégration de GREYCstoration dans des applis tierces. Un exemple d'utilisation minimal [5] permet de se rendre compte de la simplicité d'utilisation.

La situation est donc la suivante :

- Il y a un plug-in GIMP déjà fonctionnel, mais pas très récent, contenant la GUI + le code de l'algorithme de débruitage (l'ancien, ré-organisé dans sa structure par Victor).
- Il y a une extension GREYCstoration de CImg pouvant être appelé simplement de n'importe quel programme C++ externe (un simple include et un appel à une méthode). Cette extension est à priori assurée d'être toujours à jour (c'est moi qui la maintient).

Ma question est donc :
Y-aurait-il quelqu'un(e) interessé(e) pour essayer de recoller ces deux bouts, afin de fournir un plug-in GREYCstoration pour GIMP qui pourrait se mettre facilement à jour en mettant simplement à jour CImg et en recompilant le plug-in ? En gros, il faudrait enlever le code de l'algo dans l'ancien plug-in, et interfacer avec l'extension GREYCstoration de CImg à la place. A noter que l'extension est prévue pour fonctionner de manière multi-threadé et renvoit notamment une indication sur l'état d'avancement du processus. Je ne pense pas que ca soit particulièrement compliqué mais faut mettre les doigts dans le cambouis de GIMP un peu quand même (si j'avais 10 ans de moins... :) ).

Voila, j'espère que ca interessera quelqu'un ! Je pense vraiment qu'avoir une méthode libre de débruitage d'images performante et customisable pour GIMP serait un super truc, avec une bonne visibilité. Si ca vous tente, contactez moi (e-mail boulot) je suis bien sûr prêt à donner un coup de main pour que ca avance au plus vite.

Merci de votre attention.
David.

--------- Références ------------

[1] CImg : http://cimg.sourceforge.net
[2] CImg Screenshots : http://cimg.sourceforge.net/screenshots.shtml
[3] GREYCstoration : http://www.greyc.ensicaen.fr/~dtschump/greycstoration/demons(...)
[3.5] GREYCstoration, le principe :
http://www.greyc.ensicaen.fr/~dtschump/data/ijcv2006.pdf
[4] Port de GREYCstoration pour GIMP : http://linuxfr.org/~haypo/17437.html
[5] Code source pour utiliser l'extension GREYCstoration de CImg : http://cimg.cvs.sourceforge.net/cimg/CImg/examples/greycstor(...)

> Lire le journal (30 commentaires, moyenne: 2,5).  

Vous avez demandé le commentaire #799637.

S'adresser aux devs de GIMP ?

Posté par Thomas Douillard () le 31/01/2007 à 14:05. (lien). Évalué à 3.

Il doit y avoir une ML de développement pour GIMP non ? si ça se trouve les devs seraient intéressés par ton algo, et pourraient l'intégrer directement dans le logiciel, avec les avantages de maintien, d'intégration, que ça comporte, sans compter la pub potentielle ;)

  • [^]Re: S'adresser aux devs de GIMP ?

    Posté par David Tschumperlé (page perso, ) le 31/01/2007 à 14:11. (lien). Évalué à 2.

    Apparemment, Victor avait déjà essayé de voir avec eux, mais ils ne veulent pas de plug-in basés sur du C++.
    Peut-être peut-il confirmer.. Mais effectivement, c'est dommage.

    David.

    • [^]Re: S'adresser aux devs de GIMP ?

      Posté par GCN (Jabber id, page perso, ) le 31/01/2007 à 14:13. (lien). Évalué à 2.

      Pour info le lien où il en parlait à l'époque: http://linuxfr.org/comments/546001.html#546001

      J'imagine que la position des dév. de GIMP n'a pas évolué depuis.

      --
      The UNIX way of sex:
      date;cd ~;gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
      • [^]Re: S'adresser aux devs de GIMP ?

        Posté par halt () le 31/01/2007 à 15:01. (lien). Évalué à 6.

        "J'imagine que la position des dév. de GIMP n'a pas évolué depuis."

        GIMP non plus.



        Pour moi, GIMP est LA déception des logiciels libres: en 2000, il pouvait concurrencer partiellement Photoshop 5.5 avec sa version 1.17. aujourd'hui, Gimp est quasiment le même.

        Quelques bug corrigés, une gestion des images lourdes un peu meilleures mais aucune révolution. Pas de gestion du CMJK, des images 16bits, des méta-données IPTC.


        David, as-tu contacté les développeurs de Krita qui peut-être sauront reconnaitre la qualité de ton algorithme.

        • [^]Re: S'adresser aux devs de GIMP ?

          Posté par Christophe Chailloleau-Leclerc (Jabber id, page perso, ) le 01/02/2007 à 07:50. (lien). Évalué à 1.

          As-tu déjà entendu parler de GEGL ? Sinon, un quelconque moteur de recherche te donnera quelques informations...

          • [^]Re: S'adresser aux devs de GIMP ?

            Posté par SOULfly_B (Jabber id, page perso, ) le 01/02/2007 à 10:49. (lien). Évalué à 3.

            Pour ceux qui, comme moi, ne savent pas ce que c'est :

            GEGL (Generic Graphics Library) is a graph based image processing framework.

            GEGLs original design was made to scratch GIMPs itches for a new compositing and processing core. This core is being designed to have minimal dependencies. and a simple well defined API.


            Ce qui n'enlève rien aux propos du commentaire précédent le précédent (vous suivez ? ;) ;) ), Gimp a très peu évolué depuis, en gros, Gimp 2 ....

      [^]Re: S'adresser aux devs de GIMP ?

      Posté par Edouard Gomez (page perso, ) le 31/01/2007 à 16:12. (lien). Évalué à 2.

      Oui le C++ n'est pas une langage admis dans GIMP.

      Par contre, ce qui peut être fait, c'est de coder une glue C->C++ sur laquelle se baserait le plugin. Dans ce cas, le projet Gimp+plugin greycstoration serait 100% C, il aurait une chance d'etre revu et accepté. Par contre il faudrait, j'imagine, que cette glue C->C++ soit maintenue Upstream (David quoi :-)) sinon on se retrouve dans le cas où Gimp dépend de C++.

      Un autre projet fait ce genre de chose. Il s'agit de libopenraw, Hugue Figuiere n'est pas pour un retour au C, il lui prefere le C++ pour ce projet. Par contre conscient que le C++ pose trop souvent des problemes d'ABI, il a codé une API C qui fait le pont entre le C++ et le C.