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
|
#include <stdio.h>
#define PHOTO "./images/image22.bmp" // image BMP 24 bits a traiter
#define PHOTO_DEST "./images/image22test.bmp") //image BMP 24 bits seuillé
typedef struct Pixel
{
unsigned char r,g,b;
} Pixel;
void main()
{
FILE *fp,*fp2;
int a;
int i,j;
//ouverture des fichiers bmp
fp=fopen("./images/image22.bmp","rb");
fp2=fopen("./images/image22test.bmp","w+b");
// recopie de l'entete
for(i=0;i<255;i++)
{
for(j=0;j<255;j++)
{
fputc(fgetc(fp),fp2);
Pixel p;
p.r = i;
p.g = 0;
p.b = j;
}
}
i=0;
//traitement seuillage
while((a=fgetc(fp))!=EOF)
{
//i symbolise la couleur a traiter : 0=bleue, 1=vert, 2=rouge
//a est la valeur de la couleur a traiter :
//0x00 est absent de l'image
//0xff est omnipresent
if((a>=0x00)&&(i==2)&&(a<=0xff))
{
fputc(a,fp2);
}
else
{
fputc(0x00,fp2);
}
i++;
if(i==3)
{
i=0;
}
}
fcloseall();
} |
Partager