Fichier:Comparaison filtres median savitzky golay butterworth fft scipy.svg
Le contenu de la page n’est pas pris en charge dans d’autres langues.
Un livre de Wikilivres.
Taille de cet aperçu PNG pour ce fichier SVG : 800 × 480 pixels. Autres résolutions : 320 × 192 pixels | 1 024 × 614 pixels | 1 280 × 768 pixels | 2 560 × 1 536 pixels | 900 × 540 pixels.
Fichier d’origine (Fichier SVG, nominalement de 900 × 540 pixels, taille : 100 kio)
Ce fichier et sa description proviennent de Wikimedia Commons. | Accéder au fichier sur Commons |
Description
DescriptionComparaison filtres median savitzky golay butterworth fft scipy.svg |
Français : Comparaison des filtres médian, de Savitzky-Golay, de Butterworth et de Fourier avec la bibliothèque SciPy de Python.
English: Comparison between the median filter, Savitzky-Golay filter, Butterworth filter and Fourier filter with the SciPy library for Python. |
Date | |
Source | Travail personnel |
Auteur | Cdang |
iLe code de ce fichier SVG n'est pas valide en raison de 10 erreurs. |
Cette représentation graphique W3C-invalide a été créée avec Matplotlib.
Le code de ce fichier SVG n'est pas valide en raison de 10 erreurs.
Cette image vectorielle W3C-invalide a été créée avec Python par cdang
Code source
InfoField
Python code
import numpy as np
import scipy.signal as signal
import scipy.fft as fft
import matplotlib.pyplot as plt
# **************
# * Constantes *
# **************
epsilon = 0.1 # amplitude du bruit
# ******************************************
# * Génération d'un signal gaussien bruité *
# ******************************************
x = np.linspace(0, 4, 80) # points d'abscisse
y = 0.1*np.exp(-(10*(x - 1)*x + 0.125)) + epsilon*np.random.normal(x)
# ***********
# * Lissage *
# ***********
# filtre médian
ylissemf = signal.medfilt(y, 7)
# filtre de Savitzky-Golay
ylissesg = signal.savgol_filter(y, 7, 3)
# filtre de Butterworth
(b, a) = signal.butter(1, 5, fs=50) # caractéristiques du filtre
zi = signal.lfilter_zi(b, a) # conditions initiales du filtre
ylisseb = signal.lfilter(b, a, y, zi=zi*y[0]) # application du filtre
# filtre de Fourier
L = len(y) # longueur de signal
ff = fft.fftshift(fft.fft(y, fft.next_fast_len(L, real=True))) # calcule la transformée de Fourier rapide de manière optimisée
# en ajoutant des 0 en queue de signal, et ordonne les coefficients
ff[-25:] = 0 # atténuation du spectre aux extrémités
ff[:25] = 0
ylissef = fft.ifft(fft.ifftshift(ff))[:L] # réordonne les coefficients et calcule transformée de Fourier inverse,
# et élimine les 0 ajoutés artificiellement pour optimiser
# *************
# * Affichage *
# *************
fig, liste_axes = plt.subplots(2, 2, constrained_layout=True, figsize = [10, 6])
# filtre médian
liste_axes[0, 0].plot(x, y, "b.")
liste_axes[0, 0].plot(x, ylissemf, "k-", linewidth="0.5")
liste_axes[0, 0].set_title("scipy.signal.medfilt(y, 7)")
# filtre de Savitzky-Golay
liste_axes[0, 1].plot(x, y, "b.")
liste_axes[0, 1].plot(x, ylissesg, "k-", linewidth="0.5")
liste_axes[0, 1].set_title("scipy.signal.savgol_filter(y, 7, 3)")
# filtre de Butterworth
liste_axes[1, 0].plot(x, y, "b.")
liste_axes[1, 0].plot(x, ylisseb[0], "k-", linewidth="0.5")
liste_axes[1, 0].set_title("Butterworth (2, 0.3)")
# filtre de Fourier
liste_axes[1, 1].plot(x, y, "b.")
liste_axes[1, 1].plot(x, ylissef, "k-", linewidth="0.5")
liste_axes[1, 1].set_title("Filtre de Fourier")
plt.savefig("comparaison_filtres_median_savitzky_golay__butterworth_fft_scipy.svg", format="svg")
Conditions d’utilisation
Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous la licence suivante :
Ce fichier est sous la licence Creative Commons Attribution – Partage dans les Mêmes Conditions 4.0 International.
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez, ou vous basez sur cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
12 mai 2023
image/svg+xml
3ede1e5600e60a6e889e94692f1189a88d34da34
102 290 octet
540 pixel
900 pixel
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 12 mai 2023 à 10:59 | 900 × 540 (100 kio) | Cdang | Uploaded own work with UploadWizard |
Utilisation du fichier
La page suivante utilise ce fichier :
Métadonnées
Ce fichier contient des informations supplémentaires, probablement ajoutées par l'appareil photo numérique ou le numériseur utilisé pour le créer.
Si le fichier a été modifié depuis son état original, certains détails peuvent ne pas refléter entièrement l'image modifiée.
Largeur | 720pt |
---|---|
Hauteur | 432pt |