• Nenhum resultado encontrado

Morfologia Matemática em Imagens

N/A
N/A
Protected

Academic year: 2021

Share "Morfologia Matemática em Imagens"

Copied!
49
0
0

Texto

(1)

Processamento e Recuperação

de Imagens Médicas

Morfologia Matemática em

Imagens

Prof. Luiz Otavio Murta Jr.

Departamento de Computação e Matemática

(FFCLRP/USP)

(2)

• Introdução

• Morfologia Binária em Imagens

• Morfologia de Tons de Cinza

• Segmentação Morfológica

• Bibliografia

(3)

Operadores Morfológicos

Binários

(4)

Algoritmos:

Operadores morfológicos

Teoria Básica de

Conjuntos

(5)

Algoritmos:

Operadores morfológicos

Reflexão e

Translação

(

)

{

|

,

para

}

}

para

,

|

{

ˆ

A

a

z

a

c

c

A

B

b

b

w

w

B

z

=

+

=

(6)

Algoritmos:

Operadores morfológicos

Operações Lógicas

p

q

p “e” q (p.q)

p “ou” q (p=q)

“não” p

0

0

0

0

1

0

1

0

1

1

1

0

0

1

0

(7)

Algoritmos:

Operadores morfológicos

Operações Lógicas:

Não

E

Ou

X ou

X e

(8)

Algoritmos:

Operadores morfológicos

Dilatação

|

(

)

=

B

z

B

A

A

Ø

origem

(9)

Algoritmos:

Operadores morfológicos

(10)

Algoritmos:

Operadores morfológicos

Enquadramento

A noção de objeto implica conectividade de pixels

Definições

As operações fundamentais sobre objetos são:

» Translação: A + x = { a + x | a

 A }

» Adição/subtração: A  B = 

bB

(A+b) ; A  B = 

bB

(A+b)

» Complemento (fundo)

» Simetria: -A = { -a | a

 A }

objeto A

fundo de A

- O objeto A tem conectividade 4

(11)

Algoritmos:

Operadores morfológicos

Erosão

A

origem

Resultado da

Erosão:

apenas os

quadrados

destacados

z

B

A

B

A

=

|

(

)

z

(12)

Algoritmos:

Operadores morfológicos

Erosão:

•Tamanho dos

objetos são

reduzidos

•Objetos menores

do que o el. est. são

eliminados

•Número de

componentes pode

aumentar

A

z

B

A

B

A

=

|

(

)

z

(13)

Algoritmos:

Operadores morfológicos

Dilatação e Erosão

A dilatação D(A,B) corresponde à adição A  B

A erosão E(A,B) corresponde à subtração A

(-B )

Exemplos

Tipicamente A é uma imagem e B é um “estruturante”

(equivale ao núcleo de convolução dos filtros lineares)

Exemplos de estruturantes comuns

B

D(A,B)

-B

E(A,B)

(14)

Algoritmos:

Operadores morfológicos

Dilatação e Erosão

Teorema da Decomposição

» Para um estruturante B finito, simétrico, sem buracos e

contendo o seu centro ([0,0]  B), verifica-se que

D(A,B) = A

 (A  B)

[nota: A é o contorno de A]

» Resulta que apenas basta processar os pixels do contorno de

A, não sendo necessário processar os pixels do seu interior

»

Algoritmo “rápido” de dilatação: para cada pixel do objeto,

todos os seus pixels vizinhos (viz

C

) de fundo passam a

pertencer ao objeto

»

Algoritmo “rápido” de erosão: cada pixel do objeto que

(15)

Algoritmos:

Operadores morfológicos

Dilatação e Erosão

Exemplos “rápidos”

Importante: D(E(A,B),B)  A  E(D(A,B),B)

Abertura e Fechamento

Abertura: O(A,B) = D(E(A,B),B)

» Tende a suavizar o contorno pelo interior

Fechamento: C(A,B) = E(D(A,-B),-B)

» Tende a suavizar o contorno pelo exterior

Dilatação com

estrututante N

4

Dilatação com

estrututante N

8

(16)

Algoritmos:

Operadores morfológicos

Erosão

=

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

1

1

1

1

1

0

1

1

1

0

1

1

1

1

1

0

1

1

1

A

z

B

A

B

A

=

|

(

)

z

=

1

1

1

1

1

1

1

1

1

B

=

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

1

1

1

0

0

0

1

0

0

0

1

1

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

B

A

(17)

Algoritmos:

Operadores morfológicos

Dualidade entre operadores

-

Começando com a definição de erosão:

Ø

Ø

-

Sabendo a definição de dilatação

-

Podemos chegar a:

(

A

B

)

c

=

A

c

B

ˆ

c

c z c z c

A

B

z

A

B

z

B

A

)

|

(

)

|

(

)

(

=

=

=

|

(

)

=

c

z

A

B

z

|

(

ˆ

)

=

B

z

B

A

A

z

Ø

|

(

)

)

ˆ

(

A

c

B

=

z

B

z

A

c

Ø

(

A

B

)

c

=

A

c

B

ˆ

(18)

Algoritmos:

Operadores morfológicos

(19)

Algoritmos:

Operadores morfológicos

(20)

Algoritmos:

Operadores morfológicos

Abertura:

eliminação de detalhes irrelevantes

Erosão seguida de dilatação usando elemento estruturante

B = 13 x 13 pixels de nível de cinza 1

(21)

Algoritmos:

Operadores morfológicos

Propriedades e características

Dualidade entre operadores

l. Abertura

– (i) A º B é um subconjunto (subimagem) de A

– (ii) Se C é um subconjunto de D, então C º B é um subconjunto de D º B

– (iii) (A º B) º B = A º B

– Partes pequenas do objeto são eliminadas.

– Objetos menores do que o elemento estruturante são eliminados.

– Separa objetos conectados por ligações finas.

2. Fechamento

– (i) A é um subconjunto (subimagem) de A·B

– (ii) Se C é um subconjunto de D, então C·B é um subconjunto de D·B

– (iii) (A·B) · B = A·B

– Preenche pequenos espaços entre objetos.

– Preenche pequenos buracos.

– Preenche reentrâncias estreitas.

(22)
(23)

Algoritmos:

Operadores morfológicos

HitAndMiss

Operador de alto nível

HitMiss(A,B) = E(A,B

1

)  E

C

(A

C

,B

2

)

B

1

e B

2

são estruturantes finitos e disjuntos entre si

Este operador é o equivalente morfológico do template

matching (técnica usada para comparar padrões com

base na sua correlação)

» B

1

funciona como template para o objeto

» B

2

funciona como template para o fundo

(24)

Algoritmos:

Operadores morfológicos

(25)

Algoritmos:

Operadores morfológicos

HitAndMiss

A = imagem

B1,B2 são elementos

estruturantes

)

(

)

(

)

(

A

B

=

A

B

1

A

c

B

2

(26)

Algoritmos:

Operadores morfológicos

HitAndMiss

Utilizado para buscar

objetos na imagem

Dependente do elemento

estruturante

)

(

)

(

)

(

A

B

=

A

B

1

A

c

B

2

(

)

A

W

X

X

A

B

A

)

=

(

)

c

(

(27)

Algoritmos:

Operadores morfológicos

(28)

Algoritmos:

Operadores morfológicos

Extração de Contorno

A

E

c

B

A −

c

E

A 

c

B

A

A

A

)

(

)

(

=

c

B

A

A

A

)

(

)

(

=

(29)

Algoritmos:

Operadores morfológicos

Extração de componentes conectados

Desenvolva um algoritmo para encontrar componentes

conectados.

1.

Seja

B

um elemento estruturante do tipo N4, Nd ou N8, dependendo da

conectividade desejada.

2.

Selecione um pixel p dentro do componente conectado a ser encontrado.

3.

Inicialize X

0

como uma matriz de pixels ‘0’ exceto X

0

[p]= 1.

4.

Faça a iteração:

1 1

)

para

1

,

2

,

3

,...

até

(

=

=

=

K K K K

X

B

A

k

X

X

X

(30)

Algoritmos:

Operadores morfológicos

Extração de componentes conectados

Procura pelo elemento conectado começando pelo pixel

vermelho

(31)

Algoritmos:

Operadores morfológicos

Preenchendo Buracos

Desenvolva um algoritmo para preencher buracos (regiões

fechadas).

1. Seja B um elemento estruturante do tipo N4, Nd ou N8,

dependendo da conectividade desejada.

2. Selecione um pixel p dentro do buraco a ser preenchido.

3. Inicialize X0 como uma matriz de pixels ‘0’ exceto X0[p] = 1.

4. Faça a iteração:

1 1

)

para

1

,

2

,

3

,...

até

(

=

=

=

c K K K K

X

B

A

k

X

X

X

(32)

Algoritmos:

Operadores morfológicos

Preenchendo Buracos

1 1

)

1

,

2

,

3

,...

até

(

=

=

=

c k k k k

X

B

A

k

X

X

X

(33)

Algoritmos:

Operadores morfológicos

(34)

Algoritmos:

Operadores morfológicos

Feicho Convexo (convex hull)

Um conjunto A é dito convexo se dois elementos

quaisquer podem se unir por um caminho reto que não

passa fora do conjunto.

O ‘convex hull’ H de um conjunto S é o menor conjunto

convexo tal que S H.

O conjunto diferença H - S = H

∩ S

c

é a deficiência

(35)

Algoritmos:

Operadores morfológicos

Fecho convexo

(Convex Hull)

(

*

)

,

=

1

,

2

,

3

,

4

e

=

1

,

2

,

3

...

=

X

B

A

i

k

X

ki ki i

A

3

k

X

1

k

X

2

k

X

4

k

X

i i D A C 4 1 ) ( =  = i i

D

A

C

4 1

)

(

=

=

(36)

Algoritmos:

Operadores morfológicos

Afinamento (Thining)

Afinamento remove pixels de um conjunto até ficar

apenas um estreito conjunto.

É usado para revelar estruturas em aplicações de

reconhecimento de padrões.

Afinamento usa uma seqüência de elementos

estruturantes.

Operação básica

1.

Faça X

n

= A e Y = X

0

= [0]

NxM

2.

Repita enquanto X

n

≠ Y

Y = X

n

X

0

= X

n

n

i

B

X

X

X

=

(

*

)

c

para

=

1

,

2

,

3

,...,

}

,...,

,

{

B

1

B

2

B

n

B =

(37)

Algoritmos:

Operadores morfológicos

Afinamento (Thining)

)

*

(

A

B

A

B

A

=

c

B

A

A

(

*

)

=

(38)

Algoritmos:

Operadores morfológicos

Afinamento (Thining)

Exemplo: Emagreça as bolhas

A estrutura básica é capturada pelos objetos emagrecidos

(vermelho). As pequenas terminações poderiam ser removidas

por um processamento adicional para melhorar a definição.

(39)

Algoritmos

Operadores morfológicos

Esperçamento (Thickening)

Esperçamento é o dual morfológico de Afinamento e é definido

por

O algoritmo pode ser programado diretamente da definição.

Entretanto, descobriu-se que é mais efetivo fazer o thickening

através do thinning de A

c

.

1.

Faça C = A

c

2.

Faça D ser afinado

3.

T = D

c

é o objeto esperçado.

)

*

(

A

B

A

B

A

=

(40)

Algoritmos:

Operadores morfológicos

Esperçamento

A

B

=

A

(

A

*

B

)

(41)

Algoritmos

Baseados em morfologia

Esqueleto

Quando realizável, é uma polilinha que:

» Tem largura de 1 pixel

»

Passa pelo “meio” do objeto

» Preserva a topologia do objeto

Pode ser obtido por um processo iterativo baseado no B

8

,

não se alterando o pixel central para “fundo” se

» 1) o pixel estiver isolado

» 2) a remoção do pixel alterar a conectividade

» 3) a remoção do pixel encurtar a linha

(42)

Algoritmos

Operadores morfológicos

Esqueletos

Pontos centrais de bolas

máximas (geradas a partir do

elemento estruturante B)

contidas no objeto da imagem

de entrada.

B

kB

A

kB

A

A

S

A

S

A

S

k k K k

)

(

)

(

)

(

)

(

)

(

0

=

=

=

=

max

k

|

(

aA

kB

)

K

(

S

A

kB

)

A

k K k

=

=0

(

)

(43)
(44)

Algoritmos:

Operadores morfológicos

Poda

H = elemento estruturante 3x3 de 1’s

}

{

1

A

B

X

=

)

(

1 1 2 k K k

X

B

X

=

=

(45)

Algoritmos:

Baseados em morfologia

Exemplos

Estruturantes

Imagem A

Dilatação com 2B

Erosão com 2B

Abertura com 2B

(separa objetos)

Fechamento com 2B

(preenche buracos)

HitAndMiss com B

1

e B

2

[  A = A - E(A,N

8

) ]

(46)
(47)
(48)
(49)

Referências

Documentos relacionados

e/ou não atender ao solicitado no item 4 deste Capítulo, não será considerado portador de deficiência, não poderá impetrar recurso em favor de sua

Pede-se ainda, ao final, a TOTAL PROCEDÊNCIA DO PEDIDO, para tornar definitiva a decisão judicial que condena o DF a apreender todos os alimentos contendo

Os cupons fiscais somente poderão ser cadastrados uma única vez, não sendo possível concorrer mais de uma vez com a mesma compra; a tentativa de imputar o

Testemunha é aquele que não vai embora, que consegue ouvir a narração insuportável do outro e que aceita que suas palavras levem adiante, como num revezamento, a história do

O Superior Tribunal de Justiça, nos REsp 1.643.051/MS e REsp 1.675.874/MS (TEMA 983-STJ), julgados segundo o rito dos recursos repetitivos, assentou que “nos casos

14 Vocês não sabem como será a sua vida amanhã, pois vocês são como uma neblina passageira, que aparece por algum tempo e logo depois desaparece.. 15 O que vocês deveriam dizer

As obrigações decorrentes desse Processo Concorrencial, a serem firmadas entre a CONTRATANTE e a PROPONENTE vencedora serão formalizadas por meio de

e) – A menção «posta restante» ou «ao cuidado de» no endereço do titular da conta; e f) – Uma procuração ou autorização de assinatura relativa à conta. os 1, 2 e 3,