Changeset 2708


Ignore:
Timestamp:
08/13/08 22:26:11 (5 years ago)
Author:
sam
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.