Filtro linear de suavização

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa

Os filtros lineares de suavização, segundo Gonzalez e Woods[1], são aqueles que utilizam um algoritmo com uma função linear para realizar o procedimento de suavização, e são utilizados para borramentos e redução de ruídos. O borramento é aplicado em tarefas de pré-processamento, como a remoção de pequenos detalhes da imagem antes da extração de objetos (grandes) e conexão de pequenas descontinuidades em linhas ou curvas.

Segundo Sanches et al[2], os ruídos são quaisquer tipos de informações indesejáveis nas imagens. Eles podem ser causados por vários fatores, como a variação de brilho ou problemas na transmissão. Assim existe a necessidade de se tratar as imagens para então conseguir um melhor aproveitamento das mesmass, extraindo as principais informações relevantes para a finalidade em questão. A redução de ruídos pode ser obtida pelo borramento com um filtro linear e também pela filtragem não-linear.

Filtros Lineares de Suavização[editar | editar código-fonte]

Filtros que são aplicados a operações lineares e que podem ser analisados no domínio de Fourier ou em um domínio de frequência são chamados de filtros lineares, sendo os filtros não-lineares o oposto destes. A saída (resposta) de um filtro espacial linear de suavização, conforme Gonzalez e Woods[1], é simplesmente a média dos pixels contidos na vizinhança da máscara de filtragem. Esses filtros por vezes são chamados de filtros de média ou filtros passa-baixa e reduzem os detalhes da imagem, onde o tamanho da vizinhança da máscara determina o grau de perda desses detalhes e o grau de suavização. Os filtros passa-baixa (suavização) eliminam os componentes de alta frequência, não atuando sobre as frequências baixas.

Além do filtro da média, existem vários outros filtros que podem ser utilizados na suavização de uma imagem, cada um com suas características particulares e podendo ser utilizados para diferentes finalidades. Um exemplo é o filtro da mediana, que apesar de ser um filtro não linear, funciona muito bem, ele faz uma varredura na imagem, assim, para cada ponto da imagem, ele vai pegar uma região em torno deste ponto, então vai calcular a mediana do valor dos tons de cinza desta região e vai trocar o valor do ponto pelo valor da mediana do ponto. Este é um dos melhores filtros de suavização para eliminar ruídos preservando o contorno da imagem, principalmente em ruídos do tipo Sal e Pimenta e ruídos impulsivos, porém seu custo de execução é relativamente complexo e caro.

Acima tem-se um exemplo de como os filtros de suavização podem ser utilizados para eliminar ruídos. Observa-se que a imagem original possui muitos ruídos, porém aplicando os dois exemplos de filtros na imagem original, é possível notar que o filtro da mediana, que é um filtro não-linear de suavização, retornou um resultado visualmente melhor do que a do filtro da média, porém nem sempre o resultado visual é o mais importante, isso varia de caso para caso e depende especificamente do objetivo final pelo qual os filtros estão sendo aplicados, ou seja, é importante saber qual será a utilização da imagem após a aplicação do filtro.A figura 14 mostra dois filtros de suavização 3 x 3. A utilização do primeiro filtro gera a média aritmética simples dos pixels cobertos pela máscara. A ideia, segundo Gonzalez e Woods[1], é que é computacionalmente mais eficiente ter coeficientes com valor 1 do que 1/9. Ao final do processo de filtragem, toda imagem é dividida por 9. Uma máscara m x n teria uma constante de normalização igual a 1/m*n. Um filtro espacial de média no qual todos os coeficientes são iguais é chamado, algumas vezes, de filtro retangular (box filter).

Mascara filtro.jpg

A segunda máscara da figura 14 é um pouco mais interessante, pois ela gera a chamada média ponderada, terminologia utilizada para indicar que os pixels são multiplicados por diferentes coeficientes, atribuindo dessa forma, mais importância (peso) a alguns pixels à custa dos outros, dizem Gonzalez e Woods[1]. Nesta figura, o pixel no centro da máscara é multiplicado por um valor mais alto do que qualquer outro, atribuindo, assim, mais importância a esse pixel no cálculo da média. Os outros pixels são inversamente ponderados em função de sua distância ao centro da máscara. Os termos diagonais estão mais distantes do centro do que os vizinhos ortogonais e, portanto, têm um peso menor do que os vizinhos imediatos do pixel central. A estratégia básica por trás do processo de atribuir o maior peso ao ponto central e, depois, reduzir o valor dos coeficientes em função do aumento da distância da origem, é simplesmente uma tentativa de reduzir o borramento no processo de suavização. Poderíamos ter escolhido outros pesos para atingir o mesmo objetivo geral. No entanto, a soma de todos os coeficientes da segunda máscara é igual a 16, o que é uma característica interessante para a implementação computacional por ser um número inteiro e potência de 2. Na prática, em geral é difícil ver as diferenças entre as imagens suavizadas, utilizando uma das máscaras mostradas, ou arranjos similares, porque a área coberta por essas máscaras em qualquer posição de uma imagem é muito pequena.

A implementação geral para a filtragem de uma imagem M x N com um filtro de média ponderada de tamanho m x n (m e n ímpares), segundo Gonzalez e Woods[1], é dada pela expressão: .

Onde considera-se que a imagem completamente filtrada seja obtida aplicando a equação acima para x=0,1,2,... , M-1 e y=0,1,2,... , N-1. O denominador da equação é simplesmente a soma dos coeficientes da máscara; logo, é uma constante que só precisa ser calculada uma vez, dizem Gonzalez e Woods[1].

Exemplos da Aplicação de Filtros de Suavização[editar | editar código-fonte]

Utilizando os Filtros Lineares de Suavização[editar | editar código-fonte]

A ideia por trás dos filtros de suavização é direta. Gonzalez e Woods. explicam que, ao substituir um valor de cada pixel de uma imagem pela média dos níveis de intensidade da vizinhança definida pela máscara, o processo resulta em uma imagem com perda da nitidez, ou seja, com redução das transições “abruptas” nas intensidades. Pelo fato de o ruído aleatório normalmente consistir em transições abruptas nos níveis de intensidade, a aplicação mais evidente da suavização é a redução de ruído. No entanto, as bordas (que quase sempre são características desejáveis de uma imagem) também são caracterizadas por transições abruptas de intensidade. Uma importante utilização dos filtros de média é a redução de detalhes “irrelevantes” em uma imagem, ou seja, regiões da imagem que são menores que o tamanho da máscara utilizada na filtragem. A sequência de imagens a seguir exemplifica essa redução de detalhes "irrelevantes" para se encontrar as bordas dos principais traços da imagens:

Através das imagens a cima é possível observar uma perda de detalhes com o aumento dos pixels utilizando o filtro da média na suavização da imagem, o que deixa a imagem pior no ponto de vista visual, pois fica menos nítida, porém isso faz com que na hora de encontrar as bordas, fique somente o conteúdo principal da imagem, para que se possa trabalhar em cima deste resultado, visto que seria inviável trabalhar em cima da imagem original, que gera várias bordas por possuir tantos ruídos. Sendo assim tudo depende do problema em questão e da finalidade de se fazer a suavização para encontrar o melhor resultado para determinado caso.

Utilizando o Filtro da Média para Exemplificar[editar | editar código-fonte]

Os filtros lineares de suavização servem para remover pequenos detalhes (ruídos) de uma imagem. Quanto maior o nível de ruído a ser reduzido, maior deverá ser o tamanho do filtro a se utilizar. Abaixo poderemos visualizar dois exemplos práticos da aplicação de um filtro de média utilizando o software ImageJ. Foi feita a filtragem de uma foto predominantemente clara e outra predominantemente escura. Em ambos exemplos foi aplicado filtro de média de 15 pixels (15 x 15), podendo ser notado que, com a aplicação de um mesmo filtro, a última imagem perdeu alguns ruídos importantes (como a coleira do cachorro), mas a primeira nem tanto.

Software para Suavização de Imagens[editar | editar código-fonte]

Para elaboração dos exemplos mostrados nesta página foi utilizado o software livre Fiji, porém existem diversos softwares voltados para a suavização de imagens que podem ser utilizados para se conseguir o resultado desejado.

Referências[editar | editar código-fonte]

  1. a b c d e f GONZALEZ, Rafael C. WOODS, Richard C. Processamento Digital de Imagens. 3ªed. São Paulo: Pearson Prentice Hall, 2010
  2. Sanches, Carlos; Paulo J. Fontoura, Phillypi F. Viera, Marcos A. Batista. [chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/http://eati.info/eati/2015/assets/anais/Longos/L2.pdf «Técnicas de Suavização de Imagens e Eliminação de Ruídos»] Verifique valor |url= (ajuda) (PDF). Anais do EATI -Encontro Anual de Tecnologia da Informaçãoe Semana Acadêmica de Tecnologia da Informação. Consultado em 7 de junho de 2016