gray_opening_shape
— Perform a gray value opening with a selected mask.
gray_opening_shape(Image : ImageOpening : MaskHeight, MaskWidth, MaskShape : )
gray_opening_shape
applies a gray value opening to the input image
Image
with the structuring element of shape MaskShape
.
The mask's offset values are 0 and its horizontal and vertical size is
defined by MaskHeight
and MaskWidth
. The resulting image
is returned in ImageOpening
.
If the parameters MaskHeight
or MaskWidth
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 Image
is transformed with both the next larger and
the next smaller odd mask size, and the output image ImageOpening
is interpolated from the two intermediate images. Therefore, note that
gray_opening_shape
returns different results for mask sizes of,
e.g., 4 and 4.0!
In case of the values
'rhombus' and 'octagon' for the MaskShape
control parameter,
MaskHeight
and MaskWidth
must be equal. The parameter
value 'octagon' for MaskShape
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 opening of an image i with a structuring element
s is defined as
i.e., an erosion of the image with s followed by a dilation with
s (see gray_erosion_shape
and gray_dilation_shape
).
Note that gray_opening_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_opening_shape
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.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / uint2*) *allowed for compute devices
Image for which the minimum gray values are to be calculated.
ImageOpening
(output_object) (multichannel-)image(-array) →
object (byte / uint2)
Image containing the minimum gray values.
MaskHeight
(input_control) extent.y →
(real / integer)
Height of the filter mask.
Default: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Value range:
1.0
≤
MaskHeight
≤
511.0
MaskWidth
(input_control) extent.x →
(real / integer)
Width of the filter mask.
Default: 11
Suggested values: 3, 5, 7, 9, 11, 13, 15
Value range:
1.0
≤
MaskWidth
≤
511.0
MaskShape
(input_control) string →
(string)
Shape of the mask.
Default: 'octagon'
List of values: 'octagon' , 'rectangle' , 'rhombus'
gray_opening_shape
returns 2 (
H_MSG_TRUE)
if all
parameters are correct.
gray_dilation_shape
,
gray_erosion_shape
,
opening
Foundation