Skip to content

gray_erosion_rectGrayErosionRectGrayErosionRectgray_erosion_rectgray_erosion_rect🔗

Short description🔗

gray_erosion_rectGrayErosionRectGrayErosionRectgray_erosion_rectgray_erosion_rect — Determine the minimum gray value within a rectangle.

Signature🔗

gray_erosion_rect( image Image, out image ImageMin, extent.y MaskHeight, extent.x MaskWidth )void GrayErosionRect( const HObject& Image, HObject* ImageMin, const HTuple& MaskHeight, const HTuple& MaskWidth )static void HOperatorSet.GrayErosionRect( HObject image, out HObject imageMin, HTuple maskHeight, HTuple maskWidth )def gray_erosion_rect( image: HObject, mask_height: int, mask_width: int ) -> HObject

Herror gray_erosion_rect( const Hobject Image, Hobject* ImageMin, const Hlong MaskHeight, const Hlong MaskWidth )

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

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

HImage HImage.GrayErosionRect( int maskHeight, int maskWidth )

Description🔗

gray_erosion_rectGrayErosionRect calculates the minimum gray value of the input image Imageimageimage within a rectangular mask of size (MaskHeightmaskHeightmask_height, MaskWidthmaskWidthmask_width) for each image point. The resulting image is returned in ImageMinimageMinimage_min. If the parameters MaskHeightmaskHeightmask_height or MaskWidthmaskWidthmask_width are even, they are changed to the next larger odd value. At the border of the image the gray values are mirrored.

Attention🔗

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🔗

Execution information
  • Supports OpenCL compute devices.

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on tuple level.

  • Automatically parallelized on channel level.

  • Automatically parallelized on domain level.

Parameters🔗

Imageimageimage (input_object) (multichannel-)image(-array) → object (byte / direction / cyclic / uint2 / int2 / int4 / real)HObject (byte / direction / cyclic / uint2 / int2 / int4 / real)HImage (byte / direction / cyclic / uint2 / int2 / int4 / real)HObject (byte / direction / cyclic / uint2 / int2 / int4 / real)Hobject (byte / direction / cyclic / uint2 / int2 / int4 / real)

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

ImageMinimageMinimage_min (output_object) (multichannel-)image(-array) → object (byte / direction / cyclic / uint2 / int2 / int4 / real)HObject (byte / direction / cyclic / uint2 / int2 / int4 / real)HImage (byte / direction / cyclic / uint2 / int2 / int4 / real)HObject (byte / direction / cyclic / uint2 / int2 / int4 / real)Hobject * (byte / direction / cyclic / uint2 / int2 / int4 / real)

Image containing the minimum gray values.

MaskHeightmaskHeightmask_height (input_control) extent.y → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Height of the filter mask.

Default: 1111
Suggested values: 3, 5, 7, 9, 11, 13, 153, 5, 7, 9, 11, 13, 15
Value range: 3 ≤ MaskHeight ≤ 511 (lin)
Minimum increment: 2
Recommended increment: 2
Restriction: odd(MaskHeight) && MaskHeight < height(Image) * 2

MaskWidthmaskWidthmask_width (input_control) extent.x → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Width of the filter mask.

Default: 1111
Suggested values: 3, 5, 7, 9, 11, 13, 153, 5, 7, 9, 11, 13, 15
Value range: 3 ≤ MaskWidth ≤ 511 (lin)
Minimum increment: 2
Recommended increment: 2
Restriction: odd(MaskWidth) && MaskWidth < width(Image) * 2

Result🔗

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

Combinations with other operators🔗

Combinations

See also

gray_dilation_rectGrayDilationRect

Module🔗

Foundation