first working version of "cumulfimgs"

This commit is contained in:
tth 2020-09-22 00:43:21 +02:00
parent 607a37c901
commit ac35780f47
2 changed files with 39 additions and 20 deletions

View File

@ -1,3 +1,6 @@
/*
* This thing is just a mess !
*/
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
@ -21,58 +24,51 @@ if (foo) {
return foo; return foo;
} }
fprintf(stderr, "\t\t%d x %d\n",numbers[0], numbers[1]); fprintf(stderr, "%s \t%d x %d\n",path, numbers[0], numbers[1]);
if (3 != numbers[2]) { if (FIMG_TYPE_RGB != numbers[2]) {
fprintf(stderr, "file %s, %d : bad type\n", path, numbers[2]); fprintf(stderr, "file %s, %d : bad type\n", path, numbers[2]);
return -7; return -7;
} }
return 0;
return foo;
} }
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */
void help(int v) void help(int v)
{ {
puts("options :"); puts("cumulator options :");
puts("\t-v\tincrease verbosity"); puts("\t-v\tincrease verbosity");
puts("\t-o\tname of output file"); puts("\t-o\tname of output file");
puts("\t-s\tname of source file");
if (verbosity) { puts(""); fimg_print_version(1); } if (verbosity) { puts(""); fimg_print_version(1); }
exit(0);
} }
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
int foo, idx; int foo, idx;
int opt; int opt;
char *output_file = "noname.fimg"; char *output_file = "out.fimg";
char *source_file = "noname.fimg"; FloatImg accu, temp;
int src_loaded = 0;
g_width = g_height = 0; g_width = g_height = 0;
while ((opt = getopt(argc, argv, "ho:s:v")) != -1) { while ((opt = getopt(argc, argv, "ho:v")) != -1) {
switch(opt) { switch(opt) {
case 'h': help(0); break; case 'h': help(0); break;
case 'o': output_file = optarg; break; case 'o': output_file = optarg; break;
case 's': source_file = optarg; break;
case 'v': verbosity++; break; case 'v': verbosity++; break;
} }
} }
if (verbosity) fprintf(stderr, "------ cumulfimgs ------\n");
#if DEBUG_LEVEL #if DEBUG_LEVEL
fprintf(stderr, "argc = %d, optind = %d\n", argc, optind); fprintf(stderr, "argc = %d, optind = %d\n", argc, optind);
#endif #endif
// foo = testfile(output_file);
foo = testfile(source_file); // fprintf(stderr, "Output %s -> %d\n", output_file, foo);
fprintf(stderr, "Source %s -> %d\n", source_file, foo);
foo = testfile(output_file);
fprintf(stderr, "Output %s -> %d\n", output_file, foo);
for (idx=optind; idx<argc; idx++) { for (idx=optind; idx<argc; idx++) {
@ -82,8 +78,21 @@ for (idx=optind; idx<argc; idx++) {
foo = testfile(argv[idx]); foo = testfile(argv[idx]);
fprintf(stderr, "testfile %s -> %d\n", argv[idx],foo); fprintf(stderr, "testfile %s -> %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; return 0;
} }
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */

View File

@ -30,7 +30,17 @@ function essai_cmixa
} }
# ----------------------------------------------------- # -----------------------------------------------------
function essai_cumulator
{
D=" 800 600 "
./mkfimg -v -t hdeg hdeg.fimg $D
./mkfimg -v -t vdeg vdeg.fimg $D
./mkfimg -v -t drand48 rand.fimg $D
essai_cmixa ./cumulfimgs -vv -o foo.fimg hdeg.fimg rand.fimg vdeg.fimg
}
# -----------------------------------------------------
essai_cumulator
# ----------------------------------------------------- # -----------------------------------------------------