Man Linux: Main Page and Category List

NAME

       im_dilate,    im_dilate_raw,    im_erode,    im_erode_raw   -   perform
       morphological operations on a white object against a black background

SYNOPSIS

       #include <vips/vips.h>

       int im_dilate(in, out, m)
       IMAGE *in, *out;
       INTMASK *m;

       int im_erode(in, out, m)
       IMAGE *in, *out;
       INTMASK *m;

       int im_dilate_raw(in, out, m)
       IMAGE *in, *out;
       INTMASK *m;

       int im_erode_raw(in, out, m)
       IMAGE *in, *out;
       INTMASK *m;

DESCRIPTION

       The above functions are applications of morphological operations on one
       channel  binary images ie. images with pixels that are either 0 (black)
       or 255 (white).  All functions assume that input images  contain  white
       objects against a black background.

       Mask  coefficients can be either 0 (for object) or 255 (for background)
       or 128 (for do not care).

       The mask should have odd length sides and the origin of the mask is  at
       location (m->xsize/2,m->ysize/2) integer division.  All algorithms have
       been based on the book "Fundamentals of Digital Image Processing" by A.
       Jain,  pp 384-388, Prentice-Hall, 1989.  Essentially, im_dilate(3) sets
       pixels in the output  if  *any*  part  of  the  mask  matches,  whereas
       im_erode(3) sets pixels only if *all* of the mask matches.

       im_dilate(3)  dilates  the  image  pointed by in, according to the mask
       pointed by m and writes the result in the location pointed by the IMAGE
       descriptor  out. The output image is the same size as the input, in the
       manner of im_conv(3).

       im_dilate_raw(3) works as im_dilate(3), but does not expand the  input.

       im_erode(3)  erodes  the  image  pointed  by  in, according to the mask
       pointed by m and writes the result in the location pointed by the IMAGE
       descriptor out. Again, the output image is forced to have the same size
       as the input.

       im_erode_raw(3) works as im_erode(3), but does not expand the input.

       See  the   boolean   operations   im_andimage(3),   im_orimage(3)   and
       im_eorimage(3)  for analogues of the usual set difference and set union
       operations.

RETURN VALUE

       All functions returns 0 on success and -1 on error.

SEE ALSO

       im_read_imask(3), im_conv(3), im_andimage(3), im_rotate_imask(3).

COPYRIGHT

       1991-1995, Birkbeck College and the National Gallery

                                  14 May 1991