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
|
R_Img getPixelIMG(QString const & IMG_File_Name)
{
FILE* OpenBitMap = fopen(IMG_File_Name.toLocal8Bit() , "r+" ) ;
BMPHeader headerIMG;
R_Img return_IMG;
int i = 0;
if(OpenBitMap)
{
fseek(OpenBitMap , 14 , SEEK_SET);
fread(&headerIMG , sizeof(BMPHeader) , 1 , OpenBitMap);
return_IMG.height = headerIMG.height;
return_IMG.width = headerIMG.width;
fseek(OpenBitMap , 54 , SEEK_SET);
pixel pel;
FILE *matrice;
matrice = fopen("matrice.txt" , "w");
if (matrice)
{
for(unsigned int y = 0 ; y < return_IMG.height ; y++)
{
for(unsigned int x = 0 ; x < return_IMG.width*3 ; x++)
{
//pel = getc(OpenBitMap);
if(!feof(OpenBitMap))
{
pel = getc(OpenBitMap);
printf("%d " , pel);
i++;//nombre de pixel
return_IMG.image[x][y] = pel;
fprintf(matrice , "%d " , return_IMG.image[x][y]);
}
}
fprintf(matrice , "\n");
printf("\n");
}
}else
{
printf("erreur en ecriture de la matrice!!!!");
}
fclose(matrice);
}
printf(" \n\n\n%d" , i);
fclose(OpenBitMap);
return return_IMG;
} |
Partager