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.
Merci d'avance
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 < 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