Transformée de Fourier
Elle permet de transformer une image du domaine spatial (où les valeurs des pixels sont représentées directement) vers le domaine fréquentiel (où l’on analyse les motifs et structures selon leur fréquence). Ceci est utile pour des tâches telles que le filtrage d’image, la détection de contours et la réduction du bruit.
Tout d’abord, il faut convertir l’image en niveaux de gris :
Pour calculer la transformée de Fourier 2D :
Ici, fft2()
convertit l’image du domaine spatial au domaine fréquentiel, et fftshift()
déplace les composantes basses fréquences vers le centre.
Pour visualiser le spectre de magnitude :
Étant donné que la transformée de Fourier produit des nombres complexes, il est nécessaire de prendre les valeurs absolues (np.abs()
) pour obtenir une visualisation significative.
La fonction np.log
améliore la visibilité, car les valeurs de magnitude brutes varient fortement en échelle.
Swipe to start coding
Vous disposez d'une image
:
- Convertir l'image en niveaux de gris et stocker le résultat dans la variable
gray_image
; - Appliquer la transformation de Fourier à
gray_image
et stocker le résultat dans la variabledft
; - Effectuer un décalage de la fréquence zéro vers le centre et stocker le résultat dans la variable
dft_shift
; - Calculer le spectre de magnitude et stocker le résultat dans la variable
magnitude_spectrum
.
Solution
Merci pour vos commentaires !