Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Mise en oeuvre d'IHM
avec Qt et PySide6
Voir le programme détaillé
Module « scipy.signal »

Fonction medfilt2d - module scipy.signal

Signature de la fonction medfilt2d

def medfilt2d(input, kernel_size=3) 

Description

help(scipy.signal.medfilt2d)

Median filter a 2-dimensional array.

Apply a median filter to the `input` array using a local window-size
given by `kernel_size` (must be odd). The array is zero-padded
automatically.

Parameters
----------
input : array_like
    A 2-dimensional input array.
kernel_size : array_like, optional
    A scalar or a list of length 2, giving the size of the
    median filter window in each dimension.  Elements of
    `kernel_size` should be odd.  If `kernel_size` is a scalar,
    then this scalar is used as the size in each dimension.
    Default is a kernel of size (3, 3).

Returns
-------
out : ndarray
    An array the same size as input containing the median filtered
    result.

See Also
--------
scipy.ndimage.median_filter

Notes
-----
This is faster than `medfilt` when the input dtype is ``uint8``,
``float32``, or ``float64``; for other types, this falls back to
`medfilt`. In some situations, `scipy.ndimage.median_filter` may be
faster than this function.

Examples
--------
>>> import numpy as np
>>> from scipy import signal
>>> x = np.arange(25).reshape(5, 5)
>>> x
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])

# Replaces i,j with the median out of 5*5 window

>>> signal.medfilt2d(x, kernel_size=5)
array([[ 0,  0,  2,  0,  0],
       [ 0,  3,  7,  4,  0],
       [ 2,  8, 12,  9,  4],
       [ 0,  8, 12,  9,  0],
       [ 0,  0, 12,  0,  0]])

# Replaces i,j with the median out of default 3*3 window

>>> signal.medfilt2d(x)
array([[ 0,  1,  2,  3,  0],
       [ 1,  6,  7,  8,  4],
       [ 6, 11, 12, 13,  9],
       [11, 16, 17, 18, 14],
       [ 0, 16, 17, 18,  0]])

# Replaces i,j with the median out of default 5*3 window

>>> signal.medfilt2d(x, kernel_size=[5,3])
array([[ 0,  1,  2,  3,  0],
       [ 0,  6,  7,  8,  3],
       [ 5, 11, 12, 13,  8],
       [ 5, 11, 12, 13,  8],
       [ 0, 11, 12, 13,  0]])

# Replaces i,j with the median out of default 3*5 window

>>> signal.medfilt2d(x, kernel_size=[3,5])
array([[ 0,  0,  2,  1,  0],
       [ 1,  5,  7,  6,  3],
       [ 6, 10, 12, 11,  8],
       [11, 15, 17, 16, 13],
       [ 0, 15, 17, 16,  0]])

# As seen in the examples,
# kernel numbers must be odd and not exceed original array dim



Vous êtes un professionnel et vous avez besoin d'une formation ? Machine Learning
avec Scikit-Learn
Voir le programme détaillé