Bonsoir,
Mon sujet consiste à afficher les intensité d'une image.bmp dans une matrice.
En faite ce n'est pas mon sujet, c'est le sujet d'un amie.
Bref, il a fait ce code, mais le résultat est fausse.
Est ce que il est possible de corriger ce code ou y a il autrement.
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
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 &lt; 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;
Merci d'avance