Filtre d'une image un peu particulier

Résolu
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 9 juin 2007 à 19:21
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 10 juin 2007 à 13:38
Bonsoir à tous !

Est-ce que vous pourriez m'aiguillier svp : en vue de ma prochaine source (que certains connaissent déjà :p), j'aurais besoin de filtrer une image selon une autre image.

Je m'explique :
A partir d'une image normale, et d'une image en niveau de gris, j'aurais besoin de modifier les composants RGB de l'image normale selon le niveau de gris de l'image de masque. J'aurais besoin d'une méthode rapide pour faire cà : donc si possible, éviter de lire l'image 1 pixels par pixels, et pour chaque pixels, lire le pixel correspondant de l'image 2, et calculer la nouvelle couleur du pixel de l'image 1 en conséquence. L'idéal serait de surcharger une fonction et que la JVM fasse le boulot (se sera certainement bien plus optimisé que 2 boucles for !).

Est-ce qu'avec la classe RGBImageFilter c'est possible à faire ?

Merci d'avance

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 juin 2007 à 11:55
Ben en fait, c'est tout simple :
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
g2.drawImage(_texture, 0, 0, null);

Suis-je bête : en affichant bêtement l'image du masque sur l'image 1, avec une transparence de 50 %, ca donne ce que je cherchais à faire (forcément !).

Désolé pour le désagrément.
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
9 juin 2007 à 19:43
Salut,

le prob avec RGBImageFilter c'est que tu dois faire pixel par pixel.... donc c'est mort (bien que ça reste assez rapide.... sinon il y a convolOp mais faut le faire en plusieurs temps...

Par contre perso pour les traitements lourd j'ai fait une lib JNI avec de l'asm (sse2(3), mmx) mais je n'ai pas poussé le vice à le faire pour windows....

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 juin 2007 à 19:56
Il n'y a pas de classe spécifique dans Java 6 pour faire cà ?

Pourtant ce n'est pas un filtre bien compliqué. :(

Le problème avec RGBImageFilter c'est que c'est limité à une seule image => on filtre pixel par pixel (ce dont j'ai besoin finalement), mais sur une seule image. Remarque, à la limite, je peux lire les pixels de l'autre image...

Je vais me renseigner sur ConvolveOp
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
9 juin 2007 à 20:40
Salut,

heu je ne suis toujours pas passé sur le jdk 1.6 (ils ont delete une classe que j'utilise et n'ai toujours pas topé une équivalence) donc je ne peux te dire si il existe une classe pour le faire...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
10 juin 2007 à 13:38
Salut,

à c'est sur ^^

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous