UNIVERSIDADE FEDERAL DE CAMPINA GRANDE – UFCGAv Aprígio Veloso, S/N – Bodocongó – CEP: 58109-190 – Campina Grande – PBwww.ufcg.edu.br/ – Fones: (0xx83) 310 1467/1192 – Fax: (0xx83) 310 1273
DSC/CCT/UFCGrang
el@
dscu
fcge
dubr
/ ran
geld
eque
irop
@ya
hooc
ombr
Prof: José Eustáquio Rangel de Queiroz
Carga Horária: 60 horas
2
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Roteiro
5 Realce de Imagens5.1 Transformação da Escala de Cinza5.2 Modificação do Histograma5.3 Filtragem Espacial5.4 Realce de Imagens Multiespectrais
3
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Realce de Imagens Questões preliminares
Em queEm que consiste o realce de imagens? QuaisQuais os propósitos das diferentes
técnicas de realce de imagens? ComoComo as diferentes técnicas de realce
atuam sobre imagens? Em queEm que se baseia cada uma das diferentes
técnicas de realce de imagens?
Base de Discussão
4
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Histograma I
Representação gráfica do número de vezes em que cada nível de cinza aparece em uma imagem digital Freqüência de Freqüência de ocorrênciaocorrência dos valores de brilhovalores de brilho na imagem
Representação de um histograma com NN níveis de cinza Array unidimensional contendo NN elementos
II
3131
00
159159
127127
9595
6363
223223
191191
255255
00 11 22 33 44 55 66 77 88
II
3131
00
159159
127127
9595
6363
223223
191191
255255
00 11 22 33 44 55 66 77 88 Nc
5
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Histograma II
Algoritmo Criar um array hhii [i(x,y)][i(x,y)] para o
armazenamento da freqüência de ocorrência de TODOS os níveis de cinza da imagem i(x,y)i(x,y);
Inicializar o array com valores nulos para TODOS os elementos;
Varrer a matriz de imagem pixel a pixel, armazenando em hhii [i(x,y)][i(x,y)] cada ocorrência registrada.
6
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exemplos de Histogramas
perc
entu
al d
e pi
xels
níveis de cinza 2550
3
perc
entu
al d
e pi
xels
níveis de cinza 2550
1
perc
entu
al d
e pi
xels
níveis de cinza 2550
2
Histograma III
7
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Operações Pontuais Operações Aritméticas Operações Lógicas Operações Histogrâmicas
Transformação da Escala de Cinza I
8
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Operações Aritméticas Adição Subtração Multiplicação Divisão Máximo Mínimo
Transformação da Escala de Cinza II
9
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exercício 01 Implementar algoritmos que possibilitem
ao usuário a execução de operações aritméticas sobre imagens
Para uma dada imagem indicada pelo usuário, as operações implementadas deverão considerar o uso de constantes ou de outras imagens
Considerar o uso de valores default, que possam ser úteis para as escolhas do usuário
Transformação da Escala de Cinza III
10
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Operações Lógicas ANDAND OROR NOTNOT XORXOR NANDNAND NORNOR
Transformação da Escala de Cinza IV
11
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exercício 02 Implementar algoritmos que possibilitem
ao usuário a execução de operações lógicas sobre imagens
Para uma dada imagem selecionada pelo usuário, as operações implementadas deverão indicar claramente o efeito resultante
Transformação da Escala de Cinza V
12
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Operações Histogrâmicas Expansão/ Compressão de Contraste Equalização Histogrâmica
Transformação da Escala de Cinza VI
13
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão Linear de Contraste
Transformação da Escala de Cinza VII
he(nce)
2 4 6 8 10 12 14
nce
0
ncs
2 4 6 8 10 12 140
nceh s(n
cs)
24
68
1012
140
n cs
LUT
01234567
00000246
89
101112131415
810121315151515
nce ncs
LUT
01234567
00000246
89
101112131415
810121315151515
nce ncs
14
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão Linear de Contraste - Exemplo
Transformação da Escala de Cinza VIII
15
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Inversão Linear de Contraste
Transformação da Escala de Cinza XI
0 255
255
nce
h(nce)
0 255
255
ncs
nce
025
5
255
n cs
h(n
cs)
16
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Inversão Linear de Contraste - Exemplo
Transformação da Escala de Cinza X
17
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão de Contraste Linear por Partes I
Transformação da Escala de Cinza XI
Pontos de Quebra
0255
255
1
2
3
4
6
ncs
nce
18
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão de Contraste Linear por Partes II
Transformação da Escala de Cinza XII
255
255
0
ncs
nce 255
255
0
ncs
nce
Expansão de Componentes Escuras com Compressão de
Componentes Claras
Expansão de Componentes Claras com Compressão de
Componentes Escuras
19
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão de Componentes Escuras com Compressão de Componentes Claras – Exemplo EECC
Transformação da Escala de Cinza XIII
20
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Compressão de Componentes Escuras com Expansão de Componentes Claras – Exemplo CEEC
Transformação da Escala de Cinza XIV
21
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exercício 03 Implementar um algoritmo que
possibilite ao usuário a configuração do processo de realce linearlinear de contraste de imagens
Oferecer 2 modos de configuração da transformação linear
GráficoGráfico , através do qual o usuário construirá a curva associada à transformação desejada
Não gráficoNão gráfico , a partir do qual o usuário selecionará uma dentre um grupo de transformações possíveis e definirá constantes que a caracterizarão
Transformação da Escala de Cinza XV
22
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão de Contraste Não-Linear I
Transformação da Escala de Cinza XVI
255
255
0
ncs
nce 255
255
0
ncs
nce
Expansão de Componentes Escuras com Compressão de
Componentes Claras
Expansão de Componentes Claras com Compressão de
Componentes Escuras
C1
ncs =C2.log(Knce)+C1
1/K
C1 + C2
ncs=C2.e +C1(Knce)
Assíntotas
1/K
23
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão de Contraste Não-Linear II - Exemplo EECC
Transformação da Escala de Cinza XVII
24
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Expansão de Contraste Não-Linear II - Exemplo CEEC
Transformação da Escala de Cinza XVIII
25
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exercício 04 Implementar um algoritmo que
possibilite ao usuário a configuração do processo de realce não linearnão linear de contraste de imagens
Oferecer 2 modos de configuração da transformação linear
GráficoGráfico , através do qual o usuário construirá a curva associada à transformação desejada
Não gráficoNão gráfico , a partir do qual o usuário selecionará curvas pré-definidas que caracterizarão a transformação desejada (vide Fig. 3.6 do Gonzalez e Woods)
Transformação da Escala de Cinza XIX
26
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Equalização Histogrâmica I Propósito Produção de uma imagem
com valores de brilho igualmente distribuídos ao longo de toda a escala de brilho
Efeito Realce do contraste dos valores de brilho próximos aos máximos do histograma e redução do contraste daqueles próximos aos mínimos
Geração de melhores resultados do que a expansão de contraste típica, além do que a estratégia é totalmente automática
Transformação da Escala de Cinza XX
27
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Equalização Histogrâmica II H(nH(ncece)) o histograma de entrada e
[[ nnceceminmin, n, ncecemax max
]] a faixa de níveis de cinza registrada na imagem de entrada
Propósito Mapeamento monotônico dos valores de brilho dos pixels, tal que o histograma de saída H(nH(ncscs)) seja uniforme ao longo da escala de cinza de saída [[ nncscsminmin
, n, ncscsmax max ]]
== ==
==jj
ii
jj
ii00 00H(nH(nceceii
))H(nH(ncscsi i ))
Transformação da Escala de Cinza XXI
28
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br nncscs00
))(( nncscs
MNMNnncscsffkk--==
Considerações Sejam imagens com MM linhas e NN colunas Equalização do Histograma Função
densidade de probabilidade uniforme com valor constante
Transformação da Escala de Cinza XXII
29
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Obtenção do histograma equalizadoequalizado Densidade de probabilidade contínua “idealizada”
Transformação da Escala de Cinza XXIII
ds =ds ===nncscs
MNMNdsds00
nncscs
nncscs
00nncscs nncscs00
))(( nncscs
11ssffkk--
MN (nMN (ncscs - n - ncscs00 ))
nncscs00nncscskk-- dsds
00nncece
))((ssHH==nncece
30
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Derivação da transformação de brilho dos pixels
Aproximação discreta da transformação contínua de brilho dos pixels
Transformação da Escala de Cinza XXIV
MNMNnncscs00nncscskk
-- dsds
00nncece
))((ssHHnncece
==nncscs + n+ ncscs00
Histograma Cumulativo
MNMNnncscs00nncscskk
--∑∑
i = ni = ncece00
))(( iiHHnncece
==nncscs + n+ ncscs00
31
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Algoritmo I Para uma matriz de imagem N x MN x M com NNcc níveis
de cinza, computar o histograma da imagem HHee
Para o histograma cumulativo HHCC
HHeeC C [0] = H[0] = Hee [0] [0]
HHeeC C [n[ncece ] = H] = Hee [n[ncece – 1] + H – 1] + Hee [n[ncece ]] , para n, para nce ce = 1, = 1,
…, N…, Ncc
Determinar
Transformação da Escala de Cinza XXV
--]][[11 nnceceHH
NMNMNNccT(T(nncece ) = rnd ) = rnd cc
32
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Algoritmo II Reler os níveis de cinza dos pixels da
imagem de entrada Para cada nível de cinza relido, calcular o
pixel da imagem de saída a partir de
Transformação da Escala de Cinza XXVI
= = T(T(nncece ) ) nncscs
33
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exemplo I
Transformação da Escala de Cinza XXVII
34
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exemplo II
Transformação da Escala de Cinza XXVIII
35
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exercício 05 Implementar um algoritmo que
possibilite ao usuário a execução do processo de equalização do histograma de imagens previamente selecionadas e a visualização dos resultados do processamento
Transformação da Escala de Cinza XXIX
36
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br (x,y)(x,y) (x+1,y)(x+1,y)(x-1,y)(x-1,y)
(x,y-1)(x,y-1)
(x,y+1)(x,y+1)
(x+1,y-1)(x+1,y-1)(x-1,y-1)(x-1,y-1)
(x-1,y+1)(x-1,y+1) (x+1,y+1)(x+1,y+1)
Relações Básicas de Pixels I
xx
yy
(0,0)(0,0)
Método Convencional de Indexação
37
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
PP (x+1,y)(x+1,y)(x-1,y)(x-1,y)
(x,y-1)(x,y-1)
(x,y+1)(x,y+1)
Vizinhanças de um Pixel I
xx
yy
(0,0)(0,0) Vizinhança 4-conectada4-conectada
NN44(p) = (p) = (x-1,y)(x-1,y)(x+1,y)(x+1,y)(x,y-1)(x,y-1)(x,y+1)(x,y+1)
q q N N44(p)(p) ⇒ p p N N44(q)(q)
38
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
PP (x+1,y)(x+1,y)(x-1,y)(x-1,y)
(x,y-1)(x,y-1)
(x,y+1)(x,y+1)
Vizinhanças de um Pixel II
xx
yy
(0,0)(0,0)
Vizinhança 8-conectada8-conectada
(x+1,y-1)(x+1,y-1)(x-1,y-1)(x-1,y-1)
(x-1,y+1)(x-1,y+1) ((x+1,y+1x+1,y+1))
(x-1,y-1)(x-1,y-1)(x,y-1)(x,y-1)
(x+1,y-1)(x+1,y-1)(x-1,y)(x-1,y)(x+1,y)(x+1,y)
(x-1,y+1)(x-1,y+1)(x,y+1)(x,y+1)
(x+1,y+1)(x+1,y+1)
NN88(p) = (p) =
39
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
PP
Vizinhanças de um Pixel III
xx
yy
(0,0)(0,0)
Vizinhança DiagonalDiagonal
(x+1,y-1)(x+1,y-1)(x-1,y-1)(x-1,y-1)
(x-1,y+1)(x-1,y+1) ((x+1,y+1x+1,y+1))
(x-1,y-1)(x-1,y-1)(x+1,y-1)(x+1,y-1)(x-1,y+1)(x-1,y+1)
(x+1,y+1)(x+1,y+1)NNDD(p) = (p) =
40
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Otimização do processo de visualização para a interpretação visualinterpretação visual conforme o contexto
Otimização das características da imagem para interpretação automáticainterpretação automática
Filtragem Espacial I
41
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtragem Espacial II
Redução de ruídoruído Discriminação de características
contornoscontornos regiõesregiões texturatextura
42
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtragem Espacial II
Operadores de Vizinhança
Transformação dos pixels Consideração da correlação espacial
SuavizaçãoSuavização RegiõesRegiões
ContornosContornosAguçamentoAguçamentode Bordasde Bordas
43
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
ParâmetrosParâmetros
Preto0
Tonsde
cinza
255 Branco
TransformaçãoTransformação
p1 p2 p3
p4 pp55 p6
p7 p8 p9
Filtragem Espacial III
IIss xx yy IIee x x –– ii y y –– jj mm ii jjii
M M -- 11
jj
N N -- 11
(( ,, ) = ) = (( ,, ).). (( ,, ) ) == ==
00 00
44
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Convolução Espacial
Transformações Lineares e Não Lineares
Filtragem Espacial IV
IIss xx yy IIee x – ix – i y – jy – j mm ii jjii
M - 1M - 1
jj
N - 1N - 1
(( ,, )) (( ,, ).). (( ,, ) ) = I= Iee(x(x ,, y) y) ⊗⊗ m(im(i ,, j) = j) = == ==
00 00
45
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Classes de Filtros Lineares Não Lineares Homomórficos Morfológicos
Filtragem Espacial V
46
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Máscara ou Kernel I matriz de pesos Exemplo Filtro boxbox
m(i,m(i, j) = 1/aj) = 1/a22 , se (0 (0 i i a) a) e (0 (0 j j a) a)
Filtragem Espacial VI
1/a
1/a
a
47
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Máscara ou Kernel II Filtro boxbox discreto (3 × 3)(3 × 3) aa22=9=9
Filtragem Espacial VI
111111111
m[i, j] =m[i, j] = 11//99111111111
××11//99 ××11//99 ××11//99
××11//99 ××11//99 ××11//99
××11//99 ××11//99 ××11//99
Entrada Saída
IIs s [x,[x, y]y]
48
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Algoritmo
s = 0;for (i= -n-n; i<=nn; i++) for (j= -n-n; j<=nn; j++) s += ie[x+i, y+j] * m[i,j];is[x,y] = s;
Máscara 3 × 33 × 3 n=1n=1
Filtragem Espacial VII
49
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Aplicações Suavização (box, gaussiano) Detecção de Bordas (Prewitt, Sobel,
Laplaciano) Realce de Bordas Gradiente
Filtragem Espacial VIII
50
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
1010 1111 1010 99 1010 55 66 55 44 55
1010 1010 1010 1010 88 77 55 55 55 55
Linha de entrada
mais claro mais escuro
Borda suavizada
filtro boxbox 1 × 31 × 3
Linha de saída
Borda original
Suavização I
51
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Bordas suavizadas
Suavização II
Filtro box 3x3box 3x3
52
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
g(i,g(i, j) = j) = 11/ / ((22)) ee - (i- (i 22+j+j
22)) /2/2 22
Filtro gaussianogaussiano discreto 5x55x5 ( = 1,4 = 1,4 )
Suavização III
44
1515 1212
99121299
1212
99 1212 99
44
55
44
44
55
44
44554422 22
44 5522 22
m[i, j] =m[i, j] = 11//115115
44
Filtro gaussiano gaussiano I
53
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Bordas suavizadas
Suavização IV
Filtro gaussiano 3x3gaussiano 3x3 Perda de detalhes
54
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Detecção de Bordas I
f(x)
df(x) dx
df(x)df(x) f(x+h) - f(x)f(x+h) - f(x) dx h dx h
Perfil de linha
Borda
IIs s [x,y] = I[x,y] = Iee [x+1,[x+1, y] – Iy] – Ie e [x,[x,
y]y]
(É necessário remapear o resultado para a faixa 0-1)
x
x
000000-1-11100000000
m[i, j] =m[i, j] = 11//99
55
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
1010 1111 1010 99 1010 55 66 55 1010 1111
55 55 55 55 55 33 55 55 77 55
Linha de entrada
mais claro mais escuro
Pixel escuro
Linha de saída
Bordas originaismais claro
-1-1 11 = {Ie[i] - Ie [i-1]}/2 + 5m[i]=
Pixel escuro
Detecção de Bordas II
56
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Uso de grupos de linhas vizinhas Minimização de bordas com um único
pixel Direcionamento preferencial do processo
de detecção Operador de Prewitt
Detecção de Bordas III
1100-1-11100-1-11100-1-1
m[i, j] m[i, j] ==
-1-1-1-1-1-1000000111111
m[i, j] m[i, j] ==
Bordas verticais
Bordas horizontais
57
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Operador de Sobel Redução do peso para as linhas/colunas
vizinhas
Detecção de Bordas IV
1100-1-12200-2-21100-1-1
m[i, j] m[i, j] ==
-1-1-2-2-1-1000000112211
m[i, j] m[i, j] ==
Bordas verticais
Bordas horizontais
58
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Operador de Sobel 3x3Sobel 3x3
Detecção de Bordas V
59
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Gradiente
P = [P = [ P/P/ x, x, P/P/ y]y] PP Altura do terreno PP Vetor de “elevação” ||P|P| Declividade do terreno
P/P/xx Derivada horizontal P/P/ yy Derivada vertical ||P|P| Gradiente de força
Desconsideração da orientação
P/P/xx
P/P/yy
elevação
http://www.cse.ucsc.edu/~milanfar/SP-IC-FilterDesignV3.pdfhttp://www.cse.ucsc.edu/~milanfar/SP-IC-FilterDesignV3.pdf
60
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Laplaciano I
Laplaciano de uma função 2D
Máscara discreta 3 x 33 x 3 baseada na definição do Laplaciano
22
22
22
2222
yyff
xxffff
++==
))((44 886644225522 ppppppppppff ++++++--==
p1 p2 p3
p4 pp55 p6
p7 p8 p9
61
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Laplaciano II
Não orientação das bordas 22P = P = 22P/P/xx 22 + + 22P/P/yy 22 (2as derivadas)
Escalar, não vetor Estimação da 2ª derivada
00-1-100-1-144-1-100-1-100
m[i, j] m[i, j] == -1-1-1-1-1-1
-1-188-1-1-1-1-1-1-1-1
m[i, j] m[i, j] ==
62
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
dd f f = f ' (x) = f ' (x) f(x+h) − f(x+h) − f(x)f(x) dx hdx h
dd 22f f = f " (x) = f " (x) f '(x+h) − f '(x)f '(x+h) − f '(x)
dxdx22 h h f(x+2h) − 2f(x+h) + f(x)f(x+2h) − 2f(x+h) + f(x) h h22
f(x+h) − 2f(x) + f(x-h)f(x+h) − 2f(x) + f(x-h) h h22
dd 22f f = f " (y) = f " (y) f(x+h) − 2f(x) + f(x-h)f(x+h) − 2f(x) + f(x-h)
dydy22 h h22
Estimação da 2ª Derivada - Demonstração
Laplaciano III
63
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Laplaciano puro Uso prático limitado Sensibilidade inaceitável ao ruído
(enquanto derivada de segunda ordem) Produção de bordas duplas na imagem Incapacidade de detecção da direção da
borda
Laplaciano IV
64
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Usos significativos do Laplaciano Puro Determinação da localização de bordas
Uso da propriedade de cruzamentos por zero
Detecção do lado em que um pixel se encontra de uma borda (lado escuro ou claro)
Laplaciano V
65
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Uso freqüente Convolução de uma imagem com o Laplaciano de uma função Gaussiana 2D
Desvio padrão
Laplaciano VI
g(i,g(i, j) = −ej) = −e −(i−(i 22+j+j
22)) /2/2 22
Laplaciano de g(i,g(i, j) j)
Valor de Grau de “borradura” da imagem
22gg==−−[(r[(r22−− )/)/ ]]22 44 ee −− (i(i
22+j+j 22)) /2/2
22
22
22gg
66
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
00
1616 -2-2
-1-1-2-2-1-1
-2-2
-1-1 -2-2 -1-1
00
-1-1
00
00
-1-1
00
00-1-10000 00
00 -1-100 00
Filtro laplacianolaplaciano discreto 5x55x5
Laplaciano VII
67
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Aguçamento de Bordas I
Sharpening Identificação e destaque (amplificação)
de bordas, seguida de sua adição à imagem
IIss [x,y] = I[x,y] = Iss [x,y] – [x,y] – αα ×× borda[x,y]borda[x,y]
00--00--1+ 41+ 4--00--00
m[i, j] m[i, j] ==
Filtro laplacianolaplaciano discreto 3x33x3
68
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Aguçamento de Bordas II
Operador Laplaciano 3x3Laplaciano 3x3
69
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Processos Não Lineares I
De-speckleDe-speckle Filtro da MedianaMediana Filtro BilateralBilateral
70
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
De-speckle De-speckle I Considerar IIee [x,y][x,y] e vizinhos Computar o desvio padrãodesvio padrão () Se ( < limiar < limiar )
IIss [x,y][x,y] = média dos pixels= média dos pixels (i.e., “borrar”) Aplicação Remoção de pontos ruidosos
individuais Manchas de poeira ou sujeiras no sistema
óptico Ruído salt-and-pepper
Processos Não Lineares II
71
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
De-speckle De-speckle II
Processos Não Lineares III
72
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro da Mediana Mediana I Considerar IIee [x,y][x,y] e vizinhos IIss [x,y][x,y] = mediana dos pixels= mediana dos pixels
Aplicação Remoção de ruído com preservação de bordas
Efeito de suavização melhor do que o efeito de “borradura” (blurring)
Processos Não Lineares IV
73
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro da Mediana Mediana II
Processos Não Lineares V
74
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral I Proposição original por Tomasi e
Manduchi (1998) como uma ferramenta heurística para a remoção de ruído
Proposição de filtro similar (TV DigitalTV Digital) por Chan, Osher e Chen (2001)
Processos Não Lineares VI
http://www-sccm.stanford.edu/~elad/Journals/08_Bilateral_Filter_IP.pdf
http://www.cs.umsl.edu/~he/papers/ieeeroad.pdf
75
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral II Substituição de cada pixel central sob a
máscara por uma média ponderada em uma vizinhança (2N+1) x (2N+1)(2N+1) x (2N+1)
Associação dos pesos a 2 aspectos Quão próximosQuão próximos estão os vizinhos do
pixel central Quanto mais próximomais próximo maior o pesomaior o peso
Quão similaresQuão similares são os vizinhos do pixel central Quanto mais similarmais similar maior o maior o pesopeso
Normalização de todos os pesos Preservação da média local
Processos Não Lineares VII
76
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral III Seja xx a localização do pixel considerado
e = = xx(N)(N)os pixels da imagem em uma vizinhança (2N+1) x (2N+1)(2N+1) x (2N+1) de xx
Cálculo do peso de cada x’ x’ ∈∈ com relação a xx Produto de 2 componentes (1 espacial e 1 radiométrica)
p(x, x’) = pp(x, x’) = pE E (x, x’) p(x, x’) pR R (x, x’)(x, x’)
Processos Não Lineares VIII
77
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral IV Cálculo de ppE E (x, x’) (x, x’) e ppR R (x, x’)(x, x’)
ppE E (x, x’) = (x, x’) = ee - | x- | x – x’– x’
|| 22 / 2/ 2
EE 22
ppR R (x, x’) = (x, x’) = ee - | n- | ncxcx – n– ncx’cx’
|| 22 / 2/ 2RR
22
Necessidade de normalização dos pesos Cálculo do nível de cinza do pixel filtrado
nncx cx = = ∑∑ x’x’ ∈∈ p(x, x’) np(x, x’) ncx’ cx’ // ∑∑ x’x’ ∈∈ p(x, x’)p(x, x’)
Processos Não Lineares IX
78
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral V Decréscimo da função de ponderação
espacialespacial Aumento da distância espacial entre xx e x’x’
Decréscimo da função de ponderação radiométricaradiométrica Aumento da distância radiométrica entre nncxcx e nncx’cx’
Processos Não Lineares X
79
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral VI Componente espacialespacial do peso
Decréscimo da influência dos pixels mais distantes de xx
Redução (em geral) do efeito de “borradura” da imagem
Processos Não Lineares XI
80
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral VII Componente radiométricaradiométrica do peso
Decréscimo da influência dos pixels com valores de brilho significativamente diferentes daquele do pixel xx Aguçamento das bordas entre regiões
distintas da imagem
Processos Não Lineares XII
81
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Filtro Bilateral Bilateral VIII ppE E (x, x’) (x, x’) e ppE E (x, x’) (x, x’) NÃO necessitam
ser gaussianas Possibilidade de uso de QUAISQUER funções não negativas decrescentes a zero
Processos Não Lineares XIII
82
DSC/CCT/UFCG
rang
el@
dsc.
ufcg
.edu
.br/
ra
ngel
dequ
eiro
p@ya
hoo.
com
.br
Exercício 06 Implementar os algoritmos de filtragem
estudados, possibilitando ao usuário a escolha das dimensões das máscaras de filtragem onde for pertinente.
Exercício 07 Ler o artigo disponibilizado em
http://www . cs . umsl . edu/~he/papers/ ieeeroad.pdf e implementar os filtros ROADROAD e trilateraltrilateral.
Processos Não Lineares XIV
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE – UFCGAv Aprígio Veloso, S/N – Bodocongó – CEP: 58109-190 – Campina Grande – PBwww.ufcg.edu.br/ – Fones: (0xx83) 310 1467/1192 – Fax: (0xx83) 310 1273
DSC/CCT/UFCGrang
el@
dscu
fcge
dubr
/ ran
geld
eque
irop
@ya
hooc
ombr
José Eustáquio Rangel de QueirozProfessor Adjunto DSC/UFCG
E-mail: [email protected]@yahoo.com.br
Site departamental: www.ufcg.edu.br/~rangel
Fone: 1119/1120 Ramal 2214