C言語でクロマキー合成をする方法
input.bmpとbackground.bmpとoutput.bmpを作りで好きな絵を用意して、input.bmpというビットマップファイル(色数は24ビット)とbackground.bmpというファイルを開き,クロマキー合成をし,ビットマップファイルoutput.bmpに出力させる。
上記の物をC言語でするにはどうすればいいのでしょうか?
下記のものは自分でやったのですがやり方が分かりません。どなたか知恵を貸してください。
(ほとんど間違っていると思いますが・・・)
#include<stdio.h>
int main()
{
FILE *fp;
int i;
char data[2];
short s;
fp1=fopen("input.bmp","rb");
fp2=fopen("background.bmp","rb");
fp3=fopen("output.bmp","wb")
int k;
for(k=0;k<10000;k++){
fputc(0,fp);
fputc(0,fp);
fputc(0,fp);
}
fclose(fp);
fread(&data[0],1,2,fp1);
fread(&data[0],1,2,fp2);
fwrite(&data[0],1,2,fp3);
int fs;
fread(&fs,f1);
fread(&fs,f2);
fwrite(&fs,f3);
fp=fopen("aka.bmp","wb");
fread(moji,1,2,fp);
i=30054;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
i=54;
fread(&i,4,1,fp);
i=40;
fread(&i,4,1,fp);
i=100;
fread(&i,4,1,fp);
i=100;
fread(&i,4,1,fp);
s=1;
fread(&s,2,1,fp);
s=24;
fread(&s,2,1,fp);
i=0;
fread(&i,4,1,fp);
i=30000;
fread(&i,4,1,fp);
i=120;
fread(&i,4,1,fp);
i=120;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
for(k=0;k<10000;k++){
fputc(0,fp);
fputc(0,fp);
fputc(70,fp);
}
fclose(fp);
fp=fopen("midori.bmp","wb");
fread(moji,1,2,fp);
i=30054;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
i=54;
fread(&i,4,1,fp);
i=40;
fread(&i,4,1,fp);
i=100;
fread(&i,4,1,fp);
i=100;
fread(&i,4,1,fp);
s=1;
fread(&s,2,1,fp);
s=24;
fread(&s,2,1,fp);
i=0;
fread(&i,4,1,fp);
i=30000;
fread(&i,4,1,fp);
i=120;
fread(&i,4,1,fp);
i=120;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
for(k=0;k<10000;k++){
fputc(0,fp);
fputc(150,fp);
fputc(0,fp);
}
fclose(fp);
fp=fopen("ao.bmp","wb");
fread(moji,1,2,fp);
i=30054;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
i=54;
fread(&i,4,1,fp);
i=40;
fread(&i,4,1,fp);
i=100;
fread(&i,4,1,fp);
i=100;
fread(&i,4,1,fp);
s=1;
fread(&s,2,1,fp);
s=24;
fread(&s,2,1,fp);
i=0;
fread(&i,4,1,fp);
i=30000;
fread(&i,4,1,fp);
i=120;
fread(&i,4,1,fp);
i=120;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
i=0;
fread(&i,4,1,fp);
for(k=0;k<10000;k++){
fputc(255,fp);
fputc(0,fp);
fputc(0,fp);
}
fclose(fp);
return(0);
}
補足
バイナリエディタで**.DATを開いて 00 00 A5 18 0F 19 D7 29 DB 42 AE 14 54 1D DE 29 2A 35 CD 45 D3 5A 2B 15 D1 29 97 42 DF 46 9C 73 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 1F 7C 00 00 A5 18 C8 08 4B 15 1F 7C 1F 7C 1F 7C 1F 7C このような感じの数値をコピーしたら どこに貼り付ければいいのでしょうか? それともヘッダとはまた別のものでしょうか?