gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapegray_erosion_shape (算子)
名称
gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapegray_erosion_shape — 确定选定掩模内的最小灰度值。
签名
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
HImage HImage::GrayErosionShape(double MaskHeight, double MaskWidth, const wchar_t* MaskShape) const
(
Windows only)
描述
gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_shape calculates the minimum gray value of the input
image ImageImageImageImageimageimage within a mask of shape MaskShapeMaskShapeMaskShapeMaskShapemaskShapemask_shape,
vertical size MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height and horizontal size MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width
for each image point.
The resulting image is returned in ImageMinImageMinImageMinImageMinimageMinimage_min。
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 ImageMinImageMinImageMinImageMinimageMinimage_min is
interpolated from the two intermediate images. Therefore, note that
gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_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.
注意
Note that gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_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_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_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.
请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章
执行信息
- 支持 OpenCL 计算设备。
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
- 在通道级别上自动并行化。
- 在域级别上自动并行化。
参数
ImageImageImageImageimageimage (输入对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (byte* / uint2*) *允许用于计算设备
Image for which the minimum gray values are to
be calculated.
ImageMinImageMinImageMinImageMinimageMinimage_min (输出对象) (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
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
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_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_shape 在所有参数正确时返回 2 ( H_MSG_TRUE )。
替代
gray_erosiongray_erosionGrayErosionGrayErosionGrayErosiongray_erosion,
gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRectgray_erosion_rect
另见
gray_opening_shapegray_opening_shapeGrayOpeningShapeGrayOpeningShapeGrayOpeningShapegray_opening_shape,
gray_closing_shapegray_closing_shapeGrayClosingShapeGrayClosingShapeGrayClosingShapegray_closing_shape,
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton
模块
基础