Bonjour,

Je travaille dans le cadre d'un projet de traitement d'image sur la récupération des données (valeurs de teintes des pixels) d'un fichier pgm/ppm :

Voici le code de la fonction :
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
 
int* lecture_fichier_entete_monochrome(char nomfichier[], int* dim)
{
    FILE* fichier;
    fichier = fopen(nomfichier,"r"); // Ouverture du fichier en lecture grāce ą "r"
    int i;
    int* tab_lecture;
 
    int largeur;
    int hauteur;
    int dim_teinte;
 
    if (fichier != NULL)    // Si le fichier n'est pas vide
    {
        fscanf(fichier,"P2");  // Lecture de la premiere ligne ("P2")
        if
        fscanf(fichier,"%d %d",&largeur,&hauteur);  // Lecture et récupération de la largeur et de la hauteur
        fscanf(fichier,"%d",&dim_teinte);
 
        *dim = largeur*hauteur;
 
        tab_lecture = malloc(*dim*sizeof(int));     // On donne au tableau la dimension de la hauteur*largeur
 
        for(i=0 ; i<*dim ; i++) // Connaissant la dimension, on recupere maintenant les valeurs de l'image
        {
            fscanf(fichier,"%d",&tab_lecture[i]);	// Lecture = Copiage
        }
        fclose(fichier);		// Fermeture du fichier
    }
 
    return tab_lecture;
}
Or cette dernière ne prend pas en compte si il y a des commentaires # dans le fichier.

Je ne sais pas comment "prévoir" qu'ils peuvent être dans le fichier.

Avez-vous des solutions pour résoudre mon problème ?

Merci d'avance pour vos réponses.