Horus Doc || Global Function Guide || General documentation   | Function documentation  

HxSub

Synopsis

HxImageRep HxSub(HxImageRep im1, HxImageRep im2)

Input

HxImageRep im1
The first input image

HxImageRep im2
The second input image

Return value

HxImageRep
The substraction of the input images

Description

The function HxSub substracts two images on a pixel-by-pixel basis. Vector pixel types of the same dimension are substracted component wise, while pixel types of different dimensions cannot be summed.

Remarks

Admissable image types
The two input images should have the same dimensionality, the same pixeldimensionality and the same size.

Warning for possible overflow
Substraction can result in an overflow error.

Examples

Substracting two images

#include "HxImageRepGlobalFuncs.h"
#include "HxImageRep.h"

HxImageRep HxSubExample1(HxImageRep im1, HxImageRep im2) {
   im1 = HxImageAsDouble(im1);
   im2 = HxImageAsDouble(im2);
   im1 = HxSub(im1, im2);
   im1 = HxContrastStretch(im1, 255);
   im1 = HxImageAsByte(im1);

   return im1;
}

int main(int argc, char* argv[])
{
    HxImageRep im1 = HxMakeFromFile(argv[1]);
    HxImageRep im2 = HxMakeFromFile(argv[2]);
    im1 = HxSubExample1(im1, im2);
    HxWriteFile(im1, argv[3]);

    return 0;
}

exampleImage1.gif

First input image for the HxSub example.

exampleImage2.gif

Second input image for the HxSub example.

HxSubResult1.gif

Output image of the HxSub example.

In this example we substract two (scalar) images. First we convert the image to double images to prevent overflow as much as possible. After substracting the images, we stretch the result and convert it to byte for visualization purposes.

See also

HxAdd, HxMul, HxDiv,

Keywords

Binary, Arithmetic,


Generated on Mon Jan 27 15:45:02 2003 for GlobalFunctionGuide by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001