Trasformata di Fourier
La trasformata di Fourier (FT) è uno strumento matematico fondamentale utilizzato nell'elaborazione delle immagini per analizzare le componenti di frequenza di un'immagine.
Permette di trasformare un'immagine dal dominio spaziale (dove i valori dei pixel sono rappresentati direttamente) al dominio delle frequenze (dove si analizzano schemi 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:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Abbiamo utilizzato COLOR_BGR2GRAY
perché le immagini vengono principalmente lette in formato BGR, che è l'inverso di RGB.
Per calcolare la trasformata di Fourier 2D:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
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 magnitudo:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
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!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.45
Trasformata di Fourier
Scorri per mostrare il menu
La trasformata di Fourier (FT) è uno strumento matematico fondamentale utilizzato nell'elaborazione delle immagini per analizzare le componenti di frequenza di un'immagine.
Permette di trasformare un'immagine dal dominio spaziale (dove i valori dei pixel sono rappresentati direttamente) al dominio delle frequenze (dove si analizzano schemi 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:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Abbiamo utilizzato COLOR_BGR2GRAY
perché le immagini vengono principalmente lette in formato BGR, che è l'inverso di RGB.
Per calcolare la trasformata di Fourier 2D:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
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 magnitudo:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
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!
single