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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
/*lire l'image.bmp et afficher ses intensités dans une matrice
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
typedef struct
{
/* pas de sign car taille < 4, probleme d'alignement */
int taille; /* taille de l'image */
int res; /* zone réservée */
int offset; /* adresse du dbt de l'image */
int info; /* taille de la zone info */
int largeur; /* largeur de l'image */
int longueur ; /* hauteur de l'image */
short nbplan; /* nbre de plans */
short bppixel; /* mode en bits / pixel */
int comp; /* format de compression */
int tim; /* taille de l'image en octets */
int Hres; /* résolution Horizontale */
int Vres; /* résolution Verticale */
int nbco; /* nbre de couleurs utilisées */
int impco; /* nbre de couleurs importantes */
} bitmap_header;
int mat_in[92][112];
int pix,i,j;
int main()
{
FILE *bmp_file;
bitmap_header bmp_header;
char sign[3];
bmp_file=fopen ("C:\\Users\\user\\Desktop\\Processed histogram based Face Recognition\\ORL\\S1\\1.bmp","rb");
fgets( sign, sizeof sign , bmp_file);
puts(sign);
/* lecture de l'hader en une seul ligne */
fread( &bmp_header, sizeof bmp_header, 1, bmp_file );
printf("largeur= %d, hauteur= %d\n", bmp_header.largeur, bmp_header.longueur);
fclose(bmp_file);
//return 0;
for(i=0;i<bmp_header.longueur;i++)
{
for(j=0;j<bmp_header.largeur;j++)
{
fscanf(bmp_file,"%d",&pix);
mat_in[i][j]= pix;
}
}
fclose(bmp_file);
printf(" ********* Fin lecture image ********\n");
printf(" ***********Fin****************\n");
return 0; |
Partager