Changeset 2708


Ignore:
Timestamp:
Aug 13, 2008, 10:26:11 PM (14 years ago)
Author:
Sam Hocevar
Message:
  • subadd.c: add pipi_sub() and pipi_add() as another way to combine two images.
Location:
libpipi/trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • libpipi/trunk/pipi/Makefile.am

    r2706 r2708  
    4242combine_sources = \
    4343        combine/mean.c \
    44         combine/minmax.c
     44        combine/minmax.c \
     45        combine/subadd.c
    4546
    4647filter_sources = \
  • libpipi/trunk/pipi/context.c

    r2706 r2708  
    147147        ctx->nimages--;
    148148    }
     149    else if(!strcmp(cmd, "sub"))
     150    {
     151        pipi_image_t *dst;
     152
     153        if(ctx->nimages < 2)
     154            return -1;
     155        dst = pipi_sub(ctx->images[ctx->nimages - 2],
     156                       ctx->images[ctx->nimages - 1]);
     157        if(dst == NULL)
     158            return -1;
     159        pipi_free(ctx->images[ctx->nimages - 2]);
     160        pipi_free(ctx->images[ctx->nimages - 1]);
     161        ctx->images[ctx->nimages - 2] = dst;
     162        ctx->nimages--;
     163    }
     164    else if(!strcmp(cmd, "add"))
     165    {
     166        pipi_image_t *dst;
     167
     168        if(ctx->nimages < 2)
     169            return -1;
     170        dst = pipi_add(ctx->images[ctx->nimages - 2],
     171                       ctx->images[ctx->nimages - 1]);
     172        if(dst == NULL)
     173            return -1;
     174        pipi_free(ctx->images[ctx->nimages - 2]);
     175        pipi_free(ctx->images[ctx->nimages - 1]);
     176        ctx->images[ctx->nimages - 2] = dst;
     177        ctx->nimages--;
     178    }
    149179    else if(!strcmp(cmd, "min"))
    150180    {
  • libpipi/trunk/pipi/pipi.h

    r2706 r2708  
    8989extern pipi_image_t *pipi_min(pipi_image_t *, pipi_image_t *);
    9090extern pipi_image_t *pipi_max(pipi_image_t *, pipi_image_t *);
     91extern pipi_image_t *pipi_sub(pipi_image_t *, pipi_image_t *);
     92extern pipi_image_t *pipi_add(pipi_image_t *, pipi_image_t *);
    9193
    9294extern pipi_image_t *pipi_convolution(pipi_image_t *, int, int, double[]);
  • libpipi/trunk/src/pipi.c

    r2706 r2708  
    6767                return EXIT_FAILURE;
    6868        }
     69        else if(!strcmp(argv[0], "--sub"))
     70        {
     71            if(pipi_command(ctx, "sub") != 0)
     72                return EXIT_FAILURE;
     73        }
     74        else if(!strcmp(argv[0], "--add"))
     75        {
     76            if(pipi_command(ctx, "add") != 0)
     77                return EXIT_FAILURE;
     78        }
    6979        else if(!strcmp(argv[0], "--output") || !strcmp(argv[0], "-o"))
    7080        {
Note: See TracChangeset for help on using the changeset viewer.