gray_opening_shape ( Image : ImageOpening : MaskHeight, MaskWidth, MaskShape : )

Perform a gray value opening with a selected mask.

gray_opening_shape applies a gray value opening to the input image Image with the structuring element of shape MaskShape. The mask's offset values are 0 and its horizontal and vertical size is defined by MaskHeight and MaskWidth. The resulting image is returned in ImageOpening.

If the parameters MaskHeight or MaskWidth are of the type integer and are even, they are changed to the next larger odd value. In contrast, if at least one of the two parameters is of the type float, the input image Image is transformed with both the next larger and the next smaller odd mask size, and the output image ImageOpening is interpolated from the two intermediate images. Therefore, note that gray_opening_shape returns different results for mask sizes of, e.g., 4 and 4.0!

In case of the values 'rhombus' and 'octagon' for the MaskShape control parameter, MaskHeight and MaskWidth must be equal. The parameter value 'octagon' for MaskShape denotes an equilateral octagonal mask which is a suitable approximation for a circular structure. At the border of the image the gray values are mirrored.

The gray value opening of an image i with a 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_shape and gray_dilation_shape).


Attention

Note that gray_opening_shape requires considerably more time for mask sizes of type float than for mask sizes of type integer. This is especially true for rectangular masks with differnt width and height!


Parameters

Image (input_object)
image(-array) -> object : byte
Image for which the minimum gray values are to be calculated.

ImageOpening (output_object)
image(-array) -> object : byte
Image containing the minimum gray values.

MaskHeight (input_control)
extent.y -> real / integer
Height of the filter mask.
Default value: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Typical range of values: 1.0 <= MaskHeight <= 511.0

MaskWidth (input_control)
extent.x -> real / integer
Width of the filter mask.
Default value: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Typical range of values: 1.0 <= MaskWidth <= 511.0

MaskShape (input_control)
string -> string
Shape of the mask.
Default value: 'octagon'
List of values: 'rectangle', 'rhombus', 'octagon'


Result

gray_opening_shape returns 2 (H_MSG_TRUE) if all parameters are correct.


Parallelization Information

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


Alternatives

gray_opening


See also

gray_dilation_shape, gray_erosion_shape, opening


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH