MATLAB är ett programmeringsverktyg som kan användas för omfattande signal -och bildanalys och bearbetning . En vanlig operation vid bearbetning av enkla eller flerdimensionella signaler är avlägsnandet av högfrekvent brus . Ett lågpassfilter per definition är utformad för att avlägsna signal över en viss frekvens tröskel. Använda filter2 () funktionen i MATLAB är ett sätt att implementera ett lågpassfilter . Instruktioner
1
Importera dina data till MATLAB . Ofta är råa signaler i behov av filtrering inspelad i binärt format , som kräver en låg - nivå -fil I /O-funktion för att importera , såsom fread ( ) . Dock innehåller MATLAB inbyggda bild importörer för de flesta vanliga filformat
my_data = fread ( file_handle , n_samples , DATA_TYPE ) ; . My_image = imread ( ' my_image_file.tif ' , ' TIFF ' ) ;
Sida 2
konvertera data till en tvådimensionell matris innan behandling med filter2 ( ) funktionen . Du kan göra detta genom att omvandla endimensionella binära data till en matris med omforma ( ) funktionen , eller genom att välja en bild ur en bildserie . Använd squeeze ( ) funktionen för att ta bort singleton dimensioner när man väljer en del av en matris med fler än två dimensioner
my_image = omforma ( my_data , bredd , höjd ) ; my_other_image = squeeze ( my_image_series ( : . , : , image_number ) ) ;
3
Design ditt filter och lagra resultatet som den tvådimensionella matrisen H. En Gaussisk fönster vanligen används för lågpassfilter applikationer och kan skapas med fspecial ()-funktionen . Filter kan också utformas i MATLAB s signalbehandling verktygsmaskiner sptool ( ) . Du kan visa frekvensfunktion ditt filter fönster med wvtool ( ) funktionen . I exemplet kod, är H a 24 -by- 24 matris innehållande en gaussisk fönster av standardavvikelse 10
H = fspecial ( ' Gaussian ' , [ 24 24 ] , 10 ),. Wvtool ( H);
4
Kör filtreringen med hjälp av två - dimensionell faltning implementerad med filter2 ( ) . Som standard är resultatet av filter2 ( ) i samma dimensioner som indata
my_filtered_data = filter2 ( my_data , H ) ; .