quarta-feira, 19 de março de 2008

Morfologia matemática

Vou apresentar uma técnica em processamento digital de imagens que está "na moda" aqui na UFC: a Morfologia Matemática.

A morfologia tem várias aplicações, por exemplo:
  • Filtragem em imagens binarizadas;
  • Redimensionamento de objetos;
  • Evidenciamento de regiões.
As imagens a seguir ilustram a aplicação das 2 formas de morfologia matemática (erosão e dilatação):

Figura 1: Imagem original.Figura 2: Imagem após ser convertida para níveis de cinza e, em seguida, dilatada.Figura 3: Imagem após ser convertida para níveis de cinza e, em seguida, erodida.

[As imagens foram processadas pelo GIMP - GNU Image Manipulation Program.]

Antes de explicar como a morfologia é implementada, faz-se necessário definir o que é o elemento estruturante.
Elemento estruturante: sub-domínio sobre a imagem cuja forma é definida de acordo com a necessidade e possibilidade do problema.

Para exemplificar, tomemos uma imagem Img, então definimos um elemento estruturante quadrado de lado igual a 3 pixels.

Então o sub-domínio define os seguintes pontos em torno de um ponto genérico (x,y): Strc(Img(x,y)) = {Img(x-1,y-1), Img(x-1,y), Img(x-1,y+1), Img(x,y-1), Img(x,y), Img(x,y+1), Img(x+1,y-1), Img(x+1,y), Img(x+1,y+1)}.

Os elementos estruturantes podem tomar qualquer forma, sendo as mais usadas:
  • Quadrado;
  • Círculo;
  • Cruz;
  • Traço (diagonal, vertical ou horizontal);
  • Losango.

A dilatação consiste na aplicação de um filtro de máximo sobre a imagem.
Img(x,y) = max{Strc(Img(x,y))}

A erosão consiste na aplicação de um filtro de mínimo sobre a imagem.
Img(x,y) = min{Strc(Img(x,y))}

A combinação de erosões e dilatações seguidas e/ou alternadas gera as operações de abertura e fechamento, estas por sua vez podem ser simétricas (usando o mesmo elemento estruturante tanto na erosão quanto na dilatação) ou assimétricas (caso contrário).

Nenhum comentário: