Processamento Digital de Imagens
Realce de Imagens
Eduardo A. B. da Silva
Programa de Engenharia Elétrica - COPPE/UFRJ
Laboratório de Sinais, Multimídia e Telecomunicações
eduardo@smt.ufrj.br
Sergio L. Netto
Programa de Engenharia Elétrica - COPPE/UFRJ
Laboratório de Sinais, Multimídia e Telecomunicações
Sumário
Sumário
1
Realce de Imagens
Operações Pontuais
Operações Pontuais
Modelagem de Histogramas
Operações Espaciais
Mapeamento Inverso de Contraste e Escalamento Estatístico
Interpolação e Zoom
Operações no Domínio das Transformadas
Filtragem Homomórfica
Realce de Imagens Operações Pontuais
Operações Pontuais
Não usam memória;
Realce de Imagens Operações Pontuais
Operações Pontuais
Contrast Stretching
0 ≤ x (m, n) ≤ L
v =
αu,
0 ≤ u < a
β(u − a) + va,
a ≤ u < b
γ(u − b) + vb,
b ≤ u ≤ L
v
L
a
b
α
β
γ
Realce de Imagens Operações Pontuais
Realce de Imagens Operações Pontuais
Realce de Imagens Operações Pontuais
Thresholding: α = γ = 0; a = b = t
Realce de Imagens Operações Pontuais
Negativo Digital:
L
L
u
v
Realce de Imagens Operações Pontuais
Intensity Slicing:
v
u
L
a
b
(sem background)
45
o
v
u
(com background)
L
a
b
Realce de Imagens Operações Pontuais
Extração de Bits:
u = k
1
2
B−1
+ k
2
2
B−2
+ · · · + k
n
2
B−n
+ · · · + k
B−1
2 + k
B
k
n
=
h
u
2
B−n
i
−
h
u
2
B−n+1
i
×2,
v =
(
L,
k
n
= 1
0,
n.d .p.
Ajuda a determinar o número de bits visualmente significativos.
Realce de Imagens Operações Pontuais
Compressão de Faixa Dinâmica:
v = c log
10
(1+ | u |)
u
v
Realce de Imagens Modelagem de Histogramas
Modelagem de Histogramas
Realce de Imagens Modelagem de Histogramas
Realce de Imagens Modelagem de Histogramas
Imagem Superexposta:
Realce de Imagens Modelagem de Histogramas
Equalização de histogramas:
Caso Contínuo: u com pdf p
u
(u)
v = F
u
(u) =
Z
u
0
p
u
(u)du
possui densidade uniforme em [0, 1]
P[v ≤ V ] = P[u ≤ F
u
−1
(V )] =
Z
F
u−1(V )
0
p
u
(u)du
= F
u
(F
u
−1
(V )) = V
= V
Realce de Imagens Modelagem de Histogramas
Caso Discreto: u com L níveis x
i
, i = 0, 1, · · · , L − 1,
prob. p
u
(x
i
)
p
u
(x
i
) =
n
i
n
=
h(x
i
)
P h(x
i
)
v (u) =
k
X
i −0
p
u
(x
i
),
x
k
≤ u < x
k+1
⇒ Se não requantizo V , faço só “histogram stretching”, e mantenho mais ou menos a forma:
0 101 0 1 00 00 11 11 0 0 1 1 00 00 11 11 00 11 0 1000111 00000000000000000000000 11111111111111111111111 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 000 000 000 000 000 000 111 111 111 111 111 111 0000000 0000000 0000000 0000000 0000000 0000000 1111111 1111111 1111111 1111111 1111111 1111111
x
1
x
2
x
L
0v(x
1
)
v(x
2
)
v(x
L
)
=1p(x
1
)
p(x
2
)
Realce de Imagens Modelagem de Histogramas
Se, ao contrário, re-quantizo v , tenho:
0 1 0 0 1 1 0 101 00 11 00 00 11 11 00 00 11 11 0 0 1 1 0 0 1 1 00 00 11 11 0 0 1 1 0 1 0 1 00 11 0 1 0 1 0 1 00 11 0 0 1 1 0 1 0 1 0 0 1 1 00 00 11 11 0 0 1 1 00 00 11 11 00 11 0 0 1 1 0 101 0 1 00 11 00 11 01 0 0 1 1 0 1 01 000000000000000000000000000000 111111111111111111111111111111 0 0 1 1 0 0 0 1 1 1
x
1x
2x
3x
4x
5x
6x
7x
8x
9x
10x
11v
0v(x
3)
v(x
8)
v(x
9) v(x
10)
v(x
11)
p
1+ p
2+ p
3p
4+
· · · + p
7p
8p
9p
10+ p
11˙v(x
1) =
˙v(x
2) =
˙v(x
4) =
· · ·
˙v(x
8)
˙v(x
9) ˙v(x
10) =
˙v(x
11)
˙v
v(x
4) v(x
6)
v(x
1)
v(x
2)
v(x
5)
v(x
7)
Realce de Imagens Modelagem de Histogramas
˙v =
v − v
mn
1 − v
mn
(L − 1) + 0.5
Realce de Imagens Modelagem de Histogramas
Especificação de Histogramas:
p
u
(u) → p
v
(v )
Se w uniforme: u → w
w (u) =
Z
u
0
p
u
(u)du = F
u
(u)
v → w
w (v ) =
Z
v
0
p
v
(v )dv = F
v
(v )
⇒ v = F
−1
v
(w ) = F
v
−1
(F
u
(u))
Realce de Imagens Modelagem de Histogramas
u e v discretas: u : x
i
, i = 0, , · · · , L − 1,
p
u
(x
i
)
v : y
i
, i = 0, , · · · , L − 1,
p
v
(y
i
)
Sejam
w =
n
X
i =0
p
u
(x
i
),
x
k
≤ n < x
k+1
˜
w
k
=
k
X
i =0
p
v
(y
i
),
k = 0, · · · , L−1
Seja w
·
= ˜
w
n
tal que
(
˜
w
n
− w ≥ 0,
˜
w
n−1
− w < 0
(
·)
w
w
·
u
y
n
= v
·
Realce de Imagens Modelagem de Histogramas
Ex: x
i
= y
i
= 0, 1, 2, 3;
p
u
(x
i
) = 0.25, i = 0, 1, 2, 3
p
v
(y
0
) = p
v
(y
3
) = 0, p
v
(y
1
) = p
v
(y
2
) = 0.5
u p
u
(x
i
)
w
p
v
(y
i
)
w
˜
k
w
·
n
v
·
0
0.25
0.25
0.0
0.00 0.50 1 1(y
1
)
1
0.25
0.50
0.5
0.50 0.50 1 1(y
1
)
2
0.25
0.75
0.5
1.00 1.00 2 2(y
2
)
3
0.25
1.00
0.0
1.00 1.00 2 2(y
2
)
Realce de Imagens Modelagem de Histogramas
Realce de Imagens Operações Espaciais
Operações Espaciais
Realce de Imagens Operações Espaciais
Médias Espaciais e Filtragem Passa-Baixas
v (m, n) =
X
X
(k,l )∈W
a(k, l )y (m−k, n−l )
Ex: a(k, l )
1/9
1/9
1/9 1/9 1/9
1/9
1/9
1/9 1/9
-1
0
1
-1
0
1
1/4
1/4 1/4
1/4
1
1
0
0
0
1/8
0
1/8
0
1/8
1/2
1/8
0
-1
0
1
-1
0
1
Se y (m, n) = u(m, n) + η(m, n),
η(m, n) = ruído
⇒ v (m, n) =
P P u(m − k, n − l) +
η(m, n)
˜
|
{z
}
tende a ser pequeno
Realce de Imagens Operações Espaciais
Ou, na frequência:
v
ltro
Realce de Imagens Operações Espaciais
Realce de Imagens Operações Espaciais
Directional Smoothing: (Quando tenho arestas predominando numa direção)
00 11 01 00 00 11 11 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 01 00 00 11 11 0 0 1 1 00 00 11 11 0 0 1 1 0 0 1 1 0 0 1 1 0 1 01 0 1 01 0 1 01 0 1 01 0 0 1 1 0 0 1 1 00 110011 00 00 11 11 00 00 11 11 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 00 00 11 11 0 0 1 1 00 00 11 11 0 0 1 1 0 0 1 1 0 1 0 1 01 0 10011 0 0 1 1 00 00 11 11 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 00 00 11 11 0 10011 0 1 01 0 1 01
W
θθ
v (m, n, θ) =
1
Nθ
X
(k,l )∈Wθ
y (m − k, n − l )
uso θ
∗
tal que | y (m, n) − v (m, n, θ) | é mínimo
⇒ v (m, n) = v (m, n, θ
∗
)
Realce de Imagens Operações Espaciais
Realce de Imagens Operações Espaciais
Filtragem por Medianas:
v (m, n) = mediana{y (m − k, n − l ), 9k, l ) ∈ W }
1
É não linear;
2
Bom para ruído impulsivo;
3
Ruim quando há muito ruído na janela;
Se a janela tem N
W
elementos, e a mediana é o
N
W
+ 1
2
maior valor, sua busca requer
(N
W
− 1) + (N
W
− 2) + · · · +
N
W
− 1
2
=
3(N
W
− 1)
8
.
⇒ posso reduzir para
1
2
N
W
log
2
N
W
.
Se uma janela de tamanho k se move, a cada pixel k novos valores entram e k saem ⇒ a nova
mediana pode ser achada em k(N
+ 1) comparações.
Realce de Imagens Operações Espaciais
Realce de Imagens Operações Espaciais
Outras Formas de Suavização
⇒ Só substituir o valor pela média quando o ruído é grande, isto é, | v (m, n) − y (m, n) |≥
threshold.
⇒ Mais algoritmos no Capítulo 8 (Image Restoration).
Unsharp Masking e Crispening
v (m, n) = u(m, n)+λg (m, n),
0 < λ < 1,
g (m, n) =
0
-1/4
0
-1/4
0
-1/4
1
-1/4
0
original
lowpass
original
− lowpass
1 + λ(original
− lowpass)
Realce de Imagens Operações Espaciais
A (original)
B (fora de foco)
C (B filtrado LP)
D (B-C)
Realce de Imagens Operações Espaciais
Realce de Imagens Operações Espaciais
Passa Baixas, Passa Altas e Passa Bandas
Passa Baixas: médias: h
LP
(m, n) ⇒ suavização de ruído e interpolação.
Passa Altas: h
HP
(m, n) = δ(m, n) − h
LP
(m, n) ⇒ realce de arestas.
Passa Bandas: h
BP
(m, n) =
h
L
1(m, n)
|
{z
}
média com janela pequena
−
h
L
2(m, n)
|
{z
}
média com janela grande
Realce de Imagens Operações Espaciais
Realce de Imagens Mapeamento Inverso de Contraste e Escalamento Estatístico
Mapeamento Inverso de Contraste e Escalamento Estatístico
A habilidade para detectar um objeto em um background uniforme depende do tamanho do
objeto e da razão de contraste:
variancia do objeto e seu entorno
luminancia media do objeto
γ =
σ
µ
Seja: v (m, n) =
µ(m, n)
σ(m, n)
⇒ µ e σ calculadas dentro de uma janela W .
µ(m, n) =
1
N
W
X
(k,l )∈W
u(m − k, n − l )
σ(m, n) =
1
N
W
X
(k,l )∈W
[u(m − k, n − l) − µ(m, n)]
2
12
Realce de Imagens Interpolação e Zoom
Interpolação e Zoom
Replicação:
H =
1 1
1
1
Esquema geral:
•
Coloco zeros;
•
Filtro com H “n” vezes ⇒ (n − 1) order hold.
Realce de Imagens Interpolação e Zoom
Interpolação:
Realce de Imagens Operações no Domínio das Transformadas
Operações no Domínio das Transformadas
Filtragem Linear Generalizada (Zonal Masking):
U
TransformadaV
f (
·)
Inversa TransformadaV
·
U
·
V = AUA
t
U
·
= A
−1
V
·
(A
t
)
−1
LPF
LPF
LPF
LPF
0
0
N-1
N-1
BPF
BPF
BPF
BPF
HPF
DFT:
DCT,
DST,
Hadamard,
LPF
0
0
N-1
N-1
BPF
HPF
Realce de Imagens Operações no Domínio das Transformadas
Realce de Imagens Operações no Domínio das Transformadas
Filtro Gaussiano Inverso: máscara zonal g (k, l ) = e
k2 +l 22σ2.
⇒ Observar que isto é válido para DCT, DST, Hadamard, etc. Para a DFT, modificar de acordo.
⇒ Ênfase de altas frequências de imagens borradas por fenômenos que podem ser modelados por
PSF’s Gaussianas (por exemplo, turbulência atmosférica).
Filtragem por Raiz
Seja V a DFT de U, v (k, l ) =| v (k, l ) | e
jθ(k,l )
.
⇒ ˙v (k, l) =| v (k, l) |
α
e
jθ(k,l )
,
0 ≤ α ≤ 1
Imagens normais: como | v (k, l ) | tende a cair em altas frequências, α ≤ 1 leva a enfatizar altas
frequências.
Realce de Imagens Filtragem Homomórfica
Filtragem Homomórfica
Seja o modelo de imagem dado por y (m, n) = x (m, n)
|
{z
}
reflectância
i (m, n)
|
{z
}
iluminação
⇒ Problemas ocorrem em casos que a iluminação é ruim, ou está muito escuro em algumas áreas
da cena e muito claro em outras.
⇒ i(m, n) depende da fonte de iluminação (e varia dependendo de sua intensidade);
⇒ x (m, n) depende da das propriedades do objeto (e normalmente não varia);
⇒ Queremos reduzir a influência da iluminação (que tipicamente varia pouco dentro da imagem)
enquanto realçamos o contraste do objeto.
log(y (m, n)) = log(x (m, n)) + log(i (m, n)) ⇒ Passo um filtro passa bandas em y , de modo que
as variações de baixa frequência de i (m, n) sejam anuladas, faço e
y (m,n)
:
Realce de Imagens Realce de Imagens Multi-Espectrais
Realce de Imagens Multi-Espectrais
Sequências de I imagens da mesma cena, uma em cada espectro de frequências (Ex: visível,
infravermelho, etc.)
⇒ Tipicamente 1 ≤ I ≤ 12
⇒ Gero I imagens a partir do conjunto que tenha as características principais bem
representadas.
3 métodos principais:
1
Razões de Intensidade: R
ij
(m, n) =
u
i
(m, n)
u
j
(m, n)
,
i 6= j ⇒
escolho
os
R
ij
mais
significati-vos.
2
Razões de Logaritmos: uso log R
ij
quando sua faixa dinâmica é muito grande.
Realce de Imagens Realce de Imagens Multi-Espectrais
3
Componentes Principais:
u(m, n) =
u
1
(m, n)
u
2
(m, n)
..
.
u
I
(m, n)
⇒ Acho Φ, a KLT de u(m, n)
⇒ v (m, n) = Φu(m, n) ⇒ uso I
0
< I imagens v (m, n)mais significativas.
Realce de Imagens Falsa Cor e Pseudo-Cor
Falsa Cor e Pseudo-Cor
Posso distinguir mais cores que níveis de cinza.
⇒ Atribuo cores distintas a características distintas com base em um critério específico;
Feature extra tion Transforma ao de oordenadas de or Display
u(m, n)
v
1
(m, n)
v
2
(m, n)
v
3
(m, n)
R B GEX:
Níveis de cinza;
Médias espaciais;
⇒ Os mapeamentos bons de um modo geral são determinados experimentalmente.
Realce de Imagens Falsa Cor e Pseudo-Cor
Realce de Imagens Falsa Cor e Pseudo-Cor
Realce de Imagens Falsa Cor e Pseudo-Cor