Filtre d'une image un peu particulier

Résolu
Signaler
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
-
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

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
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.
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
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
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
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
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
Salut,

à c'est sur ^^

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

OoWORAoO