Bonjour tout le monde,
j'ai ecrit des fonctions sur la manipulation d'image (.pgm)que je dois tester et je ne sais pas comment faire.
1-Je doit charger une photo et l'afficher,
2-en faire une copie
3-sauvegarder la copie dans un fichier texte.
Structure image_t:
fonction de creation de l'image et de copie de l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 typedef struct { unsigned long nx; unsigned long ny; unsigned long nb_ng; unsigned char *buff; } image_t;
fonction pour sauvegarder l'image dans un fichier texte.
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 image_t *creer_image(){ image_t * img1; img1 = (image_t*)malloc(sizeof(image_t)); img1->nx=0; img1->ny=0; img1->nb_ng=0; img1->buff=NULL; return img1; } image_t *copier_image(image_t *src){ image_t *dest; dest=creer_image(); dest->nx=src->nx; dest->ny=src->ny; dest->nb_ng=src->nb_ng; dest->buff=(unsigned char*)malloc(src->nx*src->ny*sizeof(unsigned char)); memcpy(dest->buff,src->buff,src->nx*src->ny*sizeof(unsigned char)); return dest; }
Donc mon probleme est que je ne sais pas ce que je dois mettre dans la fonction main pour tester toute ces fonctions.
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 int sauver_image_pgm(char *nom_fichier, image_t *img){ FILE *fic; fic=fopen(nom_fichier,"w"); if(fic==NULL){ fprintf(stderr,"impossible d'ouvrir le fichier"); return 0; } fprintf(fic,"P5\n"); fprintf(fic,"%d %d\n",img->nx,img->ny); fprintf(fic,"%d\n",img->nb_ng); fwrite(img->buff,img->nx,img->ny*sizeof(unsigned char),fic); fclose(fic); return 1; }
Merci
Partager