Come creare un Low Pass Utilizzando Filter2 in MATLAB

September 22

Come creare un Low Pass Utilizzando Filter2 in MATLAB


MATLAB è uno strumento di programmazione che può essere utilizzato per il segnale completo e analisi d'immagine e di elaborazione. Un'operazione comune nel trattamento di segnali singoli o multidimensionali è la rimozione del rumore ad alta frequenza. Un filtro passa-basso per definizione è progettato per rimuovere il segnale di sopra di una certa soglia di frequenza. Utilizzando la funzione filter2 () in MATLAB è un modo di attuazione di un filtro passa-basso.

istruzione

1 Importa i tuoi dati in MATLAB. Spesso, i segnali prime che hanno bisogno di filtraggio sono registrati in formato binario, che richiede una funzione di file a basso livello di I / O per importare, come ad esempio fread (). Tuttavia, MATLAB contiene importatori di immagini incorporate per la maggior parte dei formati di file più comuni.

my_data = fread (file_handle, N_SAMPLES, data_type);
mia_immagine = imread ( 'my_image_file.tif', 'TIFF');

2 Convertire i dati in una matrice bidimensionale prima di elaborare con la funzione filter2 (). È possibile farlo convertendo dati binari monodimensionali ad una matrice utilizzando la funzione di Reshape (), oppure selezionando un'immagine da una serie di immagini. Utilizzare la funzione squeeze () per rimuovere dimensioni singoletto quando si seleziona una porzione di una matrice con più di due dimensioni.

mia_immagine = rimodellare (my_data, larghezza, altezza);
my_other_image = squeeze (my_image_series (:,:, image_number));

3 Progettare il filtro e memorizzare il risultato come H. matrice bidimensionale Una finestra gaussiana è comunemente utilizzato per applicazioni di filtro passa-basso e può essere creato con la funzione fspecial (). I filtri possono anche essere progettati in funzione di elaborazione del segnale strumento SPTool di MATLAB (). È possibile visualizzare la risposta in frequenza della finestra filtro mediante la funzione wvtool (). Nel codice esempio, H è una matrice 24-by-24 contenente una finestra gaussiana di deviazione standard 10.

H = fspecial ( 'gaussiana', [24 24], 10);
wvtool (H);

4 Eseguire il filtraggio utilizzando l'algoritmo di convoluzione bidimensionale implementato da filter2 (). Per impostazione predefinita, il risultato di filter2 () è delle stesse dimensioni dei dati di input.

my_filtered_data = filtro2 (my_data, H);