salut, j'ai un projet a réaliser comme tous les ans et la j'ai un pb avec ce minuscule algo ...
je converti une image bmp qui ce trouve dans une Timage en niveau de gris :

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
void TForm1::Imageniveauxdegris1(TImage *Image)
{
 int i,j,r,g,b;
 float y;
 Image->AutoSize = true;
 TImage *Image2 = new TImage(0);
 Image2->Height = Image->Height;
 Image2->Width = Image->Width;
 
   for (j=1;j<Image->Height ;j++ )
   {  	for (i=1;i<Image->Width ;i++ )
        {       g = GetGValue(Image->Canvas->Pixels[i][j]);
                b = GetBValue(Image->Canvas->Pixels[i][j]);
                r = GetRValue(Image->Canvas->Pixels[i][j]);
                y = 0.299*g + 0.587*r + 0.114*b;
                Image2->Canvas->Pixels[i][j] = y;
         }
    }
     Image2->Picture->SaveToFile(ListeFichiers->Strings[compt] + "Binar2.bmp");
 }
ca n'a pas l'air mal du tout mais mon image est rouge ...
meme avec un code de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
y = 0.299*g + 0.587*b + 0.114*r;
mon pb ce trouve peu etre au niveau de l'affectation du niveau de gris ... il faut pi etre mettre cette valeure sur les 3 composante RGB ?
merci !!!