Trasformata di Fourier
Permette di trasformare un'immagine dal dominio spaziale (dove i valori dei pixel sono rappresentati direttamente) al dominio delle frequenze (dove analizziamo pattern e strutture in base alla loro frequenza). Questo è utile per attività come filtraggio delle immagini, rilevamento dei bordi e riduzione del rumore.
Per prima cosa, è necessario convertire l'immagine in scala di grigi:
Per calcolare la trasformata di Fourier 2D:
Qui, fft2()
converte l'immagine dal dominio spaziale al dominio delle frequenze, e fftshift()
sposta le componenti a bassa frequenza al centro.
Per visualizzare lo spettro di magnitudine:
Poiché la trasformata di Fourier restituisce numeri complessi, si utilizzano i valori assoluti (np.abs()
) per una visualizzazione significativa.
La funzione np.log
migliora la visibilità, poiché i valori di magnitudo grezzi variano notevolmente in scala.
Swipe to start coding
Ti viene fornita un'immagine (image
):
- Converti l'immagine in scala di grigi e memorizzala nella variabile
gray_image
; - Applica la trasformata di Fourier alla
gray_image
e memorizza il risultato nella variabiledft
; - Esegui lo shift della frequenza zero al centro e memorizza il risultato nella variabile
dft_shift
; - Calcola lo spettro di magnitudine e memorizzalo nella variabile
magnitude_spectrum
.
Soluzione
Grazie per i tuoi commenti!