ClassesClassesClassesClasses | | | | Operators

gray_erosion_shapegray_erosion_shapeGrayErosionShapegray_erosion_shapeGrayErosionShapeGrayErosionShape (Operator)

Name

gray_erosion_shapegray_erosion_shapeGrayErosionShapegray_erosion_shapeGrayErosionShapeGrayErosionShape — Determine the minimum gray value within a selected mask.

Signature

gray_erosion_shape(Image : ImageMin : MaskHeight, MaskWidth, MaskShape : )

Herror gray_erosion_shape(const Hobject Image, Hobject* ImageMin, double MaskHeight, double MaskWidth, const char* MaskShape)

Herror T_gray_erosion_shape(const Hobject Image, Hobject* ImageMin, const Htuple MaskHeight, const Htuple MaskWidth, const Htuple MaskShape)

Herror gray_erosion_shape(Hobject Image, Hobject* ImageMin, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape)

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

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

void GrayErosionShape(const HObject& Image, HObject* ImageMin, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape)

HImage HImage::GrayErosionShape(const HTuple& MaskHeight, const HTuple& MaskWidth, const HString& MaskShape) const

HImage HImage::GrayErosionShape(double MaskHeight, double MaskWidth, const HString& MaskShape) const

HImage HImage::GrayErosionShape(double MaskHeight, double MaskWidth, const char* MaskShape) const

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

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

static void HOperatorSet.GrayErosionShape(HObject image, out HObject imageMin, HTuple maskHeight, HTuple maskWidth, HTuple maskShape)

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

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

Description

gray_erosion_shapegray_erosion_shapeGrayErosionShapegray_erosion_shapeGrayErosionShapeGrayErosionShape calculates the minimum gray value of the input image ImageImageImageImageImageimage within a mask of shape MaskShapeMaskShapeMaskShapeMaskShapeMaskShapemaskShape, vertical size MaskHeightMaskHeightMaskHeightMaskHeightMaskHeightmaskHeight and horizontal size MaskWidthMaskWidthMaskWidthMaskWidthMaskWidthmaskWidth for each image point. The resulting image is returned in ImageMinImageMinImageMinImageMinImageMinimageMin.

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

In case of the values 'rhombus' and 'octagon' for the MaskShapeMaskShapeMaskShapeMaskShapeMaskShapemaskShape control parameter, MaskHeightMaskHeightMaskHeightMaskHeightMaskHeightmaskHeight and MaskWidthMaskWidthMaskWidthMaskWidthMaskWidthmaskWidth must be equal. The parameter value 'octagon' for MaskShapeMaskShapeMaskShapeMaskShapeMaskShapemaskShape 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.

Attention

Note that gray_erosion_shapegray_erosion_shapeGrayErosionShapegray_erosion_shapeGrayErosionShapeGrayErosionShape 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 different width and height!

gray_erosion_shapegray_erosion_shapeGrayErosionShapegray_erosion_shapeGrayErosionShapeGrayErosionShape 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.

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.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte* / uint2*) *allowed for compute devices

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

ImageMinImageMinImageMinImageMinImageMinimageMin (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / uint2)

Image containing the minimum gray values.

MaskHeightMaskHeightMaskHeightMaskHeightMaskHeightmaskHeight (input_control)  extent.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (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 maskHeight

MaskWidthMaskWidthMaskWidthMaskWidthMaskWidthmaskWidth (input_control)  extent.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (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 maskWidth

MaskShapeMaskShapeMaskShapeMaskShapeMaskShapemaskShape (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Shape of the mask.

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

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

Result

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

Alternatives

gray_erosiongray_erosionGrayErosiongray_erosionGrayErosionGrayErosion, gray_erosion_rectgray_erosion_rectGrayErosionRectgray_erosion_rectGrayErosionRectGrayErosionRect

See also

gray_opening_shapegray_opening_shapeGrayOpeningShapegray_opening_shapeGrayOpeningShapeGrayOpeningShape, gray_closing_shapegray_closing_shapeGrayClosingShapegray_closing_shapeGrayClosingShapeGrayClosingShape, gray_skeletongray_skeletonGraySkeletongray_skeletonGraySkeletonGraySkeleton

Module

Foundation


ClassesClassesClassesClasses | | | | Operators