/* * This thing is just a mess ! */ #include #include #include #include "../floatimg.h" int verbosity; int g_width, g_height; /* --------------------------------------------------------------------- */ int testfile(char *path) { int foo, numbers[3]; foo = fimg_fileinfos(path, numbers); if (foo) { #if DEBUG_LEVEL fprintf(stderr, "%s -> err %d\n", path, foo); #endif return foo; } fprintf(stderr, "%s \t%d x %d\n",path, numbers[0], numbers[1]); if (FIMG_TYPE_RGB != numbers[2]) { fprintf(stderr, "file %s, %d : bad type\n", path, numbers[2]); return -7; } return 0; } /* --------------------------------------------------------------------- */ void help(int v) { puts("cumulator options :"); puts("\t-v\tincrease verbosity"); puts("\t-o\tname of output file"); if (verbosity) { puts(""); fimg_print_version(1); } exit(0); } /* --------------------------------------------------------------------- */ int main(int argc, char *argv[]) { int foo, idx; int opt; char *output_file = "out.fimg"; FloatImg accu, temp; int src_loaded = 0; g_width = g_height = 0; while ((opt = getopt(argc, argv, "ho:v")) != -1) { switch(opt) { case 'h': help(0); break; case 'o': output_file = optarg; break; case 'v': verbosity++; break; } } if (verbosity) fprintf(stderr, "------ cumulfimgs ------\n"); #if DEBUG_LEVEL fprintf(stderr, "argc = %d, optind = %d\n", argc, optind); #endif // foo = testfile(output_file); // fprintf(stderr, "Output %s -> %d\n", output_file, foo); for (idx=optind; idx %d\n", argv[idx],foo); if ( ! src_loaded ) { foo = fimg_create_from_dump(argv[idx], &accu); fimg_clone(&accu, &temp, 0); src_loaded = 1; } else { foo = fimg_load_from_dump(argv[idx], &temp); fimg_add_2(&temp, &accu); } } foo = fimg_dump_to_file(&accu, output_file, 0); return 0; } /* --------------------------------------------------------------------- */