gray_opening_rectgray_opening_rectGrayOpeningRectGrayOpeningRect (Operator)


gray_opening_rectgray_opening_rectGrayOpeningRectGrayOpeningRect — Perform a gray value opening with a rectangular mask.


gray_opening_rect(Image : ImageOpening : MaskHeight, MaskWidth : )

Herror gray_opening_rect(const Hobject Image, Hobject* ImageOpening, const Hlong MaskHeight, const Hlong MaskWidth)

Herror T_gray_opening_rect(const Hobject Image, Hobject* ImageOpening, const Htuple MaskHeight, const Htuple MaskWidth)

void GrayOpeningRect(const HObject& Image, HObject* ImageOpening, const HTuple& MaskHeight, const HTuple& MaskWidth)

HImage HImage::GrayOpeningRect(Hlong MaskHeight, Hlong MaskWidth) const

static void HOperatorSet.GrayOpeningRect(HObject image, out HObject imageOpening, HTuple maskHeight, HTuple maskWidth)

HImage HImage.GrayOpeningRect(int maskHeight, int maskWidth)


gray_opening_rectgray_opening_rectGrayOpeningRectGrayOpeningRectGrayOpeningRect applies a gray value opening to the input image ImageImageImageImageimage with a rectangular mask of size (MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight, MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth). The resulting image is returned in ImageOpeningImageOpeningImageOpeningImageOpeningimageOpening. If the parameters MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight or MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth 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.e., an erosion of the image with s followed by a dilation with s (see gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRect and gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRect).


Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Execution Information


ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / direction / cyclic / uint2 / int2 / int4 / real)

Input image.

ImageOpeningImageOpeningImageOpeningImageOpeningimageOpening (output_object)  (multichannel-)image(-array) objectHImageHImageHobject * (byte / direction / cyclic / uint2 / int2 / int4 / real)

Gray-opened image.

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight (input_control)  extent.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of the filter mask.

Default value: 11

Suggested values: 3, 5, 7, 9, 11, 13, 15

Typical range of values: 3 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight ≤ 511

Minimum increment: 2

Recommended increment: 2

Restriction: odd(MaskHeight)

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth (input_control)  extent.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of the filter mask.

Default value: 11

Suggested values: 3, 5, 7, 9, 11, 13, 15

Typical range of values: 3 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth ≤ 511

Minimum increment: 2

Recommended increment: 2

Restriction: odd(MaskWidth)


gray_opening_rectgray_opening_rectGrayOpeningRectGrayOpeningRectGrayOpeningRect 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.


gray_openinggray_openingGrayOpeningGrayOpeningGrayOpening, gray_opening_shapegray_opening_shapeGrayOpeningShapeGrayOpeningShapeGrayOpeningShape

See also

opening_rectangle1opening_rectangle1OpeningRectangle1OpeningRectangle1OpeningRectangle1, gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRect, gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRect