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_imagee 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
Can you explain why we use the frequency domain for image processing?
What are some practical applications of the magnitude spectrum?
How do I interpret the magnitude spectrum visually?
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_imagee 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