Matlab Moving Average Filter 2d
Eu preciso testar algumas técnicas básicas de processamento de imagem no Matlab. Eu preciso testar e comparar especialmente dois tipos de filtros: filtro médio e filtro mediano. Para alisar a imagem usando a mediana de filtragem, existe uma grande função medfilt2 da caixa de ferramentas de processamento de imagem. Existe alguma função semelhante para filtro médio Ou como usar a função filter2 para criar o filtro médio Uma das coisas mais importantes para mim é ter a possibilidade de configurar o raio do filtro. I. e. Para o filtro mediano, se eu quiser o raio de 3 x 3 (máscara), eu uso apenas eu gostaria de conseguir algo semelhante para o filtro médio. Pediu Nov 15 09 em 16:12 user8264: Eu don39t ter acesso ao livro agora, mas geralmente o kernel gaussiano fornece um efeito de alisamento mais suave e tende a preservar as bordas melhor do que um médio-filtro do mesmo tamanho. Pense na resposta de freqüência do filtro passa-baixo em ambos os casos. Aqui está uma página com uma boa explicação: homepages. inf. ed. ac. ukrbfHIPR2gsmooth. htm ndash Amro Aug 1 14 em 9: 48Criado em Quarta-feira, 08 de Outubro de 2008 20:04 Última atualização em Quinta, 14 Março 2013 01:29 Escrito Por Batuhan Osmanoglu Hits: 41399 Moving Average Em Matlab Muitas vezes eu me encontro na necessidade de calcular a média dos dados que tenho para reduzir o ruído um pouco. Eu escrevi funções de casal para fazer exatamente o que eu quero, mas matlabs construído em função de filtro funciona muito bem também. Aqui Ill escrever sobre 1D e 2D média de dados. 1D filtro pode ser realizado usando a função de filtro. A função de filtro requer pelo menos três parâmetros de entrada: o coeficiente do numerador para o filtro (b), o coeficiente do denominador para o filtro (a) e os dados (X), é claro. Um filtro de média em execução pode ser definido simplesmente por: Para dados 2D, podemos usar a função Matlabs filter2. Para obter mais informações sobre como o filtro funciona, você pode digitar: Aqui está uma implementação rápida e suja de um filtro de média móvel 16 por 16. Primeiro precisamos definir o filtro. Uma vez que tudo o que queremos é a contribuição igual de todos os vizinhos, podemos apenas usar a função uns. Nós dividimos tudo com 256 (1616) desde que nós não queremos mudar o nível geral (amplitude) do sinal. Para aplicar o filtro podemos simplesmente dizer o seguinte Abaixo estão os resultados para a fase de um interferograma SAR. Neste caso Range está no eixo Y e Azimuth é mapeado no eixo X. O filtro era de 4 pixels de largura em Range e 16 pixels de largura em Azimuth. Using MATLAB, como posso encontrar a média móvel de 3 dias de uma coluna específica de uma matriz e acrescentar a média móvel para a matriz que eu estou tentando calcular o 3 Dia de média móvel de baixo para cima da matriz. Eu forneci o meu código: Dada a seguinte matriz a e máscara: Tentei implementar o comando conv, mas estou recebendo um erro. Aqui está o comando conv que eu tenho tentado usar na segunda coluna da matriz a: A saída que desejo é dada na seguinte matriz: Se você tiver alguma sugestão, eu gostaria muito. Obrigado Para a coluna 2 da matriz a, estou computando a média móvel de 3 dias da seguinte maneira e colocando o resultado na coluna 4 da matriz a (I renomeado como a matriz 39 como 39desiredOutput39 apenas para ilustração). A média de 3 dias de 17, 14, 11 é 14 a média de 3 dias de 14, 11, 8 é 11 a média de 3 dias de 11, 8, 5 é 8 ea média de 3 dias de 8, 5, 2 é 5. Não há nenhum valor nas 2 linhas inferiores para a 4a coluna porque a computação para a média móvel de 3 dias começa na parte inferior. A saída 39valid39 não será mostrada até pelo menos 17, 14 e 11. Espero que isso faz sentido ndash Aaron Jun 12 13 em 1:28 Em geral, seria útil se você mostrar o erro. Neste caso você está fazendo duas coisas erradas: Primeiro, sua convolução precisa ser dividida por três (ou o comprimento da média móvel) Segundo, observe o tamanho de c. Você não pode apenas caber c em um. A maneira típica de obter uma média móvel seria usar o mesmo: mas isso não se parece com o que você quer. Em vez disso, você é forçado a usar um par de linhas:
Comments
Post a Comment