Derniers journaux de haypo :
- [14/02@20:50] La vérité sur Hurd : ça marche ;-)
- [14/01@13:34] Petit outil pour changer de charset et d'encodage
- [03/01@23:33] X.org sur une Debian
- [26/12@02:20] Nouveau forum Wormux
- [08/11@20:31] Wormux 0.5 beta3
- [07/11@05:42] archive.org et PetaBox
- [28/10@18:56] Wormux 0.5 beta2
- [08/08@23:53] Gagnez 20 € en aidant le logiciel libre :)
- [20/07@11:02] Internationaliser un site web XML+XSLT utilisant un peu de PHP
- [27/05@15:14] Wormux, un clone du jeu Worms
Journal : Greffon Gimp GREYCstoration
Posté par Victor STINNER (Jabber id, page perso, ) le 11 mars 2005Pour l'utiliser, il vous faut le compiler à la main. Pour ceci, il vous faut : Gimp 2.2.x, g++, entêtes de la librairie gimp, GTK 2.x (2.6 ?) et les entêtes de développement de GTK. En langage Debian, cela donne :
g++ libgimp2.0 libgimp2.0-dev libgtk2.0-dev libgtk2.0-0
Maintenant, téléchargez les sources :
http://www.haypocalc.com/tmp/greystoration_gimp-0.1.tar.gz(...)
Un petit "make install" (pas besoin de passer root), et on lance Gimp. Le greffon est maintenant accessible via le menu Filtres > Misc > GREYCstoration, mais uniquement pour les images RBG (24 ou 32 bpp).
Exemples :
- http://www.greyc.ensicaen.fr/~dtschump/greycstoration/demo.html(...)
- http://www.girouette-stinner.com/castor/restore.html(...)
Liens :
- CImg : http://cimg.sourceforge.net/(...) (la librairie de traitement d'image)
- GREYCstoration : http://www.greyc.ensicaen.fr/~dtschump/greycstoration/(...)
Haypo
> Lire le journal (40 commentaires, moyenne: 2,7).
Bravo !
Rien a dire de plus, sinon que je vais surement tester ce weekend :)
-
[^]Re: Bravo !
Posté par David Tschumperlé (page perso, ) le 11/03/2005 à 17:07. (lien). Évalué à 7.Effectivement, ca fait plaisir de voir un plug-in aussi rapidement,
je suis épaté. Félicitations, et vivre le logiciel libre !
David.
-
[^]Re: Bravo !
Posté par Sylvain Picard () le 12/03/2005 à 13:11. (lien). Évalué à 1.vraiment, félicitations à tous les deux... c'est épatant et très utilisable.
Victor, vivement les versions suivantes gérant les autres fonctions.
Juste une petite chose pour le greffon, j'ai essayé avec une image, annulé, rogné mon image et de nouveau lancé le greffon. L'aperçu m'affiche alors l'image à la taille originale (avant rognage) : je dois sauver et réouvrir à nouveau l'image pour rafraichir l'aperçu...
Bon, c'est quand même pas trop génant.
Merci et bon courage pour la suite...-
[^]Re: Bravo !
Posté par Victor STINNER (Jabber id, page perso, ) le 12/03/2005 à 14:20. (lien). Évalué à 2.Juste une petite chose pour le greffon, j'ai essayé avec une image, annulé, rogné mon image et de nouveau lancé le greffon. L'aperçu m'affiche alors l'image à la taille originale (avant rognage) : je dois sauver et réouvrir à nouveau l'image pour rafraichir l'aperçu...
Hum ... Ne serait-ce pas plutôt un bug de Gimp ? J'ai tenté ta manip, mais j'ai toujours obtenu ce que je voulais. J'ai la version 2.2.4, et toi ?
@+ Haypo-
[^]Re: Bravo !
Posté par Sylvain Picard () le 12/03/2005 à 14:53. (lien). Évalué à 2.ok... erreur de ma part... j'ai cliqué sur redimensionner au lieu de découper à l'aide de l'outil de découpage...
inutilisez-moi...
-
-
et ca t'interesserait pas de faire un plugin pour...
Une transformation avec des ondelettes ?
du style : 7 niveaux d'ondelettes (fines a grossière) pour le renforcement d'image... ?
Ceci serait TRES utilise pour les astronomes amateurs sous linux.
exemple de logiciels : iris ( http://www.Astrosurf.com/buil/iris/iris.htm(...) ) ou registax
re
J'ai les dependances mais ca compile pas sur mdk 10.1 off : /
[code]
[tsubasa@mdk101 greystoration_gimp]$ make install
Compile image.o
In file included from image.cpp:1:
image.h:23: error: ISO C++ forbids declaration of `GimpPreview' with no type
image.h:23: error: expected `;' before '*' token
image.h:28: error: `GimpPreview' has not been declared
image.h:28: error: ISO C++ forbids declaration of `preview' with no type
image.cpp:12: error: `GimpPreview' has not been declared
image.cpp:13: error: ISO C++ forbids declaration of `ppreview' with no type
image.cpp: In member function `void Image::init(GimpDrawable*, int*)':
image.cpp:15: error: `preview' undeclared (first use this function)
image.cpp:15: error: (Each undeclared identifier is reported only once for each function it appears in.)
image.cpp:18: error: `gimp_preview_get_position' undeclared (first use this function)
image.cpp:19: error: `gimp_preview_get_size' undeclared (first use this function)
make: *** [image.o] Erreur 1
[/code]
-
[^]Re: re
Posté par Victor STINNER (Jabber id, page perso, ) le 11/03/2005 à 18:49. (lien). Évalué à 6.Es-tu sûr d'avoir Gimp 2.2 ? GimpPreview & Cie. n'existent que depuis cette version.
Haypo-
[^]Re: re
Posté par Sylvain (Jabber id, page perso, ) le 11/03/2005 à 19:38. (lien). Évalué à 3.desolé lol j'ai la 2.0.4 : / c'est donc ca ..
-
[^]Re: re
Posté par Bruce Le Nain (Jabber id, page perso, ) le 13/03/2005 à 01:34. (lien). Évalué à 2.http://gcnweb.free.fr/blog/index.php?Mandrake-linux-rpms/2005/02(...)
tu trouveras ton bonheur
-
-
C'est beaucoup plus facile à paramétrer
Avec la zone de prévisualisation et les zones de saisies, on paramètre l'outil bien plus facilement ! J'ai réussi à restaurer une image très abimée, voyez l'image de bébé sur :
http://www.girouette-stinner.com/castor/restore.html(...)
Le détail de l'oeil montre que l'algo excelle lorsqu'il trouve des courbes. Par contre, pour les aplats de couleurs, on voit des "tourbillons" qui apparaissent. Il faut rapprocher p1 de p2 pour limiter l'effet.
Haypo
-
[^]Re: C'est beaucoup plus facile à paramétrer
Posté par gnujsa () le 11/03/2005 à 20:43. (lien). Évalué à 2.Cette image est la même que celle de du tutoriel d' Eric R. Jeschke: « Reducing CCD Noise with The GIMP » http://www.gimpguru.org/Tutorials/ReducingCCDNoise/(...)
(excellent site pour les gimpeurs)
Au premier coup d'oeil, les résultats avec greystoration ont l'air bien meilleurs (image plus lisse, moins bruitée) que la meilleurs des techniques présentées dans le tutoriel (smart sharpening)
Merci Victor STINNER pour ce plugin.-
[^]Re: C'est beaucoup plus facile à paramétrer
Posté par finss (page perso, ) le 11/03/2005 à 22:05. (lien). Évalué à 6.Et merci David Tschumperlé pour l'algo...
-
[^]Re: C'est beaucoup plus facile à paramétrer
-
Licence
C'est sous quelle licence ?
-
[^]Re: Licence
Posté par Victor STINNER (Jabber id, page perso, ) le 12/03/2005 à 11:32. (lien). Évalué à 2.Il y a trois éléments à considérer :
- CImg : la librairie graphique. Elle est initialement sous licence CeCILL, mais David Tscumperlé a accepté de la distribuer sous licence GNU GPL. Voir le fichier copyright dans le paquet Debian :
http://packages.debian.org/changelogs/pool/main/c/cimg/cimg_1.0.7-1(...)
- GREYCstoration : le coeur du plugin. Il est sous licence CeCILL. Je pense que David T. sera d'accord pour le distribuer sous licence GNU GPL. D'ailleurs, les deux licences ne sont pas compatibles par hasard ?
- Mon plugin : ... euh ... GNU GPL. Elle est sympa cette licence :o) J'inclurai la licence dans la prochaine version.
Total : 100% GNU GPL normalement.
@+ Haypo-
[^]Re: Licence
Posté par David Tschumperlé (page perso, ) le 12/03/2005 à 11:48. (lien). Évalué à 4.A noter que ce n'est pas moi qui accepte specialement de distribuer en licence GPL (même si je suis d'accord :) ) , mais c'est un des points intéressant de la licence CeCiLL, qui permet de redistribuer tout code CeCill + GPL en GPL.
David.-
[^]Re: Licence
Posté par mammique (Jabber id, page perso, ) le 12/03/2005 à 12:54. (lien). Évalué à 2.Ha oui je crois que c'est bon, mais j'avais parlé de la CeCiLL avec David Turner qui prépare la GPL 3.0, il disait que le problème venait du fait CeCiLL ne précisait pas avec quelle version de la GPL elle était compatible.
-
-
effet video
Je ne connaissais pas cet effet, mais je me demandais si cela serait une solution pour restaurer une vidéo dégradée ?
Le top serait d'avoir cet algorithme cablé dans une carte vidéo pour obtenir une visualisation améliorée.
En tout cas, l'effet cartoon est trés intéressant !
-
[^]Re: effet video
Posté par Victor STINNER (Jabber id, page perso, ) le 12/03/2005 à 11:26. (lien). Évalué à 2.Si tu essayes le filtre, tu verras que pour une image de 400x400 pixels (RVB), le calcul prend environ une minute (sur un Athlon à 2 GHz) ...
Bon, le temps de calcul dépend entièrement des paramètres (et donc du bruit à éliminer). Et puis, à force, on va peut-être réussir à l'optimiser cette algo ;-) Pour info, y'a un paquet de calculs qui sont faits, et tous sur des nombres flottants (float en C). Un bon benchmark pour un processeur donc ;-)
Je ne pense pas que l'algo soit utilisable aujourd'hui sur de la vidéo (résolution supérieure et un paquet d'images à traiter). Par contre, j'avais lu un papier très intéressant sur la restauration de photo pour traiter le cas du désentrelassement. Bon là le site de GREYCstoration ne semble pas accessible, donc c'est pas gagné pour retrouver le lien.
Haypo-
[^]Re: effet video
Posté par Edouard Gomez (page perso, ) le 15/03/2005 à 00:12. (lien). Évalué à 1.>Et puis, à force, on va peut-être réussir à l'optimiser cette algo ;-)
Bon j'ai regardé ou perdait son temps le processeur grâce à oprofile... le résultat est plutot simple: 96.5933% des instructions retirées le sont dans GREYCstoration::compute_LIC_back_forward(int, int);
La moindre optim la dedans devrait faire des miracles, je regarderai de plus près si j'ai du temps libre... d'autant plus que mon profilage est partiel, j'aurais dû utiliser CPU_CLK_UNHALTED pour avoir une estimation des cycles passés dans les fonctions.
Aux amateurs d'optim, le profile et les sources annotées sont sur:
http://ed.gomez.free.fr/vrac/GREYCstoration/(...)
Mais biensûr, en bon optimiseur que vous êtes, oprofile n'a plus aucun secret pour vous et donc mon profilage partiel ne vous servira a rien.-
[^]Re: effet video
Posté par David Tschumperlé (page perso, ) le 15/03/2005 à 09:26. (lien). Évalué à 1.Effectivement, ca me fait penser qu'il y a peut etre une solution pas trop chere en memoire,
qui pourrait optimiser la chose. Je vais voir ce que je peux faire.
David.-
[^]Re: effet video
Posté par Victor STINNER (Jabber id, page perso, ) le 15/03/2005 à 14:34. (lien). Évalué à 2.Hey, j'ai trouvé une solution (temporaire) pour largement accélérer les calculs : prendre un dl "grand".
dl=0.8 : calul=25 secondes (meilleur rendu)
dl=1.0 : calcul=21 secondes
dl=1.5 : calcul=14 secondes (légères nuances)
dl=3.0 : calcul=7 secondes (on voit que la qualité baisse)
dl=5.0 : calcul=5 secondes (le filtre ne fait plus que 50% du boulot)
Le truc intéressant est que la différence entre les images générées pour dl=0.8 (par défaut) et dl=1.5 est peu perceptible. Pour moi en tout cas (j'suis un peu daltonien ...). Après en regardant en détail, on voit qu'il y a bien des différences. Prendre les deux images, coller les deux calques dans la même image, choisir le mode "soustraction" pour le calque supérieur, aplatir l'image, et rehausser le contraste.
Autre paramètre accélérant le calcul : linear=false.
linear=true : calcul=25 secondes
linear=false : calcul=20 secondes
On peut imaginer différents "profils de qualité". Exemple : "qualité photo" (dl=0.8, linear=true), "brouillon" (dl=3.0, linear=false), et différentes nuances. Ceci permettrait d'avoir un rendu plus rapide de l'effet et de configurer plus rapidement les différents paramètres.
Allez, un dernier paramètre pour la route : da.
(Avec linear=false, dl=1.5)
da=45 : calcul=10.6 secondes
da=90 : calcul=5.6 secondes (l'image est différente, mais je sais pas dire en quoi ... :-) ... mieux contrastée ? des contours différents on va dire)
da=180 : calcul=3.2 secondes (il y a beaucoup d'artefacts)
Beaucoup de bonnes choses pour accélerer le calcul, ou au moins la fenêtre d'aperçu du plugin !
Conclusion :
- Avant (a) : 26 secondes (paramètres par défaut)
- Après (b) : 6 secondes (dl=1.5, linear=false, da=90)
- Après (c) : 8 secondes (dl=1.5, da=90)
La différence entre (a) et (b) est largement visible. Par contre, (a) et (c) sont assez ressemblant. Euh, je veux dire que c'est un aperçu de très bonne qualité ;-)
PS: Je viens de voir que dans mon plugin, le paramètre "dl" est en fait nommé "di".
Haypo-
[^]Re: effet video
Posté par Edouard Gomez (page perso, ) le 15/03/2005 à 17:02. (lien). Évalué à 1.Ca ne regle malheureusement pas le probleme de fond qui est double:
- Pour chaque pixel, on integre sur une assez grande zone autour du pixel courant, ce qui bouffe une bande passante mémoire énorme.
- On traite l'image pixel par pixel, diminuer le ratio CLOCKS/Pixels.
Les solutions imaginables pour le premier point:
- Etre sur de bien aligner le tout, mine de rien, des lectures de memoire alignées c'est plus rapide pour le CPU/Controleur memoire.
- Penser à utiliser au maximum le cache CPU en travaillant sur des données le plus localisées possible et si possible se servir autant de fois que possible de chaque acces afin de ne pas avoir a y revenir plus tard.
- Voir si certains calculs pourraient utiliser moins d'acces memoire, selon que l'algo s'y prete ou pas, envisager la reutilisation de resultats precedents couvrant un grand nombre d'acces memoire.
Les solutions imaginables pour le second point:
- Regarder de plus pres l'utilisation de tout opérateur couteux (/ et *) et donc minimiser petit a petit les nombre de cycles necessaires par pixel.
- Il faut voir si on ne peut pas prévoir une vectorisation de la transformation pour pouvoir optimiser le tout en utilisant les instructions SIMD SSE d'abord, puis si on est vraiment très courageux, passer en SIMD iSSE (mais attention, il faut bien prévoir la precision de calcul en virgule fixe sous peine de tuer l'intégration ç cause de l'accumulation d'erreurs d'approximations).
Voila, c'est toujours les memes concepts d'optim qu'on doit mettre a l'oeuvre. La plupart du temps, chaque technique d'optim est limité par l'algo qui se prete plus ou moins au jeu.
A savoir que le mieux reste d'optimiser l'algo avant de penser a partir dans les delires de reduction d'acces memoire et de vectorisation.
-
[^]Re: effet video
Posté par Leroy Frederic (page perso, ) le 20/03/2005 à 14:07. (lien). Évalué à 1.coller les deux calques dans la même image, choisir le mode "soustraction" pour le calque supérieur, aplatir l'image, et rehausser le contraste.
Houlà malheureux ! "Soustraction" fait une soustraction saturée des 2 calques !
Si c1>c2 alors
c1-c2= c1-c2
c2-c1= 0
Il faut utiliser "difference" pour ce que tu veux faire, ça donne la distance entre les 2 couleurs :
Si c1>c2 alors
c1-c2= c1-c2
c2-c1= c2-c1-
[^]Re: effet video
Posté par Victor STINNER (Jabber id, page perso, ) le 21/03/2005 à 22:49. (lien). Évalué à 2.Hum, j'ai peut-être utilisé ça, je ne sais plus (j'ai écrit le commentaire après avoir bossé sous Gimp). Je trouve les termes mal choisis.
Haypo
-
-
-
-
-
APT
Ma petite pierre à l'édifice :
http://garbure.org/garbure/?el=SbApt_repository(...)
apt-get update
apt-get install gimp-greystoration
-
[^]Re: APT
Posté par Sytoka Modon (page perso, ) le 12/03/2005 à 17:05. (lien). Évalué à 1.Rien a voir mais juste une question : pourquoi il n'y a pas le paquetage cinelerra pour x86 sous garbure ?
-
[^]Re: APT
Posté par mammique (Jabber id, page perso, ) le 12/03/2005 à 17:58. (lien). Évalué à 2.Parce-que ce n'est pas moi qui m'en occupe :-) Des raisons historiques en gros, j'ai fait le portage de cinelerra sur PowerPC (gestion big/little-endian client/serveur du toolkit guicast), et du coup j'ai été chargé des paquetages PowerPC.
http://cvs.cinelerra.org/packages.html(...)-
[^]Re: APT
Posté par mammique (Jabber id, page perso, ) le 12/03/2005 à 18:16. (lien). Évalué à 2.Appart ça j'invite tout ceux qui ont une mauvaise image de Cinelerra d'essayer la version 1.2.2, avec le theme BlueDot (sinon c le vomi assuré), vous changerez surement d'avis.
-
-
-
[^]apt-get source
Posté par Tobu () le 13/03/2005 à 00:58. (lien). Évalué à 2.Tu peux renommer http://garbure.org/debian/./pool/main/g/gimp-greystoration_0.1.tar.(...) en http://garbure.org/debian/./pool/main/g/gimp-greystoration_0.1.orig(...) ?
apt-get source marchera automatiquement après.-
[^]Re: apt-get source
Posté par mammique (Jabber id, page perso, ) le 13/03/2005 à 02:24. (lien). Évalué à 2.C'est demandé si gentiment !
-
[^]Re: apt-get source
Posté par aurelj () le 14/03/2005 à 16:25. (lien). Évalué à 2.C'est sympa de penser au debian non i386 :-)
Merci pour ce repository source, la compile et l'install de gimp-greystoration se passe sans soucis sur amd64.
Juste un petit détail pour améliorer encore un poil le package, il faudrait au minimum ajouter libgimp2.0-dev dans les Build-Depends.
-
-
Tite question
Puisque c'est GPL, est-ce que ce greffon sera livré par défaut dans les versions futures de The Gimp ?
-
[^]Re: Tite question
Posté par Victor STINNER (Jabber id, page perso, ) le 12/03/2005 à 16:03. (lien). Évalué à 2.On m'a dit sur IRC qu'ils ne veulent pas greffon en C++. Je comprend, ça rajoute pas mal de dépendences pour compiler Gimp ça ! Enfin, affaire à suivre.
Haypo
Package debian
Bon, j'avais pas vu qu'il y avait déjà un package debian, j'en ai donc créé un aussi :
Dans /etc/apt/sources.list :
deb http://debian.sarcelle.net/ unstable main
Et puis :
apt-get update
apt-get install gimp-greystoration
Je ne pensais pas que ce plugin aurait tant de succès
Pour la peine, je l'ai un peu retravaillé. Modifs :
* Version 0.1.1
* Dialog reorganized with better parameters names.
* Fix plugin entry in Gimp menu (Greycstoration -> GREYCstoration).
* Don't use CImg interface (keyboard/mouse) which remove X11 and pthread dependencies (or Win32 dependencies)
* Change default values (p1=0.1 and sigma=1.4)
http://www.haypocalc.com/tmp/greystoration_gimp-0.1-1.tar.gz(...)
La plus grosse amélioration, c'est le dialogue mieux organisé, et avec des noms de paramètres plus clairs.
Victor
-
[^]Re: Je ne pensais pas que ce plugin aurait tant de succès
Posté par Cyberdivad (Jabber id, page perso, ) le 13/03/2005 à 21:03. (lien). Évalué à 1.Tu parles qu'il a du succès ce plug-in :-)
Par contre, je me permet de corriger une petite erreur dans le lien, ca évitera un détour par la case recherche aux autres :
http://www.haypocalc.com/tmp/greystoration_gimp-0.1.1.tar.gz(...)
Merci pour ce travail sur le plugin et merci à David Tschumperlé pour son algo et les sources qu'il a bien voulu distribuer sous licence CECILL.-
[^]Re: Je ne pensais pas que ce plugin aurait tant de succès
Posté par mammique (Jabber id, page perso, ) le 14/03/2005 à 00:51. (lien). Évalué à 4.C'est mit à jour, gimp-greystoration_0.1.1-1_i386.deb.
apt-get update
apt-get install gimp-greystoration
-
Comparatif avec Noise Ninja et Denoise Deluxe
Salut,
J'ai essayé de restaurer les photos données en exemple sur les sites webs des plugins Photoshop Noise Ninja (commercial) et Denoise Deluxe. Voici les résultats :
http://www.girouette-stinner.com/castor/compare.html(...)
GREYCstoration est bien meilleur je trouve.
En passant, je me demande où les auteurs de Noise Ninja ont trouvé une image aussi bruitée :-)
@+, Haypo
Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.