/*------------------------------------------------------*/ /* Prog : ProgDemo4.c */ /* Auteur : */ /* Date : */ /* version : */ /* langage : C */ /* labo : DIRO */ /*------------------------------------------------------*/ /*------------------------------------------------*/ /* FICHIERS INCLUS -------------------------------*/ /*------------------------------------------------*/ #include #include #include #include #include "FonctionDemo.h" /*------------------------------------------------*/ /* DEFINITIONS -----------------------------------*/ /*------------------------------------------------*/ #define NAME_IMG_IN "lenna" #define NAME_IMG_OUT1 "ImgOut" #define NAME_IMG_OUT2 "Hist" #define WIDTH 128 #define LENGTH 128 /*------------------------------------------------*/ /* PROGRAMME PRINCIPAL -------------------------*/ /*------------------------------------------------*/ main() { int i,j,k; float** Mat1; float** Mat2; float** Mat3; float* VectHist; /*Allocation memoire pour la matrice image*/ Mat1=fmatrix_allocate_2d(LENGTH,WIDTH); Mat2=fmatrix_allocate_2d(LENGTH,WIDTH); Mat3=fmatrix_allocate_2d(LENGTH,WIDTH); VectHist=fmatrix_allocate_1d(256); /*Initialisation a zero de toutes les matrices */ for(i=0;i */ /* mat : matrice contenant l'image */ /* lgth,wdth : Longueur & Largeur de la matrice */ /* hist : vecteur de 256 floats ou sera mis l'histogramme */ /* ----------------------------------------------------------- */ /* Sortie -> */ /* hist : histogramme de l'image contenu dans la matrice mat */ /****************************************************************************/ /****************************************************************************/ /* Sauve l'histogramme hist dans une image de nom .pgm */ /* SaveHistoPgm(char* name,float* hist) */ /* -------------------------------------------------------- */ /* Entree -> */ /* name : nom de l'histogramme de l'image */ /* hist : histogramme de l'image */ /****************************************************************************/ /*-------- FIN ---------------------------------------------*/ /*----------------------------------------------------------*/ /*Sauvegarde des matrices sous forme d'image pgm*/ SaveImagePgm(NAME_IMG_OUT1,Mat1,LENGTH,WIDTH); SaveHistoPgm(NAME_IMG_OUT2,VectHist); /*Liberation memoire pour les matrices*/ free_fmatrix_2d(Mat1); free_fmatrix_2d(Mat2); free_fmatrix_2d(Mat3); free_fmatrix_1d(VectHist); /*Commande systeme: visualisation de Ingout.pgm*/ system("xview -z 200 ImgOut.pgm&"); system("xview Hist.pgm&"); /*retour sans probleme*/ printf("\n C'est fini ... \n\n\n"); return 0; }