creation et manipulation d'images
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:
Code:
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 de creation de l'image et de copie de l'image.
Code:
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;
} |
fonction pour sauvegarder l'image dans un fichier texte.
Code:
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;
} |
Donc mon probleme est que je ne sais pas ce que je dois mettre dans la fonction main pour tester toute ces fonctions.
Merci