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
|
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int retval;
FILE *fraw, *frawmask, *frawint;
unsigned char mrgb[3];
int totsize, x, y;
retval = 0;
if (argc < 4) {
fprintf(stderr, "%s (C) 2004 by oliver\n", argv[0]);
fprintf(stderr, "Usage: %s x-res y-res in.raw mask.raw out.int\n",
argv[0]);
} else {
x = atoi(argv[1]);
y = atoi(argv[2]);
if (NULL == (fraw = fopen(argv[3], "rb"))) {
perror("fopen(IMAGE_FILE)");
retval = 1;
} else if (NULL == (frawmask = fopen(argv[4], "rb"))) {
perror("fopen(MASK_FILE)");
retval = 1;
} else if (NULL == (frawint = fopen(argv[5], "wb"))) {
perror("fopen(OUT_FILE)");
retval = 1;
} else {
for (totsize = 0; totsize < (x*y); totsize++) {
fread(&mrgb, 1, 1, frawmask);
fwrite(&mrgb, 1, 1, frawint);
fread(&mrgb, 1, 3, fraw);
fwrite(&mrgb, 1, 3, frawint);
}
fprintf(stdout, "Done interleaving\n");
fclose(fraw);
fclose(frawmask);
fclose(frawint);
}
}
return retval;
}
|