Bonjour j'ai besoin d'aide pour mon programme. En faite l'objectif c'est de convertir une image en pgm mais ça ne marche pas trop :-/
Voilà mon programme. J'ai vraiment besoin d'aides. Merci

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
unsigned char *lire_image_ppm(int longueur, int largeur)
{
	unsigned char *image_niveau_de_gris_ppm= NULL;
 
	char buffer[255];
 
	int gris_max;
 
	int x,y,r,g,b,niveau_de_gris_du_pixel;
 
	FILE *fichierppm;
 
	fichierppm = fopen("logoppm.ppm","r");
 
	if (fichierppm == NULL) {
		perror("Le fichier n'est pas lisible");
		exit(1);
	}
 
	fscanf(fichierppm, "%s", buffer);
	fscanf(fichierppm, "%d %d", &longueur, &largeur);
	fscanf(fichierppm, "%d", &gris_max);
 
	image_niveau_de_gris_ppm=(unsigned char *)malloc(sizeof(unsigned char)*longueur*largeur);
 
    if(strcmp(buffer,"P3") ==0) {
	for (y=0;y<largeur;y++) {
		for (x=0;x<longueur;x+=3) {
 
            fscanf(fichierppm,"%d",&niveau_de_gris_du_pixel);
                fscanf(fichierppm,"%d %d %d",&r,&g,&b);
                niveau_de_gris_du_pixel=0.299*r+0.587*g+0.114*b;
            }
            fprintf(fichierppm,"%d",niveau_de_gris_du_pixel);
            image_niveau_de_gris_ppm[y*longueur+x]=niveau_de_gris_du_pixel;
        }
    }
	fclose(fichierppm);
    return image_niveau_de_gris_ppm;
}