bonjour,
je veux lire un fichier texte (son contenu représente les valeurs des pixels d'une image).
contenu du fichier: 207 202 202 207 209 208 211 217 207 207 211 214 210 204 208 217 ......
chaque nombre représente la valeur d'une pixel.
je veux transférer chaque valeur (par exemple 207) du fichier dans un vecteur nomme inBuf de taille longueur*largeur de l'image.
puis l'affiché pour vérifier :printf("pixel[%d]=%d ",i,inBuf[i]);
mais malheureusement au lieu de trouver par exemple dans inBuf[0]=207 et inBuf[1]=202.. etc j'ai trouvé inBuf[0]=50 et inBuf[1]=48.
d'où viennent ces valeurs!!!!!!
ou est l'erreur?
Merci de vous-aidez.
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 #include<stdio.h> #include <stdlib.h> int main() { short int dim1=280,dim2=320; int size=dim1*dim2,i,j; unsigned char *inBuf=0; inBuf=new unsigned char [size]; unsigned char temp; FILE * fichier_in; fichier_in=fopen ( "imgeavant2.txt" , "r" ); for(i=0;i<dim1;i++) { for(j=0;j<dim2;j++) { fread(&temp,sizeof(unsigned char),1,fichier_in); //printf("temp=%d",&temp); inBuf[i*dim2+j]=(unsigned char)temp; } //printf("\r\n"); } for(i=0;i<size;i++) { printf("pixel[%d]=%d ",i,inBuf[i]); } delete [] inBuf; fclose (fichier_in); //free(pixel); return 0;
Partager