Home O que são Filtros Tipos de Filtros Convolução Digital Tutorial Sobre o Programa e o Autor

Matriz Máscara do Filtro

3x3-----5x5-----7x7

Lista de Filtros

Colorido Preto e Branco

O que são Filtros

A filtragem espacial é uma técnica usada em processamento de imagens.
O principal objetivo dela é fazer uma transformação da imagem digitalizada pixel a pixel de modo que a imagem resultante seja mais adequada que a imagem original para uma aplicação específica. Ressaltando que o "mais adequado" é subjetivo.
Para fazer isso, o processo utiliza os valores númericos da intensidade de cor que os pixeis possuem. Uma imagem digital pode ser representada como uma matriz, onde cada elemento da matriz é representado por um valor da intensidade da escala de cores de cada pixel. Numa imagem preto e branco, por exemplo, o valor da intensidade de cinza dentro de cada pixel pode variar de 0 a 255, sendo o zero o valor mais escuro (preto) e 255 o valor mais claro (branco). Esses valores representados de cada pixel em uma sequência formam a imagem digital que visualizamos em um monitor.
Labrador pixelado representado por uma matriz em escalas de cinza
Já em uma imagem colorida, cada pixel possui três valores de intensidade para as cores que colorem os pixeis: os valores RGB (red, green, blue), que indicam a quantidade de vermelho, verde e azul que um pixel tem, logo, a imagem colorida digital pode ser interpretada como uma matriz de vetores com três elementos, ou, três matrizes que guardam as informações daqueles pixeis.
Labrador pixelado representado por uma matriz em RGB
Filtros espaciais utilizam uma matriz máscara, também conhecido como kernel, para realizar a filtragem. Um filtro pode ser Linear ou não-linear.
Filtro Linear: Pondera o valor da imagem durante o processamento.
Filtro Não-Linear: Não pondera o valor da imagem durante o processamento.


Tipos de Filtros

Existem diversos tipos de máscaras conhecidas e utilizadas para diferentes objetivos.
O tamanho das máscaras (kernel) e os valores de seus parâmetros determinam o tipo de filtragem que será produzido na imagem de saída.
Eles podem ser: filtros de suavização, filtros de realce e detectores de bordas.


Os filtros de suavização são usados para redução de ruídos, dando um leve borramento à imagem que atenua falhas em formatos de pontos, linhas, curvas ou descontinuidades da imagem digital.
Como pode ser visto na imagem da Lenna abaixo:
Imagem da Lenna Original e Suavizada
Os filtros de realce tem como objetivo destacar as transições de intensidade da imagem. Recuperando as linhas de contraste dentro de imagem, podendo, por vezes, serem agregadas à imagem original para ajustar estas linhas. Perceba como os pelos do animal ficam mais evidentes na imagem realçada abaixo:
Imagem de um labrador. Original e Realçada.
Os filtros detectores de bordas, assim como os de realce, exibem com muita clareza as diferenças entre as transições de intensidade de uma imagem, entretanto, eles destacam totalmente essas linhas, ignorando as cores de fundo e mostrando apenas os contornos da imagem. Veja abaixo:
Imagem de uma floresta. Original e usando Sobel-x

Convolução Digital

A filtragem de imagens utiliza a técnica de convolução digital para processar a imagem resultado a partir da imagem de entrada e a da máscara.

Uma matriz denominada máscara (kernel) é usada para convoluir com a imagem digital, servindo como o núcleo de convolução e gerando uma terceira matriz que será a imagem filtrada. Existem vários tipos conhecidos e utilizados de matrizes máscaras para realização da filtragem no domínio espacial, cada uma delas aproximando um efeito de filtragem esperado para a imagem. Elas geralmente têm um tamanho de linhas e colunas que varia entre 3x3 a 7x7.



A convolução é uma operação de somatório do produto entre duas funções, ao longo da região em que elas se sobrepõem, em razão do deslocamento existente entre elas.
Por isso, ela é a ferramenta usada para processar a filtragem. Afinal, temos duas matrizes que irão combinar seus elementos utilizando os valores dentro de ambas. A matriz imagem e a matriz da máscara.
Matriz Imagem, Matriz máscara e Matriz resultado
O processo se dá da seguinte forma:
A matriz da máscara percorre a imagem de entrada fazendo a operação de convolução pixel a pixel, gerando uma imagem de saída. Ela sobrepõe o pixel no qual opera e utiliza os valores dos pixeis vizinhos a ele para o cálculo.
Cálculo da Convolução
Quando o pixel em que opera é um valor da borda da imagem de entrada, os valores dos vizinhos inexistentes são considerados nulos. Dependendo da maneira como a filtragem é construída, os pixeis próximos às bordas não são recalculados, apenas repetidos.
Cálculo nas bordas
No caso de uma imagem colorida, que possui três canais de intensidade de cores, o máscara faz o cálculo em cima de cada um dos valores de intensidade, ou opera em cima de apenas um dos valores RGB, conforme opção de uso.



Tutorial

Para usar este programa, tudo o que você precisa é carregar uma imagem para a área de exibição, ajustar os elementos da matriz da máscara, usar os controles deslizantes para ver o resultado e comparar com a imagem original. Você pode também pode baixar a imagem filtrada após o processo.



Use o botão Escolher arquivo para carregar a imagem para a área de exibição.
A imagem se ajustará ao tamanho da área de exibição se o tamanho da largura ou da coluna ultrapassar 750 pixeis, entretanto, ao baixar, o resultado o tamanho original será mantido.



Use o botão Baixar Imagem Filtrada para fazer o download do resultado.
O formato da imagem filtrada será na extensão PNG.



Use os controles deslizantes horizontal e vertical ao redor da imagem para comparar o antes e depois da filtragem.
Imagem exibindo controle deslizatente horizontal Imagem exibindo controle deslizatente vertical


Use a matriz máscara para filtrar a imagem. O processo ocorre automaticamente ao mudar qualquer elemento da matriz. Você também pode ajustar o tamanho de linhas e colunas entre 3x3, 5x5 e 7x7.
Tamanhos possíveis da máscara

Use a entrada de valor abaixo da máscara para operar sobre todos os elementos da máscara de uma só vez. Se quiser zerar a máscara, basta multiplicar por zero, por exemplo.



Você pode querer ver o resultado em preto e branco ou colorido. Para tanto use a checkbox da lista de filtros.
Lembrando que, o resultado de alguns filtros não opera muito bem dependendo dessa escolha. Faça os testes.



A lista de filtros contém alguns dos filtros mais comuns da literatura.
Clique no nome de algum deles para trazer os valores dele para máscara.



Desejo um bom uso da ferramenta!


Sobre o Programa e o Autor

Esta ferramenta foi criada para auxiliar no ensino e aprendizado de filtragem espacial e convolução digital dos cursos de processamento Digital de Imagens.
Pretendo continuar aperfeiçoando esta ferramenta. Já tenho algumas boas mudança em mente para ela.
Filtros Espaciais - versão: 1.1



Foto do autor
Olá, meu nome é Anderson Benício!
Sou bacharel em Ciência e Tecnologia e engenheiro da computação, ambas as formações pela Universidade Federal do Rio Grande do Norte (UFRN),
Gosto das áreas de desenvolvimento de software e processamento de imagens.
Moro atualmente no Brasil e estou sempre criando coisas novas.

Este é o meu GIT: https://github.com/andyrodrigo
Meu LinkedIn: https://www.linkedin.com/in/anderson-benicio/

Caso queria entrar em contato meu e-mail é:
andyrodrigo2@gmail.com