MATLAB é uma ferramenta de programação que pode ser usado para o sinal abrangente e análise e processamento de imagens. A operação comum no processamento de sinais individuais ou multidimensionais é a remoção de ruído de alta frequência . Um filtro passa-baixa , por definição, é projetado para remover o sinal acima de um certo limiar de freqüência. Usando a função filter2 () no MATLAB é uma forma de implementar um filtro passa-baixa . Instruções
1
Importe seus dados em MATLAB . Muitas vezes , os sinais de matérias que necessitam de filtragem são gravados no formato binário , o que requer um arquivo de baixo nível da função I /O para importar , como fread (). No entanto, MATLAB contém embutidos importadores de imagem para os formatos de arquivo mais comuns
my_data = fread ( file_handle , n_samples , tipo_de_dado ); . My_image = imread (' my_image_file.tif ', ' TIFF ');
Página 2
Converter dados em uma matriz bidimensional antes de processar com o filter2 () função. Você pode fazer isso através da conversão de dados binários unidimensionais para uma matriz usando a remodelar (função) , ou selecionando uma imagem a partir de uma série de imagens . Use o aperto function () para remover dimensões únicas ao selecionar uma parte de uma matriz com mais de duas dimensões
my_image = remodelar ( my_data , largura, altura ); my_other_image = aperto ( my_image_series ( : . , : , image_number ) );
3
Projete seu filtro e armazenar o resultado como a matriz bidimensional H. Uma janela Gaussian é comumente usado para aplicações de filtro passa-baixa e pode ser criado com o função fspecial (). Os filtros também podem ser projetados em função de ferramenta de processamento de sinal SPTOOL do MATLAB (). Você pode ver a resposta da janela do seu filtro de freqüência usando o wvtool () função. No código de exemplo , H é uma matriz de 24 por -24 que contém uma janela de Gauss de desvio padrão 10
H = fspecial ( ' gaussiana ' , [ 24 24 ] , 10 ) , . Wvtool ( H ) ;
4
Executar a filtragem usando o algoritmo de convolução bidimensional implementado por filter2 (). Por padrão, o resultado de filter2 () é das mesmas dimensões que os dados de entrada
my_filtered_data = filter2 ( my_data , H ); .