Upload
internet
View
112
Download
0
Embed Size (px)
Citation preview
Introdução ao Processamento de Imagens Digitais
Neucimar J. Leite
IC-UNICAMP
e-mail: [email protected]
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