Introdução ao Processamento de Imagens Digitais Neucimar J. Leite IC-UNICAMP e-mail:...

Preview:

Citation preview

Introdução ao Processamento de Imagens Digitais

Neucimar J. Leite

IC-UNICAMP

e-mail: neucimar@ic.unicamp.br

Processamento de Imagens

• Introdução

• Filtragem e segmentação– operações lineares:

• Transformada de Fourier, convolução

– operações não lineares:• Morfologia Matemática

Exemplo de aplicações:

• automação e visão artificial• reconhecimento de caracteres• análise de cromossomos • veículos autônomos• mapeamento de terrenos• detecção de alvos• tomografia computadorizada• ultra-sonografia• inspeção industrial• análise de imagens de satélites

em SIGs• etc

Modelo de um sistema de PDI

A imagem digital

• função 2D f

pixel

f(x,y)

x

y

(x,y)

Processamento de baixo nível

Classes de operações:• operações pontuais• operações globais• operações de vizinhança:

- operações lineares : transformada de Fourier, convolução

- operações não-lineares: morfologia matemática

- operações híbridas

Histograma h

• Operação global que fornece a freqüência de ocorrência dos níveis de cinza de f .

• Dá informações sobre a distribuição dos níveis de cinza a dinâmica da imagem

• Aplicações: filtragem, segmentação, reconhecimento de padrões e imagens.

Algoritmo:

• Início

h[f(x,y)] = 0 {zera contadores de níveis de cinza}

Para cada valor f(x,y) faça

h[f(x,y)] = h[f(x,y)] + 1

Fim-para

Fim

Exemplos de diferentes dinâmicas:

h

0 255

h

0 255

Imagem escura Imagem clara

255

h

0

Exemplos de histogramas:

Exemplos simples de aplicação:

255

255

90

255

255

100

Observações:

• Um mesmo histograma pode estar associado a diferentes imagens.

• Sua informação é invariante com as operações de rotação e translação.

• Podemos considerar um histograma para cada banda espectral ou um histograma 3-D, por exemplo, referente às componentes RGB de uma imagem colorida.

Transformações radiométricas ou de escala de cinza

• Independem da localização dos pixels na imagem.

• Em termos de implementação, podem ser represen-tadas por look-up-tables (LUT).

• Transformam um pixel de nível de cinza gi em um

nível de cinza gf .

Uma tranformação radiométrica r :

• É uma aplicação I(Gi) F(Gf), tal que

Gi = [0,1,...,Ni],

Gf = [0,1,...,Nf] e

)( , , ifffii grgGgGg

Exemplos de funções r : complemento ou negativo

gi

gf

0 255

255

Realce de contraste (stretching)

gi

gf

0 255

255

p1 p2

Imagem colorida

Limiarização

gi

gf

0 255

255

Imagem binária

Equalização histogrâmica

• Transformação radiométrica que visa aumentar a dinâmica dos níveis de cinza melhorando, por exemplo, o contraste de imagens obtidas sob péssimas condicões de iluminação.

• Idéia: gerar uma distribuição mais uniforme dos níveis de cinza um histograma planar.

p

h(p)

q

h(q)

Exemplo de uma técnica de equalização:• Seja f uma variável no intervalo [0,1].

Uma transformação T no intervalo [0,1] é tal que:

g = T(f) (g(x,y) = T(f(x,y)), no nosso caso)• Visando monotonicidade e preservação da escala de cinza:

– T deve ser monotonicamente crescente no intervalo [0,1].

10 para 1)(0 ffT

0 1 f

g

fk

gk =T(fk)

1

Consideremos, agora, a seguinte função T(f):

que representa a função de distribuição cumulativa (FDC) de f (esta função é monotonicamente crescente e varia de 0 a 1 em função de f).

• Conclusão: se T(f) é uma FDC, então ela pode ser empregada na defi-nição de uma nova imagem cuja distribuição dos níveis de cinza será mais uniforme.

f

f dwwpfTg0

1f0 )()(

O caso discreto:

• Imagem:

n=M x N pixels com valores discretos k = 0,1,...,L-1:

onde: nk = número de aparições do nível k

pf(fk) = probabilidade de ocorência de fk

Assim:

10 )( kk

kf fn

nfp

.1,...,1,0 e 10 ),()(00

Lkffpn

nfTg k

k

jjf

k

j

jkk

Exemplos:

Imagem colorida

Casamento de histogramas

• Transforma o histograma de uma imagem original fo de acordo com o histograma de uma imagem de referência fr.

• Sejam h(fo) e h(fr) os histogramas das imagens original e de referência, respectivamente.

h(fo)

fo

h(fr)

fr

s=T[o]

o

v=G[r]

r

p(s)

s

p(v)

v

Imagem transformada: r = G-1(s)

imagem claraimagem escura

Exemplos de casamento de histogramas

original referência modificada

Filtragem

• Processamento local: pixels vizinhos têm, em geral, as mesmas características.– ruído: fenômeno de brusca variação de um pixel em

relação a sua vizinhança.

• Tipos gerais: linear, não-linear, híbrida.

• Domínio: espacial, freqüência

Exemplo: domínio da freqüência

imagem original f espectro |F(u,v)|

A transformada inversa de Fourier:

Exemplo de filtragem:

imagem com ruído função H(u,v) imagem filtrada

imagem de contornos

Exemplo de detecção de contorno:

imagem original função H(u,v)

Princípio geral da filtragem linear:

F(u,v) G(u,v)H(u,v)

f(x,y) g(x,y)h(x,y)

• G(u,v) = H(u,v) F(u,v)

(função de transferência)

• a TF inversa de G(u,v) define g(x,y)

Caso discreto:

h = representação espacial da função de transferência H.

g(x, y) = f(i, j)h(x - i, y -j=0

N-1

i=0

N-1

j)

f = imagem de entrada de tamanho NxN

g = imagem resultante da filtragem TF G u v1[ ( , )]

f(x,y) g(x,y)h(x,y)

F(u,v) G(u,v)H(u,v)

Convolução:

Operação local de filtragem

• Convolução:

g(x, y) f(i, j)h(x i, y j)j n

n

i m

m

f(x,y)

x

y

h(x-i,y-j)

Alguns exemplos

• Filtro média:

h 1

9

1 1 1

1 1 1

1 1 1Exemplo:

f =

10 10 10

10 90 10

10 10 10

10 10 10

10 18 10

10 10 10

Exemplo: máscara 11x11

imagem com ruído

imagem filtradano domínio espacial

não preserva contornos

original com ruído

média 3x3 média 17x17

Detectores de contorno

• identificam transições bruscas na função f(x,y)

Operadores diferencias: o gradiente

f

f

xf

y

vetor:

magnitude:

ff

x

f

y

2 21

2

tgy

x1

direção:

Gradiente de Roberts

d f x y f x y f x y2 1 1( , ) ( , ) ( , )

d f x y f x y f x y1 1 1( , ) ( , ) ( , )

x,y

x+1,y+1

x,y+1

x+1,y

1350

450

• vizinhança 2x2:

Exemplo:

imagem original gradiente de Roberts

Descontinuidades em x, y:

• Operadores 3x3 de Prewitt:

x

1 1 1

0 0 0

1 1 1

y

1 0 1

1 0 1

1 0 1

e Sobel:

x

1 2 1

0 0 0

1 1 1

y

1 0 1

2 0 1

1 0 1

Exemplo: operadores de Prewitt

y

1 0 1

1 0 1

1 0 1

x

1 1 1

0 0 0

1 1 1 x y

O Laplaciano

• derivada de segunda ordem:

h =

0 1 0

1 - 4 1

0 1 0

Exemplo:

f =

10 10 10

10 10 10

10 10 10

20 20

20 20

20 20

0 0 10

0 0 10

0 0 10

10 0

10 0

10 0

contorno

22

2

2

2f

f

x

f

y

passagem por zero

Filtragem não-linear

• filtragem com preservação de contornos

• Filtros estatísticos da ordem:

Ex.: filtro da mediana (filtros estatísticos da ordem):

10 10 10

10 100 10

10 10 10

10 10 10 10 10 10 10 10 100

valor mediano

f(x,y)ordenação

substitui

Filtro da mediana

• Vantagens:– Elimina eficientemente o ruído impulsivo (ruído de Poisson).

– Não introduz novos valores de níveis de cinza na imagem.

– Preserva bordas e pode ser aplicado iterativamente.

• Desvantagem:– Elimina linhas muito finas e vértices dos objetos.

0100

0100

0100

0000

10100

10100

0

Exemplo comparativo:

mediana

média

5x5

11x11

Alternativa: Mediana separável

• Subdivide a vizinhança 2-D em linhas ou colunas; calcula a mediana destas e em seguida a mediana das medianas.

000

10100

10100

10

Mediana das linhas

10

10

0

mediana dasmedianas

Desvantagem: variante à rotação

Filtro da ordem-k

• Substitui um pixel central M, numa vizinhança qualquer, pelo k-ésimo valor dos elementos desta vizinhança ordenados segundo sua magnitude.

504910

528010

515011

ordenação

10 10 11 49 50 50 51 52 80

filtro min filtro maxmediana

Filtro da média com os k-vizinhos mais próximos

• Substitui um pixel central M pelo valor médio dos k níveis de cinza que mais se aproximam do valor de M.

535251

519050

404340 k=6

506

435051515253

0300

0300

0300k=8

M´=

M´= 7 M´= 30k=2

Morfologia Matemática

• a análise da imagem:– segmentação– classificação

... .

...

...

.

...

..

..

.. ..

...

......

..

...

.

.

...

.

filtragem segmentação

classificaçãoestrela

cubo

As transformações morfológicas

• Princípio:– comparação da imagem original com outra

menor denominada elemento estruturante

imagem

origem

elementos estruturantes Bx

8-conexo 4-conexo

conjunto X

Operações morfólogicas básicas

• sobre conjuntos e funções: Erosão e dilatação– Dilatação: união de todos os pontos da imagem X, tal que

o elemento estruturante Bx intercepta X

imagem

= X

= Xc

Bx

imagem dilatada

Exemplo de dilatação:

imagem original

Bx

imagem dilatada

B xX x B X( ) { , } 2

Erosão

• conjunto dos pontos de X, tal que Bx esteja totalmente incluído em X

imagem

= X

Bx

imagem erodida

= Xc

Exemplo de erosão:

B xX x B X( ) { , } 2

Bx

imagem original imagem erodida

Para o caso de funções (imagens em níveis de cinza)

• dilatação:

B kf x k B( ) max{ , }

• erosão: B kf x k B( ) min{ , }

Bx

10 10 10

10 0 10

10 10 10

10 10 10

10 10 10

10 10 10

10 0 10

0 0 0

10 0 10

B f( )

B f( )

f

Exemplos

imagem original dilatação erosão

Abertura e fechamento morfológicos

• combinações de erosão e dilatação:

B B B

B B B

- abertura :

- fechamento:

Propriedades:

- operações duais, crescentes e idempotentes

- a abertura é anti-extensiva e o fechamento, extensivo

Exemplos:Bx

original abertura fechamento

Filtros morfológicos

• filtros essencialmente não-lineares:

- qualquer transformação crescente e idempotente

f g (f) (g) f , (f) ( (f))

Conclusão:

- erosão e dilatação não são filtros morfológicos

- abertura e fechamento são os filtros morfológicos básicos

Exemplos

original com ruído filtragem por abertura

Outros exemplos de operações elementares

• gradiente morfológico: grad f f fB B( ) ( ) ( )

original gradiente

• Chapéu mexicano claro: CM f f fn ( ) ( )

original CM+

• Chapéu mexicano escuro:CM f f fn ( ) ( )

originalCM-

Exemplo:

imagem original imagem afinada

Operações geodésicas e reconstrução

X

• métrica geodésica:

Dilatação geodésica

X BY Y X1( ) ( ( ))

• dilatação de Y em X de tamanho 1:

X

Y

X Y1( )

• dilatação de Y em X de tamanho infinito:

Xn Y( )

Xn

X X XY Y( ) ( (... ( ))) 1 1 1

n vezes

X

Y

(máscara)

(marcador) reconstrução

Exemplo de aplicaçao:

• eliminaçao de partículas parcialmente incluídas na imagem

X X X' \ ( )

X X ( ) X '

Reconstrução em níveis de cinza

f g g f11( ) min( ( ), )

fn

f f fg g( ) ( (... ( ))) 1 1 1

• Reconstrução dual

marcador

máscara reconstruçao dual

Esqueleto por zona de influência

iz Y p X j k i j d p Y d p YX i X i X j( ) { : [ , ], , ( , ) ( , )} 1

• zona de influência:

• esqueleto SKIZ: SKIZ Y X IZ YX X( ) \ ( )

Segmentação morfológica• baseada na definição da Linha Divisora de Águas -LDA de uma função

mínimos regionais

LDA

Cálculo da LDA:

A partir de limiarizações sucessivas da imagem:

X x f x ii { , ( ) }2 i = 0,...,N

• O conjunto Z das LDAs de f :

Z SKIZ X Zj X j jj ( \ )1 1 j = 1,..., N

Z Z jj

2 3 3 3 1 0 1 2 2 2 1 0 1

LDAs

Exemplo de LDA:

original gradiente

LDA

Próximos passos para a segmentação

• definir marcadores das regiões de interesse

imagem original marcadores definidos porlimiarização

•Imposição dos marcadores na imagem gradiente:- definir uma imagem g da seguinte forma:

g x( ),

se x M

0, se x Mimpondo

marcadores

• reconstrução dual de g:

min( , ) ( )f g gnova LDA

Exemplo:

original gradiente

gradiente

marcadores

LDA

imagem segmentada !

Conclusões

• PDI é uma área multidisciplinar

• outras sub-áreas (sub-problemas):– aquisisição– codificação / compressão– restauração– reconstrução etc.– arquiteturas específicas, linguagens

• filtragem e segmentação de imagens de radar

• Segmentação multiresolução

Recommended