Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
• A interpolação ou reamostragem de imagens é
amplamente utilizada em processamento de imagens e
vídeos.
• Ela é utilizada para ampliar, reduzir, e rotacionar
imagens.
• Também é utilizada para criar efeitos como
“morphing/warping”,
• para corrigir distorção da lente,
• para fazer interpolação de cores nos dispositivos para
aquisição de imagens (câmeras, scanners,etc),
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
• para registrar imagens (criar uma única
imagem “grudando” duas ou mais imagens),
estabilizar tremor da câmera de vídeo,
• para corrigir a movimentação do paciente em
imagens médicas,
• para normalizar imagens médicas que
envolvem vários sujeitos, etc.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
Interpolação – processo em que valores
conhecidos são usados para estimar
valores desconhecidos
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
a) Ampliação da imagem baseada no Método do
vizinho mais próximo: atribui a cada nova
posição o valor do pixel do seu vizinho mais
próximo na imagem original
replicação de pixels – caso especial quando
zoom é um numero inteiro de vezes (2, 3 , 4..)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
Considere uma imagem 500x500 e uma ampliação para 750x750;
Imagine um grid 750x750 com o mesmo espaçamento de pixels;
Reduza o grid para se sobrepor a imagem de 500x500;
Atribua a cada posição do grid 750x750 um valor de pixel mais
próximo na imagem original;
Expanda o grid 750x750 para seu espaçamento original
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação VMP
• Efeito de blocos
• Processamento
rápido
• Não cria novos
valores de NC
(mantém
estatísticas da
imagem)
6
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
Exemplo considerando uma ampliação de duas vezes:
Considere a imagem
.....f(i,j)
f(i,j+1) .....
.....f(i+1,j) f(i+1,j+1) .....
.
.
acrescentando linhas e colunas de zeros, obtemos:
.....f(i,j)
0
f(i,j+1) .....
0
0
0
.... f(i+1,j) 0 f(i+1,j+1) .....
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Interpolação de imagem
www.imageprocessingbook.com
Após a interpolação temos a imagem reconstruída em
tamanho duplicado.
.....f(i,j)
f(i,j)
f(i,j+1) .....
f(i,j)
f(i,j)
f(i,j+1)
.... f(i+1,j) f(i+1,j) f(i+1,j+1) .....
Obs: a média dos níveis de cinza da imagem ampliada se
mantém constante.
A técnica é simples mas pode produzir artefatos e
distorções em linhas retas.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação Bilinear
• O valor obtido pela
média ponderada dos
NCs dos pontos E e F é
transferido para a posição
X
• Efeito de suavização
devido a operação de
média
9
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Interpolação de imagem
Exemplo Ampliação da imagem com interpolação bilinear com
zoom = 2
Considere a imagem:
.
.
.....f(i,j)
f(i,j+1) .....
.....f(i+1,j) f(i+1,j+1) .....
.
.
Acrescente linhas e colunas conforme ilustração
.....f(i,j)
b
.... f(i+1,j)
a
f(i,j+1) .....
c
d
e f(i+1,j+1) .....
Substitua: a = (f(i,j) + f(i,j+1)) / 2
e = (f(i+1,j) + f(i+1,j+1)) / 2
b = (f(i,j) + f(i+1,j)) / 2
d = (f(i,j+1) + f(i+1,j+1)) / 2
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Efeitos da Interpolação
1/2X
VMP
2X
Bilinear
11
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Interpolaçao de Imagens
Replicaççã de pixels
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Exercício
Faça uma função em Matlab que execute a
ampliação e a redução de imagens
monocromáticas (considere também fatores de
ampliação não inteiros) usando o método dos
vizinhos mais próximos e outra usando
interpolação bilinear.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Vizinhança de um pixel
a) Vizinhança-4 de um pixel p (N4(p))
Um pixel p na coordenada (x,y) tem 4 vizinhos cujas
coordenadas
são dadas por (x+1, y), (x-1, y), (x, y+1), (x, y-1)
b) Vizinhança diagonal de um pixel p (ND(p))
Um pixel p na coordenada (x,y) tem 4 vizinhos na diagonal
cujas coordenadas são dadas por (x+1, y+1), (x+1, y-1), (x-1,
y+1), (x-1, y-1)
c) Vizinhança-8 de um pixel p (N8(p))
O 8-vizinhos de um pixel p é o conjuntos dos N4(p) e dos
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Adjacencia
Dois pixels p e q estão adjacentes se são
vizinhos (segundo um tipo de vizinhança
adotada) e se seus elementos satisfazem um
determinado critério de similaridade (cor,
intensidade de cinza, textura);
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Adjacencia
Seja V o critério de similaridade.
Tipos de adjacência:
1. Adjacencia-4: dois pixels p e q são adjacentes-4
se satisfazem V e q ϵ N4(p);
2. Adjacencia-8: dois pixels p e q são adjacentes-8
se satisfazem V e q ϵ N8(p);
3. Adjacencia-m: dois pixels p e q são adjacentesm se satisfazem V e se
q ϵ N4(p) ou
q ϵ ND(p) e N4(p) ∩ N4(q) não possuem
pixels que satisfazem V.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Adjacencia
• A adjacencia-m é uma modificação da
adjacencia-8;
• Útil para eliminar ambigiudades que ocorrem
quando adjacencia• 8 é usada.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
caminho
Um caminho de um pixel p com coordenadas (x0,y0)
a um pixel q com coordenadas (xn,yn) é uma
sequencia de pixels distintos com coordenadas:
(x0,y0), (x1, y1),….. (xn,yn)
em que (xi,yi) e (xi-1,yi-1) são adjacentes para 1≤ i ≤ n
n é o comprimento do caminho
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
caminho
Um caminho é fechado se
(x0,y0) = (xn,yn).
Um caminho pode ser classificado como
caminho-4, caminho-8 ou caminho-m,
dependendo do tipo de adjacencia
especificada.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Conectividade
Conectividade entre pixels é um conceito importante usado
para estabelecer os limites dos objetos e as componentes de
uma imagem.
Seja S um subconjunto de pixels da imagem.
Dois pixels p e q são conectados em S se existir um caminho
entre eles, tal que todos os pixels do caminho pertencem a S;
S pode conter uma ou mais componentes conectadas
(regiões);
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Conectividade
Duas regiões R1 e R2 são adjacentes se pelo
menos um pixel de R1 for adjacente a R2.
111000
111100
110011
000011
© 2002 R. C. Gonzalez & R. E. Woods
R1 e R2 são adjacentes para
adjacencia-8; caso contrario
elas são disjuntas.
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital Rotular Componentes Conectadas
Considere que as componentes sejam 4-conectadas:
r
t
p
Seja p um pixel a ser analisado. A varredura se dá da esquerda para
a direita, de cima para baixo.
Seja r e t o pixel de cima e a esquerda respectivamente.
Dada a natureza da varredura, r e t já foram rotulados se
satisfizeram o critério de similaridade (Cs=1; considere que estamos
tratando com uma imagem binária).
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Rotular Componentes Conectadas
Procedimento:
Se p = 0 então verifica o próximo pixel;
Se p =1, examina r e t
Se (r = 0 e t = 0) então rotula p com novo rótulo;
Se ( r = 1 e t = 0) ou (r = 0 e t = 1) rotula p com o rótulo de
r ou de t;
Se (r = 1 e t = 1) e possuem o mesmo rótulo então rotula p
com este rótulo;
Se (r = 1 e t = 1) e possuem rótulos diferentes então rotula
p com um dos rótulos e indica equivalência de rótulos;
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Rotular Componentes Conectadas
No final do processo todos os pixels que satisfazem o critério de
similaridade estarão rotulados, mas alguns com rótulos
equivalentes.
Neste caso:
-transformar todos os pares de rótulos equivalentes em
classes de equivalência, atribuindo um rótulo diferente
para cada classe;
-varrer novamente a imagem e substituir cada rótulo pelo
rótulo atribuído a sua classe de equivalência.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital –
Rotular Componentes Conectadas
Considere Cs={1} e a imagem abaixo:
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
Componentes 4-conectadas:
A
A
0
0
0
A
A
0
0
0
0
B
0
0
0
B
0
0
0
0
0
0
0
0
© 2002 R. C. Gonzalez & R. E. Woods
0
0
0
1
0
0
0
0
0
B
0
0
0
0
0
0
1
1
0
0
0
0
D
D
0
0
0
1
1
1
0
0
0
C
D
D
Os rótulos C e D são
equivalentes. Temos,
portanto, 3
componentes 4conectadas.
Como o procedimento
de rotular deve ser
alterado para
obtermos
componentes 8conectadas???
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Exercício
Usando o Matlab, escreva duas funções para
rotular imagens binárias, uma para
componentes 4-conectas e outra para
componentes 8-conectadas (ou uma função
cuja conectividade entra como parametro). A
função deve retornar o numero de
componentes conectadas.
Cada componente conectada rotulada deve ser
mostrada com uma cor diferente para facilitar
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital
Contorno ou borda
Contorno de uma região R é o conjunto de pixels
em R que tem pelo menos um vizinho no fundo
da imagem (background).
A adjacência deve ser definida para se definir a
conectividade.
01100
é borda se adjacência com fundo
01110
for 8.
00110
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital
Medidas de Distancia
Para os pixesl x, y e z com coordenadas (x1,x2), (y1,y2)
e (z1,z2) respectivamente, D é uma função de
distância ou métrica se:
(a) D(x,y) >= 0 (não-negatividade)
(b) (D(x,y) = 0 se e somente se x=y (identidade)
(c) D(x,y) = D(x,y) (simetria)
(d) D(x,z) <= D(x,y) + D(y,z) (desigualdade triangular)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital
Medidas de Distancia
• Familia Minkowski
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital
Medidas de Distancia
• Distância Euclidiana (p = 2):
De(x,y) = [(x1-y1)2 + ( x2-y2)2]1/2
• Manhattan ou City-block distance ou (p = 1):
•
D4(x,y) = |x1-y1| + |x2-y2|
• Chebychev ou Chessboard distance ( p = α):
D8(x,y) = max(|x1-y1|, |x2-y2|)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital
Medidas de Distancia
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Topologia da Imagem Digital
Medidas de Distancia
ξ é o raio de consulta
ξ nodo é o raio de abrangência de um nó sendo avaliado
Se
© 2002 R. C. Gonzalez & R. E. Woods
o nó avaliado poder ser descartado
Download

4 - Interpolação e Topologia da Imagem Digital