Students
Advertisement

Transformada de Abertura

Ricardo do Rosário


Resumo[]

Este trabalho consiste em explicar como a Transformada de Abertura funciona, seu algoritmo e resultados falando um pouco da morfologia matemática e suas aplicações. Também será descrito como funcionam dois operadores básicos para a execução da transformada de abertura: erosão, dilatação e a própria abertura.

Introdução[]

Morfologia matemática trata da extração de componentes de imagens que sejam úteis na representação e descrição da forma de uma região, como fronteira ou esqueleto da mesma. As operações morfológicas dependem sempre da imagem e de um ou mais elementos estruturantes que, dependendo do elemento, determina-se a forma dos objetos que se deseja selecionar, realçar ou até mesmo excluir. Este trabalho trata de uma transformada morfológica chamada Transformada de Abertura onde um de suas aplicações é a de mapear todos os níveis possíveis de abertura a partir de um elemento estruturante crescente.

Operadores Básicos: Erosão e Dilatação[]

Para construir um filtro morfológico, são necessários 2 operadores básicos que são Dilatação e Erosão. Para a erosão, é dada uma imagem A e um elemento estruturante B onde:

E para a dilatação, e dada uma imagem A e um elemento estruturante B onde:

Existem várias maneiras de se utilizar estes operadores, porém o algoritmo usado para esta aplicação foi:

Para a dilatação:

1-Reflete-se a imagem A;
2-Percorre píxel a píxel a imagem;
3-Em cada píxel P é feito uma análise do elemento estruturante e escolhido o píxel de maior valor na imagem A;
4-Atribui-se esse valor ao píxel P;
5-Repita os passos2,3 e 4 até que seja analisado o último píxel da imagem A;

E para a erosão:

1-Percorre píxel a píxel a imagem
2-Em cada píxel P é feito uma análise do elemento estruturante e escolhido o píxel de menor valor na imagem A;
3-Atribui-se esse valor ao píxel P;
4-Repita os passos1,2 e 3 até que seja analisado o último píxel da imagem A;

Estes algoritmos valem não apenas para imagens binárias mais também para imagens em escala de cinza.


A Transformada de Abertura[]

Compondo a erosão e a dilatação, obtemos uma outra operação: a Abertura. Esta operação nos permite suavizar fronteiras de uma imagem, remover componentes menores que o elemento estruturante e quebrar ligações finas entre componentes conexos. A Transformada de Abertura nada mais é que várias aberturas sucessivas de uma imagem A utilizando um elemento estruturante B no qual a cada abertura, seus píxels vão se expandindo, criando assim uma imagem em escala de cinza no qual se tem todas as aberturas possíveis partindo deste elemento estruturante. Neste trabalho foi usado o seguinte método para o elemento estruturante variável: A cada abertura, o elemento estruturante é dilatado por ele mesmo, fazendo com que aumente de tamanho proporcionalmente a cada iteração. Foram feitos alguns testes com imagens binárias, com bons resultados. Quando se tem as operações de erosão e dilatação, criar a abertura torna-se tarefa simples, pois, tendo uma imagem A e um elemento estruturante B, basta erodir a imagem A com o elemento estruturante B gerando uma imagem A’, então se dilata a imagem A’ com o elemento estruturante B e está feita a abertura como segue a equação:

Dado um elemento A e um elemento estruturante B:


Organização do trabalho[]

Este trabalho está dividido em 4 partes. Primeiro é mostrado uma introdução á morfologia matemática e sobre o assunto principal do trabalho. Na segunda parte é apresentado os operadores básicos para execução da transformada de abertura e seus respectivos algoritmos. A terceira parte apresenta uma introdução à abertura e a transformada de abertura, para que serve, testes feitos e resultados. A quarta parte mostra o algoritmo feito em python para erosão, dilatação e transformada de abertura. E por último é feito uma conclusão sobre o trabalho apresentado e algumas referências bibliográficas.


Implementação[]

def dilata(I,E):#funcao de dilatacao de uma imagem binaria ou de 8 bits
   ...

def erode(I,E):#funcao de erosao de uma imagem binaria ou de 8 bits
   ...
   
def abertura(I,E):#funcao de abertura de uma imagem binaria ou de 8 bits

    return dilata(erode(I,E),E)

def openTransform(I,E):#transformada de abertura

    (x,y) = I.shape
    (x_,y_) = E.shape
    x2 = x_+0
    y2 = y_+0
    E2 = zeros([x_,y_])
    E2 = E+0
    res = zeros([x,y])
    res = I+0
    img1 = zeros([x,y])
    img1 = I+0
    img2 = zeros([x,y])
    aux=5
    px = 50
    while img1 != img2:

        img2 = img1+0
        img1 = abertura(img2,E2)
        for a in range (0,x,1):
            for b in range (0,y,1):
                if img1[a,b] != img2[a,b]:
                    res[a,b] = px
        x2 = x2+x_
        y2 = y2+y_
        E2 = zeros([x2-1,y2-1])
        E2[(x2/2)-(x_/2)-1:(x2/2)+(x_/2):1, (y2/2)-(y_/2)-1:(y2/2)+(y_/2):1] = E[0:x:1,0:y:1]
        E2 = dilata(E2,E)
        px = px+50
        aux = aux-1
        
    return res

Resultados[]

Bola Elemento estruturante Img Imagem a ser transformada Result Resultado da Transformada de Abertura


  • A pontuação de seu projeto será dividida da seguinte maneira:
Critério Pontos
1 Escrita técnica/científica 0,5
2 Organização do texto 0,5
3 Apresentação da transformada 1,0
4 Ilustração com equações e/ou figuras 1,0
5 Implementação 2,0
6 Escolha e apresentação da aplicação 1,0
7 Resultados das transformações 2,0
8 Análise dos resultados/conclusões 1,0
9 Quantidade e qualidade das referências 1,0

Conclusões[]

Este trabalho consistiu na análise de uma das várias transformadas existentes na morfologia matemática, bem como na criação de uma nova imagem com um grande número de informações utilizando a transformada de abertura. A operação de abertura morfológica é muito útil, já que auxilia na detecção de formas juntamente com os padrões de um elemento estruturante. A transformada de abertura é de fácil implementação, porém necessita de muito processamento, pois existem muitos comandos de repetição e a necessidade de percorrer a matriz da imagem Anxm inteira por várias vezes e a matriz da imagem estruturante n*m vezes.

Referências[]

[[1]] Apresentação Profª Juliana Fernandes Camapum - Morfologia Matemática

[[2]] Análise de Imagens por Morfologia Matemática

[[3]] Roberto de Alencar Lotufo - Análise de Imagens por Morfologia Matemática

[[4]] Apostila do Facon --Alexandre 02:34, 14 May 2007 (UTC)

Advertisement