FILTRES POUR IMAGES

voisinpi Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 1 septembre 2006 - 21 juin 2004 à 14:44
hawarih Messages postés 2 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 mai 2012 - 19 mai 2012 à 14:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23733-filtres-pour-images

hawarih Messages postés 2 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 mai 2012
19 mai 2012 à 14:54
salut s'il vous plait quelqu'un me donne le code de dilatation et érosion d'une image avec langage java j'utilise comme IDE netBeans java et manipule la bibliothéque de javacv
merci
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
22 juin 2010 à 19:24
@red man
Salut,

Non, aucun algo de dimensionnement dans ma lib.

Dans la librairie java standard, je vois 3 méthodes possibles (il y en a peut-être d'autres):
- utiliser Graphics2D en lui disant d'utiliser une interpolation bicubique (voir RenderingHints), probablement la meilleure solution
- la méthode getScaledInstance de Image qui a une qualité correcte avec SCALE_SMOOTH, le résultat plait à l'œil
- la classe AffineTransform, moche

voir aussi http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html notamment la partie multi steps

il y a certainement des librairies qui proposent des bonnes solutions.
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 2
22 juin 2010 à 11:48
Avec ta librairie, peut-on réaliser des transformations sur l'échelle de l'image avec très peu de perte d'information (de pixel) ?!!!


Cordialement !
cs_Audrey92 Messages postés 6 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 11 décembre 2009
11 déc. 2009 à 22:55
Merci beaucoup pour ta réactivité!
En fait j'ai fait j'ai opté pour un code a ma sauce (j'avais juste 2 teintes dans mon image)!
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
18 août 2009 à 20:40
Mis à jour. tu peux retenter le filtre FiltreColoriser.
Son résultat fait plus naturel et devrait conserver les blancs
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
18 août 2009 à 00:02
@Audrey

Salut,

et ça fait un bail que j'ai codé ça ;)
Non, en effet, il n'y a pas de quoi faire ce que tu veux dans la source.

Je vais poster une mise à jour tout à l'heure ou demain, avec des nouvelles fonctions de conversion entre RGB/HSV, et rajouter des conversions RGB/HSL (les fonctions que j'avais écrite à l'époque ont l'air vraiment limite au niveau de la qualité).
Puis changer le filtre FiltreColoriser pour qu'il utilise le domaine HSL et non pas HSV. ça devrait donner un résultat bien plus utilisable et conserver les blancs.
cs_Audrey92 Messages postés 6 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 11 décembre 2009
17 août 2009 à 17:51
Ca fait un bail que cette source a été posté mais je n'arrive pas à l'utiliser pour faire un filtre de couleur qui ne remplace pas le blanc de l'image...
J'utilise la fonction "filtrerImage(Image image, int teinte, float saturation)" de la class FiltreColoriser.
Quelqu'un aurait-il une piste?
cs_Assfour Messages postés 1 Date d'inscription samedi 31 décembre 2005 Statut Membre Dernière intervention 12 mars 2007
12 mars 2007 à 08:43
Merci bien pour ce code
j'espère qu'il va m'aider à terminer mon projet
voisinpi Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 1 septembre 2006
25 oct. 2005 à 21:49
Ça je ne sais pas, mais à tous les coups, Zindozs... Nan, je ne suis pas un détracteur de ce fabuleux système d'exploitation ^^

En effet, à en croire ton test il y a une différence énorme. Etait-ce vraiment la même suite d'instructions ? Je m'intéresse pas mal aux performances en Java notamment parce que j'en commencé à développer un moteur de réalité virtuelle basé sur OpenGL, et comme tu dis : les performances sont plus qu'appréciables. Java est aussi mon langage préféré, et je trouve que la portabilité n'a qu'un prix très modique sur le plan de la recherche des performances maximales (JNI pawa quand il le faut ;)).
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
25 oct. 2005 à 21:41
j'ai évidemment pas testé avec ce programme, j'ai pas fait d'effort pour optimiser le moindre calcul, et de toute façon, l'optimisation, c'est pas mon fort :)
donc on peut tout à fait s'en prendre à moi :D

MAIS :p

pour un traceur de fractale avec pas mal d'algorithmes, j'ai craqué, c'était beaucoup trop lent !
je les ai recopié dans un fichier C je suis passé par JNI, et c'était un peu plus de 4x plus rapide.
c'était sur un java 1.4.
L'algo qui avait été le plus amélioré était celui pour les fractales de Lyapounov, avec un gros calcul de log au milieu.
Une fonction de calul de couleurs qui utilisait des fonctions trigo avait aussi étée énormément améliorée.
il n'y a (à mon avis) pas photo pour les calculs de brutes...

et il ne s'agit pas de programmes fait avec les débuts de java !!

je ne crache pas sur les performances de java (qui reste toujours mon langage préféré :)), elles sont actuellement tout à fait satisfaisantes voir excellentes dans certains domaines, mais je préfère toujours faire mes calculs bourrins, ou les sections critiques de mes progs java, en C.

Au passage, je me demande, est-ce que l'OS sur lequel on exécute le programme peut avoir une incidence sur les performances arithmétiques en Java ?
voisinpi Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 1 septembre 2006
25 oct. 2005 à 21:09
Hin hiiiin ! (buzzer de mauvaise réponse ^^) Désolé de te contredire mais Java ne rime pas du tout avec mauvaises perfs. Les JVMs ont bien évolué depuis les débuts du langage et maintenant, si les perfs sont mauvaises tu ne peux plus t'en prendre qu'à toi :) Ne vas pas me sortir un truc du style : "Ouaiiiiiiiiis, mais C++ le fait en 2ms de moins pour cet algo... qui prend 30sec..." ;)

PS : on fait même des jeux en 3D en Java maitnenant, sisi !

Cheers !
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
25 oct. 2005 à 18:52
Ça peut être vu comme un problème de conception, le fait que j'ai rien mis static :)

Je n'ai plus vraiment le code en tête, mais il me semble (vaguement, dans la brume, un souvenir lointain....) que j'avais fait ça pour pouvoir passer un ordre d'annulation à un filtre (public boolean annule dans utilitairesimage.FiltreAvancement).

Il y a possibilité de faire ça autrement (par exemple en passant un Boolean annuler par référence à la fonction de calcul), mais visiblement, je n'y ai pas penser quand j'ai tappé ça :)

Enfin, personnelement, même si c'est moins pratique, je préfère finalement que tout ait besoin d'être instancié :)


Pour les perfs, bah c'est du java, et du pas vraiment optimisé en plus :)
cs_keil Messages postés 52 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 25 octobre 2005
25 oct. 2005 à 02:55
moi j'ai maté un filtre que je voulais voir, entre autre : saturation... et chapeau!
dommage que les perf baissent mais vu comme c'est, je pense pas qu'on puisse alléger le code. cependant, tu aurais pu mettre des static pour qu'on ait pas besoin de créer un objet, et zaper cette histoire de progression. enfin 10 qd mm je t'ai assigné.
merci
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
21 juin 2004 à 16:59
le download semble marcher pourtant

normalement, ya une nouvelle fenetre qui s'ouvre, si t'es connecté, le DL commence, sinon, on te demande ton login et ton pass.
voisinpi Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 1 septembre 2006
21 juin 2004 à 14:44
Pk quand je clique sur le lien de téléchargement ("Télécharger le .ZIP") je n'ai le droit qu'au msg JavaScript disant : "Blablabla Attention les virus Blablabla PouetPouet..." ???
voisinpi Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 1 septembre 2006
21 juin 2004 à 14:44
Pk quand je clique sur le lien de téléchargement ("Télécharger le .ZIP") je n'ai le droit qu'au msg JavaScript disant : "Blablabla Attention les virus Blablabla PouetPouet..." ???
Rejoignez-nous