grey_opening#
- scipy.ndimage.grey_opening(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0, *, axes=None)[source]#
- Multidimensional grayscale opening. - A grayscale opening consists in the succession of a grayscale erosion, and a grayscale dilation. - Parameters:
- inputarray_like
- Array over which the grayscale opening is to be computed. 
- sizetuple of ints
- Shape of a flat and full structuring element used for the grayscale opening. Optional if footprint or structure is provided. 
- footprintarray of ints, optional
- Positions of non-infinite elements of a flat structuring element used for the grayscale opening. 
- structurearray of ints, optional
- Structuring element used for the grayscale opening. structure may be a non-flat structuring element. The structure array applies offsets to the pixels in a neighborhood (the offset is additive during dilation and subtractive during erosion). 
- outputarray, optional
- An array used for storing the output of the opening 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’ 
- cvalscalar, optional
- Value to fill past edges of input if mode is ‘constant’. Default is 0.0. 
- originscalar, optional
- The origin parameter controls the placement of the filter. Default 0 
- axestuple of int or None
- The axes over which to apply the filter. If None, input is filtered along all axes. If an origin tuple is provided, its length must match the number of axes. 
 
- Returns:
- grey_openingndarray
- Result of the grayscale opening of input with structure. 
 
 - Notes - The action of a grayscale opening with a flat structuring element amounts to smoothen high local maxima, whereas binary opening erases small objects. - References - Examples - >>> from scipy import ndimage >>> import numpy as np >>> a = np.arange(36).reshape((6,6)) >>> a[3, 3] = 50 >>> a array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17], [18, 19, 20, 50, 22, 23], [24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35]]) >>> ndimage.grey_opening(a, size=(3,3)) array([[ 0, 1, 2, 3, 4, 4], [ 6, 7, 8, 9, 10, 10], [12, 13, 14, 15, 16, 16], [18, 19, 20, 22, 22, 22], [24, 25, 26, 27, 28, 28], [24, 25, 26, 27, 28, 28]]) >>> # Note that the local maximum a[3,3] has disappeared