Filtro não linear

Origem: Wikipédia, a enciclopédia livre.

Filtros não lineares apresentam grandes vantagens em relação aos filtros lineares como remoção de ruído e suavização mais seletiva em relação aos pixels, bordas, linhas e pequenas estruturas nas imagens. O que difere dos filtros lineares é que os valores dos pixels utilizados nesses filtros são combinados com alguma função não linear[1]. Existem diferentes filtros não lineares incluindo filtros morfológicos em escala de cinza e imagens binárias incluindo detecção de quinas. São os mais utilizados para detecção de bordas, realce e suavização na imagem. Os filtros mais comuns da categoria são o mínimo e máximo para eliminar ruídos como sal e pimenta, mediana, moda, mediana ponderada e variância. São filtros mais custosos computacionalmente do que os filtros lineares não significando que são melhores, depende de cada cenário para a aplicação dos filtros.

Filtros mínimo e máximo.[editar | editar código-fonte]

Os filtros mínimo e máximo dão ênfase nos valores mínimos e máximos dentro da região respectivamente. São definidas como:

Em que R, significa a região onde a sub janela (normalmente uma região quadrada de 3x3 pixels).

O operador mínimo ou máximo é executado na região de cada pixel da imagem. A ilustração abaixo demonstra como os pixels são escolhidos a partir dos operadores mínimo e máximo.

Ilustração dos valores escolhidos dos filtros mínimo e máximo.

As imagens abaixo mostra os filtros mínimo e máximo aplicadas sobre uma imagem corrompida com ruída do tipo sal e pimenta. No filtro mínimo os ruídos brancos (sal) são todos eliminados, já no filtro máximo os ruídos pretos (pimenta) são todos eliminados.

Ficheiro:LennaNoise.jpg
Imagem original.
Ficheiro:LennaMin.jpg
Filtro mínimo.
Ficheiro:LennaMax.jpg
Filtro máximo.

Filtro mediana[editar | editar código-fonte]

O filtro mediana é muito utilizado para eliminar ruídos. É definido como:

Em que R, significa a região onde a sub janela (normalmente uma região quadrada de 3x3 pixels).

Para cada pixel da imagem, o operador mediana é executada em uma determinada região. Assim como o filtro mínimo e máximo, a mediana não cria algum valor diferente como resultado, estes apenas trabalham com os valores da janela. A ilustração abaixo demonstra como o operador mediano atua na sub janela, e assim o valor da operação é o resultado do pixel.

Ilustração de como computar a mediana da região.

Quando a imagem está corrompida com o ruído sal e pimenta, o filtro mediana consegue consegue corrigir. O filtro trabalha muito bem com ruídos porque estes ruídos tendem estar longe da média, assim se tornando um outlier. As imagens abaixo mostra o resultado do filtro mediana de uma região 3x3 sob o ruído de sal e pimenta.

Ficheiro:LennaNoise.jpg
Imagem original.
Ficheiro:LennaMedian.jpg
Filtro mediana

Filtro variância[editar | editar código-fonte]

Computa a variância da região e o resultado é valor do pixel. O filtro destaca a variância do local, podendo ser em escala de cinza e em imagens coloridas. O filtro variância também é utilizado como detector de bordas[2]. É definido como:

Em que R, significa a região onde a sub janela (normalmente uma região quadrada de 3x3 pixels).

A imagem abaixo demonstra a aplicação do filtro variância para a detecção de bordas.

Ficheiro:LenaGray.jpg
Imagem original.
Ficheiro:LennaVar.jpg
Filtro variância.

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

  1. Burger, Wilhelm; Burge, Mark J. (14 de novembro de 2009). Digital Image Processing: An Algorithmic Introduction Using Java (em inglês). [S.l.]: Springer Science & Business Media. ISBN 9781846289682 
  2. Fabijańska, A. (1 de maio de 2011). «Variance filter for edge detection and edge-based image segmentation» (PDF). 2011 Proceedings of VIIth International Conference on Perspective Technologies and Methods in MEMS Design (MEMSTECH): 151–154