Tuesday 22 August 2017

Gaussian Moving Average Matlab


Jacob já mostrou como usar o filtro gaussiano em Matlab, então não vou repetir isso. Eu escolheria o tamanho do filtro para ser cerca de 3sigma em cada direção (redondo para inteiro ímpar). Assim, o filtro decai para quase zero nas bordas, e você não obterá descontinuidades na imagem filtrada. A escolha do sigma depende muito do que você quer fazer. O alisamento gaussiano é a filtragem passa-baixa, o que significa que ele suprime detalhes de alta freqüência (ruído, mas também bordas), preservando as partes de baixa freqüência da imagem (ou seja, as que não variam tanto). Em outras palavras, o filtro desfaz tudo o que é menor do que o filtro. Se você estiver procurando por suprimir o ruído em uma imagem para melhorar a detecção de pequenos recursos, por exemplo, eu sugiro escolher uma sigma que faça o gaussiano apenas um pouco menor do que o recurso. Respondeu 5 de maio 10 às 16:55 não sei o que é a etiqueta, mas eu tenho uma pergunta sobre sua resposta - como você pode dizer o quotsizequot o filtro é baseado no sigma você pode de alguma forma obter a dimensionalidade do filtro com base em O valor do sigma eu pensei que o tamanho do filtro era realmente o primeiro parâmetro da função (5x5 na publicação acima) ndash sepiroth 30 de junho 10 às 12:24 hatorade: Com 39size39, não considero a dimensionalidade, mas o tamanho da máscara. Isto é, Se escolher 5 5 ou 7 7. ndash Jonas 30 de junho 10 às 13:56 No MATLAB R2015a ou mais recente, não é mais necessário (ou aconselhável do ponto de vista do desempenho) usar fspecial seguido de imfilter, pois existe uma nova função chamada Imgaussfilt que executa esta operação em um passo e de forma mais eficiente. A sintaxe básica: B imgaussfilt (A, sigma) filtra a imagem A com um kernel de liso Gaussiano 2-D com desvio padrão especificado por sigma. O tamanho do filtro para um desvio padrão gaussiano dado (sigam) é escolhido automaticamente, mas também pode ser especificado manualmente: o padrão é 2ceil (2sigma) 1. As características adicionais do imgaussfilter são a capacidade de operar em gpuArray s, filtragem de freqüência ou domínio espacial e opções avançadas de preenchimento de imagens. Parece muito com o IPP. Hmmm. Além disso, há uma versão em 3D chamada imgaussfilt3. Respondeu 6 de março 15 às 22: 01 Nomes comuns de suavização gaussiana: suavização gaussiana Breve descrição O operador de alisamento gaussiano é um operador de convolução 2-D que é usado para desfocar imagens e remover detalhes e ruídos. Nesse sentido, é semelhante ao filtro médio. Mas usa um kernel diferente que representa a forma de uma gueira Gaussiana (em forma de sino). Este kernel possui algumas propriedades especiais que são detalhadas abaixo. Como funciona A distribuição gaussiana em 1-D tem a forma: onde é o desvio padrão da distribuição. Também assumimos que a distribuição tem uma média de zero (isto é, centrada na linha x 0). A distribuição está ilustrada na Figura 1. Figura 1 Distribuição Gaussiana 1-D com média 0 e 1 Em 2-D, um Gaussiano isotrópico (ou simétrico circular) tem a forma: Esta distribuição é mostrada na Figura 2. Figura 2 2-D Distribuição gaussiana com média (0,0) e 1 A idéia de suavização gaussiana é usar esta distribuição 2-D como uma função de propagação de pontos, e isso é conseguido por convolução. Uma vez que a imagem é armazenada como uma coleção de pixels discretos, precisamos produzir uma aproximação discreta da função Gaussiana antes que possamos realizar a convolução. Em teoria, a distribuição gaussiana não é zero em todos os lugares, o que exigiria um núcleo de convolução infinitamente grande, mas, na prática, é efetivamente zero mais do que cerca de três desvios padrão da média e, portanto, podemos truncar o núcleo neste ponto. A Figura 3 mostra um kernel de convolução de número inteiro adequado que se aproxima de um gaussiano com a de 1,0. Não é óbvio como escolher os valores da máscara para aproximar um gaussiano. Pode-se usar o valor do gaussiano no centro de um pixel na máscara, mas isso não é exato porque o valor do gaussiano varia de forma não linear ao longo do pixel. Integramos o valor do gaussiano em todo o pixel (somando o Gaussiano em incrementos de 0,001). As integrais não são inteiros: redimensionamos a matriz de modo que os cantos tivessem o valor 1. Finalmente, o 273 é a soma de todos os valores na máscara. Figura 3 Aproximação discreta à função Gaussiana com 1.0 Uma vez que o kernel adequado foi calculado, então o alisamento gaussiano pode ser realizado usando métodos de convolução padrão. A convolução pode de fato ser realizada com bastante rapidez, uma vez que a equação para Gaussian isotrópico 2-D mostrada acima é separável em componentes x e y. Assim, a convolução 2-D pode ser realizada pela primeira convolução com um gaussiano 1-D na direção x e, em seguida, convolvendo com outro gaussiano 1-D na direção y. (O gaussiano é, de fato, o único operador completamente circularmente simétrico que pode ser decomposto dessa maneira). A Figura 4 mostra o kernel de componente x 1-D que seria usado para produzir o kernel completo mostrado na Figura 3 (após a escala em 273 , Arredondando e truncando uma linha de pixels ao redor do limite porque eles geralmente têm o valor 0. Isso reduz a matriz 7x7 para o 5x5 mostrado acima). O componente y é exatamente o mesmo, mas é orientado verticalmente. Figura 4 Um dos pares de núcleos de convolução 1-D usados ​​para calcular o kernel completo mostrado na Figura 3 mais rapidamente. Uma outra maneira de calcular um alisamento gaussiano com um grande desvio padrão é convolver uma imagem várias vezes com um gaussiano menor. Embora esta seja computacionalmente complexa, pode ter aplicabilidade se o processamento for realizado usando uma tubulação de hardware. O filtro gaussiano não só possui utilidade em aplicações de engenharia. Também atrai a atenção dos biólogos computacionais porque foi atribuído com alguma quantidade de plausibilidade biológica, e. Algumas células nas vias visuais do cérebro geralmente têm uma resposta aproximadamente gaussiana. Diretrizes para uso O efeito do alisamento gaussiano é borrar uma imagem, de forma semelhante ao filtro médio. O grau de suavização é determinado pelo desvio padrão do gaussiano. (Desvio padrão maior Gaussians, é claro, requerem núcleos de convolução maiores para serem representados com precisão.) O gaussiano produz uma média ponderada de cada área de pixels, com a média ponderada mais para o valor dos pixels centrais. Isso contrasta com a média ponderada uniformemente média. Devido a isso, um gaussiano proporciona um alisamento mais suave e preserva bordas melhor do que um filtro médio de tamanho similar. Uma das principais justificativas para o uso do Gaussiano como filtro de suavização deve-se à sua resposta de freqüência. A maioria dos filtros de suavização baseados em convolução atuam como filtros de freqüência de passagem baixa. Isso significa que seu efeito é remover componentes de alta freqüência espacial de uma imagem. A resposta de frequência de um filtro de convolução, isto é, seu efeito em diferentes freqüências espaciais, pode ser vista tomando a transformada de Fourier do filtro. A Figura 5 mostra as respostas de frequência de um filtro médio 1-D com largura 5 e também de um filtro gaussiano com 3. Figura 5 Respostas de frequência do filtro Box (isto é, média) (largura 5 pixels) e filtro gaussiano (3 pixels). O eixo da frequência espacial é marcado em ciclos por pixel e, portanto, nenhum valor acima de 0,5 tem um significado real. Ambos os filtros atenuam as freqüências altas mais do que as baixas freqüências, mas o filtro médio exibe oscilações em sua resposta de freqüência. O gaussiano, por outro lado, não mostra oscilações. Na verdade, a forma da curva de resposta de freqüência é em si (meio a) Gaussiano. Então, ao escolher um filtro Gaussiano de tamanho adequado, podemos ter bastante confiança sobre qual faixa de freqüências espaciais ainda estão presentes na imagem após a filtragem, o que não é o caso do filtro médio. Isso tem conseqüências para algumas técnicas de detecção de bordas, conforme mencionado na seção sobre passagens zero. (O filtro gaussiano também revela-se muito parecido com o filtro de suavização ideal para a detecção de borda, de acordo com o critério utilizado para derivar o detector de borda Canny). Para ilustrar o efeito do alisamento com filtros gaussianos sucessivamente maiores e maiores. Mostra o efeito da filtragem com um Gaussian de 1.0 (e tamanho do kernel 52155). Mostra o efeito da filtragem com um Gaussian of 2.0 (e tamanho do noz 92159). Mostra o efeito da filtragem com um Gaussian de 4.0 (e tamanho do kernel 1521515). Agora consideramos o uso do filtro gaussiano para redução de ruído. Por exemplo, considere a imagem que foi corrompida por ruído gaussiano com uma média de zero e 8. Suavizando isso com um rendimento Gaussiano 52155 (Compare esse resultado com o conseguido pelos filtros médio e médio.) O ruído salino e pimenta é mais desafiador Para um filtro gaussiano. Aqui vamos suavizar a imagem que foi corrompida por 1 barril de sal e pimenta (ou seja, bits individuais foram lançados com probabilidade 1). A imagem mostra o resultado do alisamento gaussiano (usando a mesma convolução como acima). Compare isso com o original Observe que muito do ruído ainda existe e que, embora tenha diminuído de magnitude um pouco, ele foi manchado em uma região espacial maior. Aumentar o desvio padrão continua a reduzir o impacto da intensidade do ruído, mas também atenua significativamente os detalhes de alta freqüência (por exemplo, bordas), como mostrado na Experiência interativa. Você pode experimentar de forma interativa com este operador, clicando aqui. A partir do ruído gaussiano (média 0, 13), a imagem corrompida calcula o filtro médio e o alisamento de filtro Gaussiano em várias escalas, e compara cada um em termos de remoção de ruído versus perda de detalhes. Em quantos desvios-padrão da média, um Gaussiano cai para 5 do seu valor máximo. Com base nisso, sugere um tamanho de kernel quadrado adequado para um filtro gaussiano com s. Estimar a resposta de freqüência para um filtro gaussiano por Gaussian suavizando uma imagem e tomando sua transformada de Fourier tanto antes como depois. Compare isso com a resposta de freqüência de um filtro médio. Como o tempo necessário para suavizar com um filtro Gaussiano se compara com o tempo necessário para suavizar com um filtro médio para um núcleo do mesmo tamanho Observe que, em ambos os casos, a convolução pode ser acelerada consideravelmente ao explorar determinados recursos do kernel. Referências E. Davies Visão da máquina: teoria, algoritmos e praticidades. Academic Press, 1990, pp 42 - 44. R. Gonzalez e R. Woods Processamento de imagem digital. Addison-Wesley Publishing Company, 1992, p. 191. R. Haralick e L. Shapiro Computer and Robot Vision. Addison-Wesley Publishing Company, 1992, Vol. 1, cap. 7. B. Horn Robot Vision. MIT Press, 1986, cap. 8. D. Vernon Machine Vision. Prentice-Hall, 1991, pp 59 - 61, 214. Informações locais Informações específicas sobre este operador podem ser encontradas aqui. Um conselho mais geral sobre a instalação HIPR local está disponível na seção introdutória de Informações locais.

No comments:

Post a Comment