HALCON Reference Manual 10.0.2
Table of Contents / Morphology / Gray Values ClassesClassesClasses | | | Operators

gray_closing_shapegray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShape (Operator)

Name

gray_closing_shapegray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShape — Perform a grayvalue closing with a selected mask.

Signature

gray_closing_shape(Image : ImageClosing : MaskHeight, MaskWidth, MaskShape : )

Herror gray_closing_shape(const Hobject Image, Hobject* ImageClosing, double MaskHeight, double MaskWidth, const char* MaskShape)

Herror T_gray_closing_shape(const Hobject Image, Hobject* ImageClosing, const Htuple MaskHeight, const Htuple MaskWidth, const Htuple MaskShape)

Herror gray_closing_shape(Hobject Image, Hobject* ImageClosing, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape)

HImage HImage::GrayClosingShape(const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape) const

HImageArray HImageArray::GrayClosingShape(const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape) const

void HOperatorSetX.GrayClosingShape(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageClosing, [in] VARIANT MaskHeight, [in] VARIANT MaskWidth, [in] VARIANT MaskShape)

IHImageX* HImageX.GrayClosingShape(
[in] VARIANT MaskHeight, [in] VARIANT MaskWidth, [in] BSTR MaskShape)

static void HOperatorSet.GrayClosingShape(HObject image, out HObject imageClosing, HTuple maskHeight, HTuple maskWidth, HTuple maskShape)

HImage HImage.GrayClosingShape(HTuple maskHeight, HTuple maskWidth, string maskShape)

HImage HImage.GrayClosingShape(double maskHeight, double maskWidth, string maskShape)

Description

gray_closing_shapegray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShape applies a gray value closing to the input image ImageImageImageImageimage with the structuring element of shape MaskShapeMaskShapeMaskShapeMaskShapemaskShape. The mask's offset values are 0 and its horizontal and vertical size is defined by MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight and MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth. The resulting image is returned in ImageClosingImageClosingImageClosingImageClosingimageClosing.

If the parameters MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight or MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth 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 ImageImageImageImageimage is transformed with both the next larger and the next smaller odd mask size, and the output image ImageClosingImageClosingImageClosingImageClosingimageClosing is interpolated from the two intermediate images. Therefore, note that gray_closing_shapegray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShape returns different results for mask sizes of, e.g., 4 and 4.0!

In case of the values 'rhombus' and 'octagon' for the MaskShapeMaskShapeMaskShapeMaskShapemaskShape control parameter, MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight and MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth must be equal. The parameter value 'octagon' for MaskShapeMaskShapeMaskShapeMaskShapemaskShape 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 closing of an image i with a structuring element s is defined as

  i +- s = (i + s) - s ,

i.e., a dilation of the image with s followed by an erosion with s (see gray_dilation_shapegray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShape and gray_erosion_shapegray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShape).

Attention

Note that gray_closing_shapegray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShape 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!

gray_closing_shapegray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShape can be executed on OpenCL devices. In case of mask sizes of type float the result can vary slightly from the CPU as the interpolation is calculated in single precision on the OpenCL device.

Parallelization

Parameters

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageXHobject (byte* / uint2*) *allowed for compute devices

Image for which the minimum gray values are to be calculated.

ImageClosingImageClosingImageClosingImageClosingimageClosing (output_object)  (multichannel-)image(-array) objectHImageHImageHImageXHobject * (byte / uint2)

Image containing the minimum gray values.

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight (input_control)  extent.y HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Height of the filter mask.

Default value: 11

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

Typical range of values: 1.0 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight ≤ 511.0

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth (input_control)  extent.x HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Width of the filter mask.

Default value: 11

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

Typical range of values: 1.0 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth ≤ 511.0

MaskShapeMaskShapeMaskShapeMaskShapemaskShape (input_control)  string HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Shape of the mask.

Default value: 'octagon' "octagon" "octagon" "octagon" "octagon"

List of values: 'rectangle'"rectangle""rectangle""rectangle""rectangle", 'rhombus'"rhombus""rhombus""rhombus""rhombus", 'octagon'"octagon""octagon""octagon""octagon"

Result

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

Alternatives

gray_closinggray_closinggray_closingGrayClosingGrayClosing

See also

gray_dilation_shapegray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShape, gray_erosion_shapegray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShape, closingclosingclosingClosingClosing

Module

Foundation


Table of Contents / Morphology / Gray Values ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH