Bonjour,

je suis censée faire un programme qui rend une image en luminance teinte et saturation en utilisant des fonctions mathématiques. Pour la luminance et la saturation j'ai pas eu de prb, par contre en teinte ça affiche une image avec des couleurs bizzares. Je sais que le prb est un prb d'affichage parceque les calculs sont bien juste. J'aimerai bien que vous m'aidiez.

Puis enfaite aprés avoir fait ça je suis censée reconstruite l'image en teinte pour avoir une image presque identique à l'image de départ vu que aprés la teinte j'ai l'image en presque noir et blanc en utilisant une charte de couleur, un genre de reconstruction ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 
public void afficheimageteinte(){
         int width = monImage.getWidth();
         int height = monImage.getHeight();
        for(int i=0; i<height; i++){
 
                for(int j=0; j<width; j++){
 
                   Color c = new Color(monImage.getRGB(j, i));
 
                  //U
                   int red1 = ((int)(c.getRed()* (-0.14713) ));
                   int blue1 = (int)(c.getBlue()* (0.436));
                   int green1 = ((int)(c.getGreen()*(-0.28886)));
                   double sommeU=red1+green1+blue1; //RESULTAT U
 
                   // V
                   int red2 = ((int)(c.getRed() * 0.615));
                   int green2 = ((int)(c.getGreen() * (-0.51498)));
                   int blue2 = ((int)(c.getBlue() * (-0.10001)));
                   double sommeV=red2+green2+blue2; //RESULTAT V
 
 
                  double teinte = 0;
                   if(sommeV==0){
                       if(sommeU>0)
                           teinte=0;
                       else
                           teinte =180;}
                       else if(sommeV!=0)
                     teinte =180*(Math.atan2(sommeV,sommeU))/3.141592;
 
 
                  Color newColor = new Color( (int) teinte);
 
                 monImage.setRGB(j,i,newColor.getRGB());
                repaint();
                }
             }
    }