Esempio: applicazione di un filtro nel dominio della trasformata di Fourier
Utilizzare le funzioni funconv, matconv, funcdeconv e matdeconv per eseguire la convoluzione o la deconvoluzione di un'immagine con una funzione, f, o una maschera, E, moltiplicandole tra di loro nella frequenza spaziale (dominio della trasformata di Fourier). L'applicazione di un filtro nel dominio delle frequenze può determinare l'esecuzione di varie operazioni di smoothing, rilevamento dei bordi e riduzione periodica del rumore, a seconda della funzione o della maschera utilizzata. Da un punto di vista matematico, l'applicazione di un filtro nel dominio della trasformata è spesso più efficiente dell'utilizzo della convoluzione nel dominio dell'immagine e anche la definizione dei filtri risulta più semplice.
Utilizzare questa funzione per filtrare un'immagine M con una funzione nella frequenza spaziale. La funzione con valore reale f viene utilizzata per costruire una maschera N con le stesse dimensioni di M. M viene sottoposta alla trasformata di Fourier e quindi moltiplicata termine per termine per la maschera.
Per costruire la maschera, è necessario passare gli argomenti, corrispondenti alla distanza normalizzata dall'angolo superiore sinistro di M, a f. Questo processo continua fino al centro della maschera, quindi quest'ultima viene duplicata simmetricamente in quattro parti. Viene utilizzato questo processo perché l'angolo superiore sinistro è DC (frequenza zero).
1. Iniziare a costruire una maschera definendo la matrice immagine M.
2. Individuare il pixel che rappresenta il centro della matrice immagine.
3. Creare nuove variabili con intervallo che rappresentano i valori dall'angolo superiore sinistro al centro dell'immagine.
4. Utilizzare le variabili con intervallo definite e una funzione di masking per creare il quadrante superiore sinistro della maschera.
La voce (0, 0) è f(0), mentre la voce (r, c) è f(1).
Per costruire la maschera, è necessario passare gli argomenti, corrispondenti alla distanza normalizzata dall'angolo superiore sinistro di M, a f. Questo processo continua fino al centro della maschera, quindi quest'ultima viene duplicata simmetricamente in quattro parti. Viene utilizzato questo processo perché l'angolo superiore sinistro è DC (frequenza zero).
5. Costruire il resto della matrice maschera utilizzando funconv.
Se la convoluzione espande la scala dell'immagine, è possibile scalare la matrice di output fino all'intervallo [0, 255].
funcdeconv
Questa funzione di deconvoluzione utilizza un'immagine del dominio delle frequenze e una funzione dominio delle frequenze e ne esegue la deconvoluzione.
L'ultimo argomento e di funcdeconv è un piccolo termine aggiunto ai denominatori di tutte le espressioni durante la routine. Come punto iniziale, digitare un valore 0 per e. Se viene visualizzato un messaggio di errore relativo alla divisione per zero, digitare un valore basso per e.
1. Chiamare la funzione funcdeconv.
2. Valutare DE per visualizzare il risultato di funcdeconv e confrontarlo con la matrice originale.
matconv
La funzione matconv esegue la stessa moltiplicazione del dominio delle frequenze e viene trasformata in funconv, ma accetta una maschera come input anziché una funzione. La maschera deve avere le stesse dimensioni dell'immagine originale. È necessario fornire solo il quadrante superiore sinistro della maschera.
1. Leggere un'immagine campione.
2. Calcolare il numero di righe e di colonne nella matrice immagine.
3. Definire le dimensioni di una maschera.
4. Definire la maschera C.
Per C è possibile provare i filtri passa alto indicati di seguito.
5. Applicare matconv a R e C.
R
C
W
(times.bmp)
(matrix_ii_jj.bmp)
(times_mat.bmp)
matdeconv
Utilizzare matdeconv per recuperare l'immagine originale. Poiché la deconvoluzione interessa virtualmente la divisione per elementi con intensità zero, e viene aggiunto al denominatore di ogni divisione per eliminare questo problema.
(matdeconv.bmp)
È possibile provare altre funzioni filtro, tenendo presente che l'angolo superiore sinistro della maschera corrisponde alle basse frequenze, mentre l'angolo inferiore destro corrisponde alle alte frequenze. Provare immagini diverse.