#include #include 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; }