[C] Recuperation des donnes d un fichier pgm

Résolu
niark -  
 hulk -
Salut

J ai un probleme assez facile a resoudre a mon avis mais pour le moment je bloque 1 peu...

en fait faut que je recupere les valeurs des pixels d un fichier pgm en C pour pouvoir apres faire un traitement dessus ( ici c est un filtre de sobel)

Je recupere bien l en tete et les differents valeurs pour la resolution de l image ainsi que la valeur max d un pixel mais bizarrememt je n arrive pas avec les valeurs des pixels

fgets (info, 10, fpr);
if (strncmp (info, "P2", 2) != 0)
{
printf ("Mauvais format de fichier\n");
fclose (fpr);
fclose (fpw);
}

fgets (info, 70, fpr);

if ((strncmp (info, "#", 1)) == 0)
{
fgets (info, 10, fpr);
}

sscanf (info, "%d %d", &largeur, &hauteur);

Ca fonctionne bien pour les en tetes mais par contre ca ne fonctionne pas pour les valeurs des pixels. Ca vient probablement du fait que je prends trop de caracteres avec le fgets donc je ne sais pas trop combien d entier je recupere

j ai essaye d utiliser fgetc mais j aimerai bien stocker la valeur du pixel dans un tableau pour faire le traitement avant de l ecrire dans le fichier... et vu que la valeur renvoye par fgetc ne correspond pas a la valeur du pixel je ne sais pas trop comment faire pour continuer

je me complique probablement mais je suis bloque pour le moment lol merci :)

3 réponses

  1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Pour cela, il faut d'abord connaitre la structure exacte du fichier pgm, c'est à dire de quelle facon il a été créé. Si tu cannais ca, tu saura alors implémenter un méthode pour lire un à un les pixels... moi je ne connais pas sa structure alors je peux pas plus t'aider, dsl
    ++
    0
  2. niark
     
    la structure que j'ai est la suivante :

    P2
    largeur hauteur
    valeur_max_pixel
    pixel1 pixel2 pixel3 ...
    0
  3. niark
     
    merci en fait c bon j ai utilise fscanf qui est bien pratique pour ca :D
    0
    1. hulk
       
      salut

      j'ai le meme programme a realiser pour mes cours. j'aimerai savoir s'il y avait moyen que tu m'envoies le fichier . c de ton programme. en effet j'ai deja la structure mais il me manque juste l'algorithme de sobel a codé...
      merci bcp
      ++
      0