gray_opening_rect ( Image : ImageOpening : MaskHeight, MaskWidth : )

Perform a gray value opening with a rectangular mask.

gray_opening_rect applies a gray value opening to the input image Image with a rectangular mask of size (MaskHeight, MaskWidth). The resulting image is returned in ImageOpening. If the parameters MaskHeight or MaskWidth are even, they are changed to the next larger odd value. At the border of the image the gray values are mirrored.

The gray value opening of an image i with a rectangular structuring element s is defined as

  i -+ s = (i - s) + s ,
i.e., an erosion of the image with s followed by a dilation with s (see gray_erosion_rect and gray_dilation_rect).


Parameters

Image (input_object)
image(-array) -> object : byte / direction / cyclic / int2 / int4 / real
Input image.

ImageOpening (output_object)
image(-array) -> object : byte / direction / cyclic / int2 / int4 / real
Gray-opened image.

MaskHeight (input_control)
extent.y -> integer
Height of the filter mask.
Default value: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Typical range of values: 3 <= MaskHeight <= 511
Minimum increment: 2
Recommended increment: 2
Restriction: odd(MaskHeight)

MaskWidth (input_control)
extent.x -> integer
Width of the filter mask.
Default value: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Typical range of values: 3 <= MaskWidth <= 511
Minimum increment: 2
Recommended increment: 2
Restriction: odd(MaskWidth)


Result

gray_opening_rect returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via set_system('no_object_result',<Result>). If necessary, an exception is raised.


Parallelization Information

gray_opening_rect is reentrant and automatically parallelized (on tuple level, channel level, domain level).


Alternatives

gray_opening, gray_opening_shape


See also

opening_rectangle1, gray_dilation_rect, gray_erosion_rect


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH