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
(x,y)
• função 2D f
f(x,y)
y
x
pixel
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
h
0
0
255
h
Imagem escura
255
Imagem clara
0
255
Exemplos de histogramas:
Exemplos simples de aplicação:
255
255
90
255
100
255
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 representadas 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)
Gi = [0,1,...,Ni],
Gf = [0,1,...,Nf] e
F(Gf), tal que
gi  Gi ,  g f  G f , g f  r ( gi )
Exemplos de funções r : complemento ou negativo
gf
255
0
255 gi
Realce de contraste (stretching)
gf
255
0
p1 p2
255 gi
Imagem colorida
Limiarização
gf
255
0
255
gi
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.
h(p)
h(q)
p
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].
 0  T ( f )  1 para 0  f  1
g
1
gk =T(fk)
0
fk
1
f
Consideremos, agora, a seguinte função T(f):
f
g  T ( f )   p f ( w)dw
0  f 1
0
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 definição de uma nova imagem cuja distribuição dos níveis de cinza será
mais uniforme.
O caso discreto:
• Imagem:
n=M x N pixels com valores discretos k = 0,1,...,L-1:
nk
p f ( fk ) 
n
•
0  fk  1
onde: nk = número de aparições do nível k
pf(fk) = probabilidade de ocorência de fk
Assim:
k
nj
j 0
n
gk  T ( f k )  
k
  p f ( f j ),
j 0
0  f k  1 e k  0,1,...,L  1.
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.
imagem escura
imagem clara
h(fr)
h(fo)
fr
fo
v=G[r]
s=T[o]
r
o
p(v)
p(s)
v
s
Imagem transformada:
r = G-1(s)
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
Exemplo de detecção de contorno:
imagem original
função H(u,v)
imagem de contornos
Princípio geral da filtragem linear:
(função de transferência)
F(u,v)
H(u,v)
f(x,y)
h(x,y)
G(u,v)
g(x,y)
• G(u,v) = H(u,v) F(u,v)
• a TF inversa de G(u,v) define g(x,y)
Caso discreto:
N-1 N-1
g(x, y) =
  f(i, j)h(x - i, y - j)
i=0 j=0
h = representação espacial da função de transferência H.
f = imagem de entrada de tamanho NxN
1
g = imagem resultante da filtragem  TF [G(u, v)]
f(x,y)
F(u,v)
h(x,y)
H(u,v)
g(x,y)
G(u,v)
Convolução:
Operação local de filtragem
• Convolução:
g(x, y) 
m
n
  f(i, j)h(x  i, y  j)
i  m j n
f(x,y)
y
h(x-i,y-j)
x
Alguns exemplos
• Filtro média:
h
1
9
1 1 1
1 1 1
1 1 1
Exemplo:
f=
10 10 10
10 90 10
10 10 10
10 10 10
10 18 10
10 10 10
Exemplo: máscara 11x11
não preserva contornos
imagem com ruído
imagem filtrada
no domínio espacial
original
média 3x3
com ruído
média 17x17
Detectores de contorno
• identificam transições bruscas na função f(x,y)
Operadores diferencias: o gradiente
vetor:
magnitude:
direção:
 f 
 x 
f   f 
 
 y 
 f  2  f  2 
f       
 y  
 x 
 y 
  tg  
 x 
1
1
2
Gradiente de Roberts
• vizinhança 2x2:
d 1 f ( x, y)  f ( x, y)  f ( x  1, y  1)
d 2 f ( x, y)  f ( x, y  1)  f ( x  1, y)
1350
x,y
x,y+1
x+1,y+1
x+1,y
450
Exemplo:
imagem original
gradiente de Roberts
Descontinuidades em x, y:
• Operadores 3x3 de Prewitt:
 1  1  1
x   0 0 0 


 1 1 1 
 1 0 1
 y   1 0 1


 1 0 1
e Sobel:
 1  2  1
x   0 0 0 


 1 1 1 
  1 0 1
 y   2 0 1


  1 0 1
Exemplo: operadores de Prewitt
 1  1  1
x   0 0 0 


 1 1 1 
 1 0 1
 y   1 0 1


 1 0 1
x   y
O Laplaciano
2
2

f

f
2
• derivada de segunda ordem:  f  2  2
x
y
0
1
0
h= 1
-4
1
0
1
0
passagem por zero
Exemplo:
f=
contorno
10 10 10
20 20
0 0  10
10 0
10 10 10
20 20
0 0  10
10 0
10 10 10
20 20
0 0  10
10 0
Filtragem não-linear
• filtragem com preservação de contornos
• Filtros estatísticos da ordem:
Ex.: filtro da mediana (filtros estatísticos da ordem):
f(x,y)
ordenação
10 10 10
10 100 10
10
10
10 10 10 10 10 10 10 10 100
10
substitui
valor mediano
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.
0 10 0
0 10 10
0 10 0
0 10 10
0 10 0
0
0
0
0
0
Exemplo comparativo:
mediana
5x5
média
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.
Mediana das linhas
0 10 10
10
0 10 10
10
0
0
0
0
10
Desvantagem: variante à rotação
mediana das
medianas
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.
ordenação
11 50 51
10 80 52
10 10 11 49 50 50 51 52 80
10 49 50
filtro min
mediana
filtro max
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.
k=6
40 43 40
50 90 51
51 52 53
M´=
53  52  51  51  50  43
 50
6
0 30 0
0 30 0
k=8
k=2
0 30 0
M´= 7
M´= 30
Morfologia Matemática
• a análise da imagem:
– segmentação
– classificação
. . . ..
.... ... ..
... ..
.
.
. ..
.. .... . .. .
.. . . . .. .
filtragem
segmentação
estrela
classificação
cubo
As transformações morfológicas
• Princípio:
– comparação da imagem original com outra
menor denominada elemento estruturante
imagem
elementos estruturantes Bx
8-conexo
conjunto X
4-conexo
origem
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:
Bx
imagem original
imagem dilatada
B ( X )  {x  , Bx  X  }
2
Erosão
• conjunto dos pontos de X, tal que Bx esteja totalmente
incluído em X
imagem
=X
= Xc
Bx
imagem erodida
Exemplo de erosão:
Bx
imagem original
imagem erodida
B ( X )  {x  , Bx  X }
2
Para o caso de funções (imagens em níveis de
cinza)
• dilatação:
B ( f )  max{xk , k  B}
• erosão:
B ( f )  min{xk , k  B}
f
10 10 10
10 0 10
10 10 10
B ( f )
B ( f )
10 10 10
10 10 10
10 10 10
10 0 10
0
0
0
10 0 10
Bx
Exemplos
imagem original
dilatação
erosão
Abertura e fechamento morfológicos
• combinações
- abertura :
de erosão e dilatação:
 B  B  B
- fechamento: B  B  B
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 )  B ( f )  B ( f )
original
gradiente
• Chapéu mexicano claro: CM  ( f )  f   n ( f )
original
CM+
• Chapéu mexicano escuro: CM ( f )  n ( f )  f

original
CM-
Exemplo:
imagem original
imagem afinada
Operações geodésicas e reconstrução
• métrica geodésica:
X
Dilatação geodésica
• dilatação
de Y em X de tamanho 1:
X 1 (Y )  (B (Y ))  X
Y
X
 X 1 (Y )
• dilatação de Y em X de tamanho infinito:
X (Y )  X (X (...X (Y )))
n
1
1
1
n vezes
Y (marcador)
X (máscara)
reconstrução
 X n (Y )
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)  min(1 ( g), f )
1
 f n ( g)   f 1 ( f 1 (... f 1 ( g)))
• Reconstrução dual
marcador
máscara
reconstruçao dual
Esqueleto por zona de influência
• zona de influência:
iz X (Yi )  {p  X : j [1, k ], i  j, d X ( p, Yi )  d X ( p, Yj )}
• esqueleto
SKIZ: SKIZ X (Y )  X \ IZ X (Y )
Segmentação morfológica
• baseada na definição da Linha Divisora de Águas -LDA
de uma função
LDA
mínimos regionais
Cálculo da LDA:
A partir de limiarizações sucessivas da imagem:
Xi  {x 2 , f ( x)  i} i = 0,..., N
• O conjunto Z das LDAs de f :
Z j  SKIZ X j ( X j 1 \ Z j 1 ) j =1,...,N
Z  Zj
j
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 por
limiarização
•Imposição dos marcadores na imagem gradiente:
- definir uma imagem g da seguinte forma:
  , se x  M
g( x)  
se x  M
0,
impondo
marcadores
• reconstrução dual de g:


min( f , g )
( g)
nova LDA
Exemplo:
original
gradiente
gradiente
LDA
marcadores
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
Download

Aula teorica sobre transformacoes radiometricas e