Sei sulla pagina 1di 32

CAPTULO 3

Morfologia Matemtica

Contriburam:

Agnaldo Izidoro de Souza, Cleiton Almeida dos Santos

O que Morfologia Matemtica ?


O estudo morfolgico concentra-se na estrutura geomtrica das imagens. A morfologia pode ser aplicada em diversas reas de processamento de imagens, como realce, filtragem, segmentao, esqueletizao e outras afins. Morfologia a forma e estrutura de um objeto ou os arranjos e inter-relacionamentos entre as partes de um objeto. Os mais antigos usos desta palavra esto relacionados com linguagem e biologia. Em lingstica, morfologia o estudo da estrutura das palavras. Em biologia, morfologia esta relacionada mais diretamente forma de um organismo. A forma de uma folha pode ser usada para identificar uma planta ou a forma de uma colnia de bactrias pode ser usada para identificar sua variedade. Morfologia digital um caminho para descrever ou analisar a forma de um objeto digital. A morfologia digital uma cincia relativamente recente, pois s os computadores digitais permitiram seu uso na pratica. Por outro lado os matemticos a consideram uso da teoria de conjuntos que uma area bem estudada. A idia de morfologia digital que uma imagem consiste de um conjunto de "picture elements" (pixels) que so reunidos em grupos tendo uma estrutura bidimensional (forma). Certas operaes matemticas em conjuntos de pixels podem ser usadas para ressaltar aspectos

Introduo Viso Computacional

49

CAPTULO 3.Morfologia Matemtica

especficos das formas permitindo que sejam contadas ou reconhecidas. A base da morfologia consiste em extrair de uma imagem desconhecida a sua geometria atravs da utilizao da transformao de uma outra imagem completamente definida, seja, consiste em extrair as informaes relativas a geometria e a topologia de um conjunto desconhecido (no caso uma imagem) pela transformao atravs de outro conjunto bem-definido, chamado elemento estruturante. Com isso torna importante ao contexto a utilizao de teoria dos conjuntos, pois esta a base utilizada na morfologia, assim com esta teoria que ser descrita e apresentada uma imagem. Por exemplo a definio de um vetor bidimensional onde ser exposta as coordenadas (x, y) para sua representao grfica. As operaes bsicas da morfologia digital so a eroso, em que pixels que no atendem a um dado padro so apagados da imagem, e dilatao, em que uma pequena area relacionada a um pixel alterada para um dado padro. Todavia, dependendo do tipo de imagem sendo processada (preto e banco, tons de cinza ou colorida) a definio destas operaes muda, assim cada tipo deve ser considerado separadamente.

Tipos de Operaes Morfolgicas


Operaes morfolgicas esto divididas em operaes morfolgicas binrias e operaes morfolgicas sobre imagens coloridas ou de tons de cinza. H uma diferena de enfoque nos dois grupos. Operaes morfolgicas binarias so definidas em imagens com pixels pretos e brancos somente. Um objeto considerado ser um conjunto matemtico de pixels pretos, cada pixel identificado pelos seus ndices de linha e coluna sendo chamado de um ponto no espao bidimensional (E2 ). Ex. A= {(1,1),(3,3),(7,3)}. Aqui um pixel ser, quando for afetado por uma operao, substitudo pelo seu valor oposto. Nas operaes morfolgicas sobre imagens com tons de cinza ou cores, as operaes de conjunto realizadas no implicam na retirada ou incluso de um pixel (substituio de seu valor por preto ou branco), mas sim na modificao parcial de seu valor.

50

Aldo von Wangenheim

Teoria dos Conjuntos

Organizao deste Captulo


Antes de conhecer as operaes bsicas da morfologia binaria precisamos rever algumas definies bsicas com conjuntos matemticos. Imagens com nveis de cinza sero representados em vetores de 3 elementos, sendo os dois primeiros coordenadas do pixel e o terceiro o do tom de cinza. Assim ser feito um estudo superficial na teoria do conjuntos, pois no e o escopo deste captulo fazer um amplo estudo sobre conjuntos, mas somente dar uma noo da utilizao na morfologia para seu entendimento. Aps estes conceitos matemticos sero explanados os conceitos bsicos e fundamentais da morfologia que a dilatao a eroso e seus correlatos pois entende-se que estes sejam um dos principais pontos da morfologia. Em segundo nvel sero visto o funcionamento dos algoritmos de abertura e fechamento, para assim fechar os principais mtodos morfolgicos, pois qualquer algoritmo de processamento de imagens podem ser descrito com essas combinaes e correlatas. Aps o entendimento destas definies bsicas que e a base da morfologia ser incorporado ao trabalho vrios algoritmos morfolgico como (limiarizao, erro e acerto, engorda, emagrece e outros . Concluindo ser feito um estudo sobre morfologia em tom de cinza , com isso pretende-se dar uma noo geral das principais formas de morfologia e suas aplicaes no contexto de processamento digital de imagens.

Teoria dos Conjuntos


Conjunto como prprio nome diz e uma coleo de objetos sem repetio. Se um conjunto no e muito grande, este pode ser descrito listando-se os seus elementos em qualquer ordem por exemplo: A = {1 , 2 , 3 , 4} Se um conjunto e muito grande ou infinito, este pode ser descrito atravs de propriedades requeridas de seus membros:

Introduo Viso Computacional

51

CAPTULO 3.Morfologia Matemtica

X = {x| x e um n inteiro, positivo e par} x X , se x esta em X, caso contrario x X. Exemplos: Se A= {x| x2 + x 6 = 0} e B={2, -3} ento A = B Se C={1, 3} e A = {1 , 2 , 3 , 4} ento C e um subconjunto de A.

Combinao de Conjuntos
Sejam dois conjuntos X e Y: UNIO A unio de dois conjuntos X e Y o conjunto de elementos que pertencem ou X ou Y ou ambos: X Y = { x | (x X) ou (x Y)} Exemplo: Considere dois conjuntos A = { 1, 3 , 5} e B = {4 , 5 , 6} A B = {1, 3 , 4 , 5 , 6} INTERSEO A interseo de dois conjuntos X e Y o conjunto de elementos pertencentes a ambos X e Y: X Y = { x | (c X) e (x Y)} Exemplo: Considere dois conjuntos A = { 1, 3 , 5} e B = {4 , 5 , 6} ento A B = {5} DIFERENA A diferena entre os conjuntos X e Y o conjunto de elementos que pertencem a X mas no pertencem a Y: ento

52

Aldo von Wangenheim

Teoria dos Conjuntos

X Y = { x | (x A) e (x B)} Exemplo: Considere dois conjuntos A = { 1, 3 , 5} e B = {4 , 5 , 6} ento A - B = {1 , 3} B - A = {4 , 6} COMPLEMENTO O complemento do conjunto X o conjunto dos elementos no pertencentes ao conjunto X. Se nos pensarmos em imagem este poderia corresponder aos pixels brancos na figura ou na linguagem da teoria dos conjuntos: Ac ou X = {x | x X} Exemplo: Seja o conjunto V = { 1 , 2 , 3 , 4 , 5} e A = {1 , 3 , 5} ento A = {2 , 4} e o complemento de A em relao a V. DISJUNO So disjuntos quando no existem elementos comuns entre eles. X Y = 0 ento X e Y so disjunto. Exemplo: Seja o conjunto A = { 1 , 4 , 5} e B = {2 , 6} ento A e B so disjuntos. TRANSLAO A translao do conjunto X pelo ponto x definida, em notao de conjuntos, como: X = { y | y = a + x, x X} Exemplo:

Introduo Viso Computacional

53

CAPTULO 3.Morfologia Matemtica

Seja o conjunto X = {1 , 2} ento todos os pixels da imagem sero movidos uma coluna para a direita e duas linhas para baixo conforme exemplificado abaixo com uma imagem:
Figura 3.1.

Translao

REFLEXO A reflexo do conjunto X definida como: X = { y | y = -x, x X}


Figura 3.2.

Esta uma rotao de 180o sobre a origem

Original

Refletida

Operaes Bsicas da Morfologia Matemtica


A Morfologia Matemtica se caracteriza por um conjunto especfico de operaes sobre imagens enquanto conjuntos de pixeis. Podemos dividi-las em operaes realizadas sobre imagens binrias e operaes realizadas em imagens em tons de cinza e coloridas. Comearemos examinando as operaes sobre imagens binrias. Para cada operao binria existe uma correspondente para tons de cinza e imagens em cores.

54

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

Dilatao Binria ()
A dilatao, tambm as vezes chamada de dilao, uma transformao morfolgica que combina dois conjuntos usando adio vetorial. Seu smbolo . Como o nome diz, o resultado ser uma imagem engordada. A dilatao de um conjunto A pelo conjunto B e definida por: AB={c|c=a+b,aA,bB} Onde A representa a imagem sendo operada e B um segundo conjunto onde chamado elemento estrutural e sua composio define a natureza especifica da dilatao, sendo assim a dilatao expande uma imagem. Ela pode ser representada pela unio A B = B. Seja o conjunto A = { (0,1) , (1,1) , (2,1) , (2,2) , (3,0)} e B = {(0,0) , (0,1)} ento o resultante da dilatao e : A B = {A + {(x1 B)} A + {(x2 B)} A B = { (0,1) , (1,1) , (2,1) , (3,0) , (0,2) , (1,2) , (2,2) , (2,3) , (3,1)}
Figura 3.3.

Exemplo: A B

A = { (0,1) , (1,1) , (2,1) , (2,2) , (3,0)} =

B = {(0,0) , (0,1)} = A B = { (0,1) , (1,1) , (2,1) , (3,0) , (0,2) , (1,2) , (2,2) , (2,3) , (3,1)} =

logo: A B = [A+ {(0,0)}] [A + {(1,0)}] resulta em: A B = {(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)}

Introduo Viso Computacional

55

CAPTULO 3.Morfologia Matemtica

O pixel marcado com um x representa a origem (0,0) de cada imagem. A localizao da origem muito importante; no exemplo anterior se a origem do conjunto B fosse o pixel da direita, {(1,0),(0,0)}, a dilatao acrescentaria pixels a esquerda na imagem A. Pode-se visualizar todo o processo da melhor forma graficamente:
Figura 3.4.

Seqncia de passos na Dilatao de A por B

A + {(0,0)} = {(1,1),(1,2),(2,1),(2,2)} = (1,1) + (0,0) = (1,1) (1,2) + (0,0) = (1,2) (2,1) + (0,0) = (2,1) (2,2) + (0,0) = (2,2) A + {(1,0)} = {(2,1),(2,2),(3,1),(3,2)} = (1,1) + (1,0) = (2,1) (1,2) + (1,0) = (2,2) (2,1) + (1,0) = (3,1) (2,2) + (1,0) = (3,2) A B = {(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)} =

A Figura 3.5. mostra mais dois exemplos de dilatao binria que devem esclarecer quaisquer dvidas que ainda persistam.

Eroso Binria ()
A eroso basicamente encolhe uma imagem e pode ser vista como uma transformao morfolgica que combina dois conjuntos usando vetores de subtrao. Ela expressa como a interseo de A e B. Assim e definido A B = B A. A eroso da imagem A pelo elemento estrutural B pode ser definida como: A B = ( x | x + b A para todo b B)

56

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

Figura 3.5.

Mais dois exemplos de dilatao binria

Exemplo 1:

A=

B=

AB=

Exemplo 2: A= B= AB=

A={(1,1),(1,2),(2,1),(2,2)} B={((-1,0),(0,-1),(0,1),(1,0)} A B = [A+ {(-1,0)}] [A+ {(0,-1)}] [A+ {(0,1)}] [A+ {(1,0)}] A+ {(-1,0)} = {(0,1),(0,2),(1,1),(1,2)} A+ {(0,-1)} = {(1,0),(1,1),(2,0),(2,1)} A+ {(0,1)} = {(1,2),(1,3),(2,2),(2,3)} A+ {(1,0)} = {(2,1),(2,2),(3,1),(3,2)} A B = {(0,1),(0,2),(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3),(3,1),(3,2)}

ou A B = { c | B A } definio de Matheron (1967). Assim define-se que a eroso e o conjunto de todos os pixels, e o elemento estruturante B e transladado pelo c corresponde a um conjunto de pixel em A. Podemos visualizar a eroso atravs do exemplo dado a seguir. Assim verifica-se que cada elemento de B e um elemento de A ou seja B esta contido em A. A Figura 3.7. mostra mais alguns exemplos de eroso binria.

Introduo Viso Computacional

57

CAPTULO 3.Morfologia Matemtica

Figura 3.6.

Exemplo de eroso binria

A=

B=

AB=

O conjunto A B o conjunto de translaes de B que alinham B sobre o conjunto de pixels pretos em A. Isso Significa que nem todas as translaes necessitam ser consideradas, mas somente aquelas que inicialmente localizam sua origem de B em um membro de A. Existem quatro dessas translaes: B(1,1) = {(1,1),(2,1)} Como os pixels (1,1) e (2,1) so pretos na imagem A. O pixel (1,1) no resultado ser preto. B(1,2) = {(1,2),(2,2)} Como os pixels (1,2) e (2,2) so pretos na imagem A. O pixel (1,2) no resultado ser preto. B(2,1) = {(2,1),(3,1)} Como o pixel (3,1) no preto na imagem A. O pixel (2,1) no resultado no ser preto.r B(2,2) = {(4,4),(5,4)} Como o pixel (5,4) no preto na imagem A. O pixel (4,4) no resultado no ser pretor

A B = { (1,1) | B(1,1) A} { (1,2) | B(1,2) A} =

58

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

Figura 3.7.

Outros exemplos de eroso binria

Exemplo 1:

A=

B=

AB=

A={(1,1),(3,3),(3,4),(4,3),(4,4)} B={(0,0),(0,1),(1,0),(1,1)} B(1,1) = {(1,1),(1,2),(2,1),(2,2)} B(3,3) = {(3,3),(3,4),(4,3),(4,4)} B(3,4) = {(3,4),(3,5),(4,4),(4,5)} B(4,3) = {(4,3),(4,4),(5,3),(5,4)} B(4,4) = {(4,4),(4,5),(5,4),(5,5)} A B = { (3,3) | B(3,3) A}

Exemplo 2:

A=

B=

AB=

A={(3,3),(3,4),(4,3),(4,4)} B={(-1,0),(0,-1),(0,1),(1,0)} B(3,3) = {(2,3),(3,2),(3,4),(4,3)} B(3,4) = {(2,4),(3,3),(3,5),(4,4)} B(4,3) = {(3,3),(4,2),(4,4),(5,3)} B(4,4) = {(3,4),(4,3),(4,5),(5,4)} AB=

Exemplo 3:

Introduo Viso Computacional

59

CAPTULO 3.Morfologia Matemtica

Dualidade entre Dilatao e Eroso


A eroso no o inverso da dilatao, somente em alguns casos de eroso isso ocorre. Eroso e dilatao so duais no seguinte sentido: ( A E )c = Ac Isso significa que o complemento de uma eroso o mesmo que uma dilatao do complemento da imagem pelo elemento estrutural refletido. Quando os operadores so dual de outros, estes meios que um pode ser escrito em termos de um outro. Dilatao e eroso so relatados em seguida . Se B denota a reflexo de B. ( A E ) = A E ( A E ) = A E Em outras palavras, dilatao a primeiro plano esta a mesmo como eroso a plano fundo, mas o elemento estruturante reflete entre estas elas. Igualmente, eroso a plano fundo e dilatao a primeiro plano.

Usando Dilatao e Eroso


Suponha que voc queira achar todos pixels do um limite de um objeto. Nos poderamos executar a seguinte operao: BoundEXT A = (A E) - A
Figura 3.8.

Exemplo de um detetor de bordas externas usando morfologia matemtica binria

(A E)

A = (A E) - A

Onde B tem uma matriz 3X3 como elemento estruturante contando todos 1s. Isto iria dar todos pixel que limitam o objeto. Ou se quisermos todos os pixels que limitam o pano fundo, nos usariamos,

60

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

com isso e possvel extrair contorno de um conjunto A, executando uma eroso de A por E , ento calculando a diferena entre A e sua eroso: BoundINT A = {A - (A E)} Onde E um elemento estruturante adequado.
Figura 3.9.

Exemplo de um detetor de bordas internas usando morfologia matemtica binria

(A E)

A = {A - (A E)}

Dilatao Condicional ( | I )
Condicional de Dilatao essencialmente envolve a dilatao de uma imagem seguida por uma interseo com alguma outra condio da imagem. Em outras palavras novos pixels so adicionados ao original. Deste modo a imagem viria a ser uma mascara sobre a dilatao. Isto e escrito como: A | I B = ( A B) I Aqui isto e um exemplo de como podemos usar condicional de dilatao. Suponha que antes de aplicar certo operador morfolgico para achar um ponto especifico na imagem nos queremos achar o componente conectado original dentro deste ponto. Na essncia , nos queremos crescer este ponto fora para encher o componente conectado original. Um obvio modo iria ser para combinar o componente conectado rotulando com operador morfolgico, entretanto voc pode fazer isto com o condicional de dilatao.

Introduo Viso Computacional

61

CAPTULO 3.Morfologia Matemtica

A | I B = ( A B) I
Figura 3.10.

Exemplo de dilatao condicional.

( A B)

I = Outra condio imagem

A | I B = ( A B) I

Gradiente Morfolgico
Esta operao e composta de trs outras operaes bsicas da morfologia: a dilao, eroso e a subtrao e definida da seguinte forma: X = ( A B) (A B) onde: A a imagem original e B o elemento estruturante Uma importante aplicao do gradiente e para achar a fronteira.
Figura 3.11.

Deteo de bordas com gradiente morfolgico binrio

( A B)

(A B)

X = ( A B) (A B)

Abertura (Opening )
A abertura em geral suaviza o contorno de uma imagem, quebra estreitos e elimina proeminncias delgadas, a operao de abertura e usada tambm para remover rudos da imagem. A abertura de um conjunto A por elemento estruturante B e denotado A B e definida como: A B = (A B) B

62

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

A aplicao de uma eroso imediatamente seguida de uma dilatao usando o mesmo elemento estrutural uma operao de abertura, ela tende a abrir pequenos vazios ou espaos entre objetos prximos numa imagem. Ou seja em outras palavras uma abertura e uma eroso seguida de uma dilatao usando um mesmo elemento estruturante, relembrando que a eroso acha todos os lugares onde o ajuste do elemento estruturante esta dentro a imagem, mas isto somente marca esta posio a origem de um elemento. Porm seguinte uma eroso por uma dilatao, nos enchemos de brancos os lugares onde o ajuste do elemento estruturante estiver dentro do objeto. Na abertura podem se considerar para ser a unio de todos copias traduzidos de um ajuste elemento estruturante que possam estar dentro do objeto. A B = (A B) B
Figura 3.12.

Exemplos de uma abertura. Observe-se que as sujeiras ao redor de A foram eliminadas.

A=

B=

AB=

(A B) B =

Fechamento (Closing)
O fechamento funde pequenos quebras e alargas golfos estreitos elimina pequenos orifcios, se uma abertura cria pequenos vazios na imagem, um fechamento ir preencher ou fechar os vazios, estas operaes podem remover muitos dos pixels brancos com rudos, ou seja basicamente ele e igual a abertura s que primeiramente e feita a dilatao e aps e feita a eroso assim ela se define como: A B = (A B) B Em outras palavras o fechamento trabalha de um modo oposto ao mtodo abertura, onde ela remove todos os pixels onde o ajuste do elemento estruturante no esta dentro da imagem (primeiro pano), fechamento

Introduo Viso Computacional

63

CAPTULO 3.Morfologia Matemtica

enche todos os lugares onde o elemento estruturante no iria ajustar na imagem (pano fundo). Entretanto operaes inversas, abertura e fechamento no iro estabelecer a imagem original. A B = (A B) B
Figura 3.13.

Dois exemplos de fechamento. Observe-se que o furo em diagonal em A no exemplo 1 foi eliminado.

B= A=

AB=

(A B) B =

Exemplo 2:

Propriedades da Aplicao Conjunta de Abertura e Fechamento


Dualidade entre Abertura e Fechamento Abertura e dual a fechamento. (A B) = A B

64

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

Uma eroso pode ser implementada usando uma dilatao e vice versa, abertura pode ser implementada usando um fechamento e vice-versa. Idempotncia entre Abertura e Fechamento Uma importante propriedade de operadores abertura e fechamento que eles so idempondente, ou seja se voc aplicar mas de uma vez, nada muda antes da primeira aplicao, ou seja: ABB=AB ABB =AB

Acerto e Erro (Hit and Miss)


Nos podemos combinar eroso e dilatao para produzir um operador que tem uma ao como esta: acerto e erro . O operador leva dois elementos o primeiro e o acerto e o outro e o erro. O operador definido como o segue, se o elemento estruturante J(acerto) e K(erro) so aplicados a imagem A: A (J , K) = (A J) (A K) A (J , K) = (A J) (A K) Em outras palavras o elemento estruturante J deveria ajustar dentro do objeto e o elemento K deveria ajustar fora do objeto nesta posio.Este forma de modelo binrio e inicializado. Por exemplo o seguinte elemento estruturante dado, para detectar os cantos:
Figura 3.14.

Dois elementos estruturantes para utilizao com hit & miss para encontrar a borda superior direita de um objeto.

J elemento estruturante

K elemento estruturante

Introduo Viso Computacional

65

CAPTULO 3.Morfologia Matemtica

O elemento J acha os pontos com correo a esquerda e abaixo do vizinho, e o K acha os pontos superior a direita do vizinho. Esta forma talvez seja a mais usada para visualizar qual e elemento estruturante e designado. Aplica-se diferente operadores um de acerto e outro de erro. Exemplo: A (J , K) = (A J) (A K)
Figura 3.15.

Resultado da aplicao de hit & miss para determinar a borda superior de um objeto. O exemplo 2 mostra a deteco de cantos.

AJ

A K

A (J , K) =

Exemplo 2:

66

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

Engorda e Emagrecimento (thickening/thinning)


Nos podemos usar operador erro e acerto para achar pontos especficos, somando ou removendo para o objeto. Se nos acharmos tal pixel e adicionarmos para o objeto ento constitumos um operador de engorda (thickening): A (J , K) = A (A (J , K) )

Figura 3.16.

Thickening

A (J , K)

(J , K) = A (A (J , K) )

Se removermos Similarmente nos achamos um operador de emagrecimento (thinning): A


Figura 3.17.

(J , K) = A - (A (J , K) )

Thining

A (J , K)

(J , K) = A - (A (J , K) )

Outra expresso para o afinamento ou emagrecimento de A baseada em uma sequncia de elementos estruturantes: B = {B1, B2, B3, B4, ... BN}

Introduo Viso Computacional

67

CAPTULO 3.Morfologia Matemtica

Em outras palavras , o processo consiste em afinar A por um passo com B1, ento afinar o resultado com o passo B2, e assim sucessivamente, at que A seja o afinado com um passo de Bn. O processo todo e repetido at que no ocorram outras mudanas.

Esqueletonizao
Uma abordagem importante para representar a forma estrutural de uma regio plana e reduzi-la a um grafo. Este reduo pode ser implementada obtendo a esqueletonizao da regio atravs de um algoritmo. Existem vrios algoritmos para essas transformaes um dele e o MAT (Medial Axis Transformation) proposto por Blum e definada como " A MAT de uma regra R com fronteira B e obtida da seguinte forma: Para cada ponto p em R, encontra-se seu vizinho mais prximo em B. Se p tem mais de um vizinho a mesma distancia mnima, diz-se que p pertence ao eixo mdio de R.". Outra forma de obter a esqueletonizao e atravs de tcnicas morfolgicas. Atravs de eroso e aberturas ou seja imagine a regio A atravs desta tcnica obtm S(A) que e a esqueletonizao de A. Isto e definida como: S (A) = S K (A) Com S K (A) = {(A kB) [A kB) B]} Onde B e um elemento estruturante (A kB) indica k eroso sucessivas de A; ou seja: (A kB) = ((...(A B) B)...) B k vezes e K e o ultimo passo iterativo antes de A resultar, por eroso em um conjunto vazio. Em outras palavras: K = max {k | A kB) <> 0}. Essas equaes indicam que S(A) e o esqueleto de A, pode ser obtido pelo subconjuntos de esqueletonizao de S K(A). Pode-se mostrar, alm disso, que A pode ser reconstrudo a partir destes subconjuntos utilizando a equao:

68

Aldo von Wangenheim

Operaes Bsicas da Morfologia Matemtica

A = (S K (A) KB Onde (S K (A) KB) denota k dilataes sucessivas de S K (A).


Figura 3.18.

Exemplo de esqueletonizao atravs de morfologia binria

Algoritmos com buscas heursticas muitas vezes produzem resultados melhores, pois os com formulaes matemticas removem a conectividade dos elementos da imagem original. Uma esqueletonizao de um objeto e um simples pixel, de um conjunto magro (mnimo) de pixel produzido por repetidamente emagrecimento de um objeto. Nos no podemos fazer isto usando somente eroso. Porque nos temos que ser capaz detectar quando a delao de um pixel iria fazer o objeto desconcertar. Nos teramos para uso o erro/acerto.

Limiarizao ( Tresholding)
O principio bsico da limiarizao consiste em separar as regies de uma imagem quando esta apresenta duas classes (fundo e objeto). A forma mas simples da limiarizao consiste na bipartio da imagem, convertendo os pixels cujo tom de cinza e maior ou igual a um curto valor (T) em brancos e os demais em pretos.

Introduo Viso Computacional

69

CAPTULO 3.Morfologia Matemtica

Esta operao pode ser descrita como uma tcnica de processamento de imagem na qual uma imagem de entrada f (x,y) de N nveis de cinza produz uma sada g(x,y), chamado de imagem limiarizada, cujo numero de nveis de cinza e menor que N, normalmente g(x,y) apresenta dois nveis de cinza. g(x,y) = 1 se f(x,y)>= T 0 se f(x,y)< T onde os pixels rotulados com 1 correspondem aos objetos e os pixels com 0 correspondem ao pano de fundo , conforme exemplo:

Morfologia de Tons de Cinza


O uso de tons de cinza introduz uma enorme complicao tanto no conceito como na implementao. Um pixel pode agora ter qualquer valor inteiro, assim a facilidade de considerar a imagem como um conjunto desaparece. A idia bsica de Morfologia binaria estende-se para tom de cinza, mas operaes lgicas simulam a converso aritmticas: Unies se tornam mximos e intersees se tornam mnimo etc. Relembrando que imagens so funes do tipo espacial: I (x,y). A sombra (umbra) e uma funo de um conjunto de todas as posies (x,v) tal que o valor e menor que ou igual a f(x).

70

Aldo von Wangenheim

Morfologia de Tons de Cinza

Figura 3.19.

Viso geral das operaes da morfologia matemtica binria

Original

Dilatada

Erodida

Abertura

Fechamento {(x,v' | v<= f(x) }

Hit and Miss bem feito

Esqueletonizao

Esta construo permite que consideremos tambm escala de cinza, da mesma forma que usvamos para imagens binarias. Nos podemos igualmente considerar uma dimenso como elemento estruturante g para ser um conjunto considerado sombra:

Introduo Viso Computacional

71

CAPTULO 3.Morfologia Matemtica

(x,v) | v <= g(x). Nos podemos estender estas idias para imagem duas dimenses I(x,v) por considerar o conjunto de posies (x,v) e possvel intensidade I. (x,v,y) | v <= I (x,y).

Dilatao de Tons de Cinza


A dilatao em imagens de tons de cinza pode ser calculada como: (A B) = max {A(i x , j y) + B(x , y) | (i x , j y) A , (x, y) B} onde B um elemento estrutural e A a imagem de tons de cinza. Para calcular a dilatao faz-se o seguinte:
1.

2.

3.

4.

Posiciona-se a origem do elemento estrutural sobre o primeiro pixel da imagem a ser dilatada. Calcula-se a soma de cada par correspondente de valores de pixels do elemento estrutural e da imagem. Acha-se o valor mximo de todas essas somas, e armazena-se o pixel correspondente na imagem de sada para este valor. Repete-se este processo para cada pixel da imagem a ser dilatada. Os valores dos pixels do elemento estrutural tambm so tons de cinza e podem ser negativos. Uma vez que pixel de valores negativos no podem ser mostrados, existem dois possveis modos de tratar com pixels negativos na imagem resultado:

Figura 3.20.

Resultado de uma dilatao em tons de cinza. Observe que as partes claras da imagem esto exacerbadas.

72

Aldo von Wangenheim

Morfologia de Tons de Cinza

Valores negativos podem ser alterados para zero (underflow). A imagem inteira poderia ter seus valores aumentados para que o menor valor de pixel fosse zero mantendo os valores relativos entre os pixels.

Eroso de Tons de Cinza


A eroso em imagens de tons de cinza pode ser calculada como: (A B) = min {A(i x , j y) B(x , y) | (i x , j y) A , (x, y) B} Onde B um elemento estrutural e A a imagem de tons de cinza. Para calcular a eroso faz-se o seguinte:
1.

2.

3.

4.

Posiciona-se a origem do elemento estrutural sobre o primeiro pixel da imagem que sofre eroso. Calcula-se a diferena de cada par correspondente de valores de pixels do elemento estrutural e da imagem. Acha-se o valor mnimo de todas essas diferenas, e armazena-se o pixel correspondente na imagem de sada para este valor. Repete-se este processo para cada pixel da imagem que sofre eroso. A mesma dualidade entre eroso e dilatao apresentada para imagens preto e branco vale para imagens tons de cinza. A Figura 3.21. mostra o ressultado de uma eroso em tons de cinza, ressaltando as partes escuras da imagem, que ficam mais gordas.

Figura 3.21.

Resultado de uma eroso em tons de cinza. Observe que as partes escuras da imagem esto exacerbadas.

Introduo Viso Computacional

73

CAPTULO 3.Morfologia Matemtica

Abertura de Tons de Cinza


O processo de abertura funciona da mesma forma que definido anteriormente s que usa dilatao e eroso de tons de cinza. Isto , a abertura usa uma eroso de tons de cinza seguida de uma dilatao de tons de cinza usando o mesmo elemento estrutural. Suponha que nos primeiramente erodimos, ento dilatamos uma funo 1-d por algum elemento estruturante. Isto uma abertura em tons de cinza. f g (G) = (f g G) g G ou para um constante elemento estruturante: f g (G) = max (a g) min (b g) f (x-a+b) considerar que acontea a abertura de tons de cinza:
1. 2. 3. 4. 5. 6.

Refletir a posio do elemento estruturante na posio x. pointwise adicionar o elemento estruturante em cima do neighborhood. levar o mximo da qual resultado acima do neighborhood no refletir a posio do elemento estruturante na posio x. pointwise subtrair o elemento estruturante acima do neighborhood e levar o mnimo deste resultado acima do neighborhood.

Fechamento de Tons de Cinza


O processo de fechamento funciona da mesma forma que definido anteriormente s que usa a dilatao e eroso de tons de cinza. Isto , o fechamento usa uma dilatao de tons de cinza seguida de uma eroso de tons de cinza usando o mesmo elemento estrutural ou seja e uma dilatao seguida de uma eroso: f g (G) = (f g G) g G ou para uma constante elemento estruturante:

74

Aldo von Wangenheim

Morfologia de Tons de Cinza

f g (G) = min (a g) max (b g) f (x+a+b)


Figura 3.22.

Exemplo de um fechamento em tom de cinza

Morfologia em Imagens Coloridas


basicamente a mesma coisa que em imagens em tons de cinza. Trabalhamos no espao RGB ou outro espao de cores ao invs de trabalharmos no espao vetorial unidimensional dos tons de cinza. Uma outra opo simplificante, mas eficaz, a de trabalharmos com a luminncia do pixel colorido, ao invs de o representarmos no espao tridimensional de sua cor. Se fizermos isto, podemos aplicar diretamente os algoritmos para tons de cinza sobre o valor da luminncia do pixel como sendo seu valor para fins de morfologia. Na Figura 3.24. pode-se observar alguns exemplos de operaes realizadas com uma imagem da Ponte Herclio Luz em Florianpolis. Observe um fenmeno interessante: como o objeto, no caso a Ponte, escuro e portanto responde por ausncia de sinal para o algoritmo, neste exemplo ocorre exatamente o contrrio do que esperamos. Na eroso a Ponte aumenta e na dilatao ela diminui. Na verdade na dilatao o cu claro que aumenta, pois como o cu possue valor de pixel mais alto, ele o objeto na imagem que de fato dilatado.

Introduo Viso Computacional

75

CAPTULO 3.Morfologia Matemtica

Figura 3.23.

Exemplo de uma seqncia de operaes realizada sobre uma imagem para extrair os dois sulcos maiores.

R ULJ LQ D O

IH F K D P H Q WR

V X E WU D F W

OLP LD UL] D o m R V LP S OH V

H V T X H OH WR Q L] D o m R 

WK LQ Q LQ J

e sq u e le to n iz a o 2

subtrao de imagens

a b e rtu ra

projeo do resultado sobre o original

76

Aldo von Wangenheim

Morfologia de Tons de Cinza

Figura 3.24.

Exemplo de morfologia sobre imagens a cores. Nesta foto onde o objeto uma silueta escura, ocorre o contrrio do que espervamos.

O rig in al

E ro d id a

D ilatad a

Introduo Viso Computacional

77

CAPTULO 3.Morfologia Matemtica

Ferramentas de Software para Morfologia Matemtica


Implementaes de algoritmos de morfologia matemtica so bastante difundidas, inclusive pela sua simplicidade de implementao. At a maioria dos programas de desenho possui alguma rotina de morfologia, nem sempre das melhores, mas muitas vezes sufuciente para um processamento manual de uma imagem. Geralmente estas implementaes em programas comerciais para uso domstico no possuem a possibilidade de que se edite o elemento estruturante, vindo com operaes do tipo dilatar ou erodir prontas, com elementos estruturantes pr-definidos. H pouco o autor conseguiu constatar at em um software para operao de um tomgrafo computadorizado um ponto de menu indicando a possibilidade de se submeter as imagens do paciente a operaes morfolgicas. Uma das melhores implementaes de morfologia, tanto para operaes binrias como para tons de cinza a que se encontra no pacote Khoros [3.5][3.7]. Este pacote est descrito no captulo de ferramentas deste trabalho.

Referncias
[3.1] [3.2] [3.3] [3.4] [3.5] Gonzalez, Rafael C. & Woods, Richard E.. Digital Image Processing. Reading, Addison-Wesley ,1992. Parker, J. R.. Algorithms for Image Processing and Computer Vision. New York, John wiley & Sons, 1997. Russ, John C. . The image processing handbook. 2 ed., Boca Raton, CRC Press, 1995. Marques Filho, Og & Vieira Neto, Hugo. Processamento digital de Imagens. Rio de Janeiro, Brasport, 1999. www.ime.usp.br/mac/khoros/mmach.old/

78

Aldo von Wangenheim

Referncias

[3.6] [3.7] [3.8]

www.ph.tn.tudelft.nl/Courses/ www.khoral.com/ www.hig.no/bibliotec/

Introduo Viso Computacional

79

CAPTULO 3.Morfologia Matemtica

80

Aldo von Wangenheim

Potrebbero piacerti anche