im_dilate(3) perform morphological operations on a white object against a black background

Other Alias

im_dilate_raw, im_erode, im_erode_raw

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.

COPYRIGHT

1991-1995, Birkbeck College and the National Gallery