scipy.ndimage.morphology.grey_closing¶
- scipy.ndimage.morphology.grey_closing(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0)[source]¶
Multi-dimensional greyscale closing.
A greyscale closing consists in the succession of a greyscale dilation, and a greyscale erosion.
Parameters : input : array_like
Array over which the grayscale closing is to be computed.
size : tuple of ints
Shape of a flat and full structuring element used for the grayscale closing. Optional if footprint or structure is provided.
footprint : array of ints, optional
Positions of non-infinite elements of a flat structuring element used for the grayscale closing.
structure : array of ints, optional
Structuring element used for the grayscale closing. structure may be a non-flat structuring element.
output : array, optional
An array used for storing the ouput of the closing may be provided.
mode : {‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, optional
The mode parameter determines how the array borders are handled, where cval is the value when mode is equal to ‘constant’. Default is ‘reflect’
cval : scalar, optional
Value to fill past edges of input if mode is ‘constant’. Default is 0.0.
origin : scalar, optional
The origin parameter controls the placement of the filter. Default 0
Returns : grey_closing : ndarray
Result of the grayscale closing of input with structure.
Notes
The action of a grayscale closing with a flat structuring element amounts to smoothen deep local minima, whereas binary closing fills small holes.
References
[R79] http://en.wikipedia.org/wiki/Mathematical_morphology Examples
>>> a = np.arange(36).reshape((6,6)) >>> a[3,3] = 0 >>> a array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17], [18, 19, 20, 0, 22, 23], [24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35]]) >>> ndimage.grey_closing(a, size=(3,3)) array([[ 7, 7, 8, 9, 10, 11], [ 7, 7, 8, 9, 10, 11], [13, 13, 14, 15, 16, 17], [19, 19, 20, 20, 22, 23], [25, 25, 26, 27, 28, 29], [31, 31, 32, 33, 34, 35]]) >>> # Note that the local minimum a[3,3] has disappeared