gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapegray_closing_shape (算子)

名称

gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapegray_closing_shape — 使用选定的掩模执行灰度值闭。

签名

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)

void GrayClosingShape(const HObject& Image, HObject* ImageClosing, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape)

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

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

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

HImage HImage::GrayClosingShape(double MaskHeight, double MaskWidth, const wchar_t* MaskShape) const   ( Windows only)

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)

def gray_closing_shape(image: HObject, mask_height: Union[int, float], mask_width: Union[int, float], mask_shape: str) -> HObject

描述

gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapeGrayClosingShapegray_closing_shape applies a gray value closing to the input image ImageImageImageImageimageimage with the structuring element of shape MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape. The mask's offset values are 0 and its horizontal and vertical size is defined by MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height and MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width. The resulting image is returned in ImageClosingImageClosingImageClosingImageClosingimageClosingimage_closing

If the parameters MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height or MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width 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 ImageClosingImageClosingImageClosingImageClosingimageClosingimage_closing is interpolated from the two intermediate images. Therefore, note that gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapeGrayClosingShapegray_closing_shape returns different results for mask sizes of, e.g., 4 and 4.0!

In case of the values 'rhombus' and 'octagon' for the MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape control parameter, MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height and MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width must be equal. The parameter value 'octagon' for MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape 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.e., a dilation of the image with s followed by an erosion with s (see gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_dilation_shape and gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_shape).

注意

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

gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapeGrayClosingShapegray_closing_shape 可在 OpenCL 设备上执行。 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.

请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte* / uint2*) *允许用于计算设备

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

ImageClosingImageClosingImageClosingImageClosingimageClosingimage_closing (输出对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / uint2)

Image containing the minimum gray values.

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height (输入控制)  extent.y HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Height of the filter mask.

默认值: 11

建议值: 3, 5, 7, 9, 11, 13, 15

值范围: 1.0 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight mask_height ≤ 511.0

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width (输入控制)  extent.x HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Width of the filter mask.

默认值: 11

建议值: 3, 5, 7, 9, 11, 13, 15

值范围: 1.0 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth mask_width ≤ 511.0

MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Shape of the mask.

默认值: 'octagon' "octagon" "octagon" "octagon" "octagon" "octagon"

值列表: 'octagon'"octagon""octagon""octagon""octagon""octagon", 'rectangle'"rectangle""rectangle""rectangle""rectangle""rectangle", 'rhombus'"rhombus""rhombus""rhombus""rhombus""rhombus"

结果

gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapeGrayClosingShapegray_closing_shape 在所有参数正确时返回 2 ( H_MSG_TRUE )。

替代

gray_closinggray_closingGrayClosingGrayClosingGrayClosinggray_closing

另见

gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_dilation_shape, gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_shape, closingclosingClosingClosingClosingclosing

模块

基础