Bonjour à tous,
j'ai dans ma forme un Timage contenant une image bmp et je voudrai effectuer plusieurs traitements (Zoom,Transformation en niveau de gris...etc)
Pour cette image en niveau de gris,voici comment je procéde:


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
 
int r,g,b,gris;
for (i=0;i<Image1->Picture->Width;i++)
{
for (j=0;j<Image1->Picture->Height;j++)
{
r=GetRValue(Image1->Canvas->Pixels[i][j]);
g=GetGValue(Image1->Canvas->Pixels[i][j]);
b=GetBValue(Image1->Canvas->Pixels[i][j]);
 
gris=(g+g+b)/3;
 
Image1->Canvas->Pixels[i][j]=RGB(gris,gris,gris);
 
}
}
Ca fonctionne trés bien mais le probléme c'est que ça demande un temps de reponse assez important (Environ 4 secondes pour une image 250X250)

Quelqu'un aurait une idée pour accélerer le traitement?




Je tiens à préciser que j 'ai déja poster ce problème dans la rubrique Algorithmique->Traitement d'image (Voir topic )et j'ai été orienté ici