CG2009 ImgDigital Convolucao - FTmagic/ST765/CG2009_ImgDigital_Convol… · Convolução 2D...
Transcript of CG2009 ImgDigital Convolucao - FTmagic/ST765/CG2009_ImgDigital_Convol… · Convolução 2D...
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
COMPUTAÇÃO GRÁFICA
Convolução 1D e 2D
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Sinal Impulso
δδ[n]=[n]= 1, n=01, n=0
0, caso contr0, caso contrárioário
nn
11 δδ[n][n]
00 11 22 33
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Representação de sinais discretosusandofunçãoimpulso(1D)
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Representação de sinais discretosusando função impulso
CoeficientesCoeficientes Função baseFunção base
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Representação de sinais discretosusando função impulso
SISTEMA DISCRETOx[n]x[n] y[n]y[n]
Supondo que o sistema seja LIT e define-se a resposta aoSupondo que o sistema seja LIT e define-se a resposta aoimpulso h[n] como sendoimpulso h[n] como sendo
δδ[n] [n] →→ h[n] h[n]
Da propriedade de ITDa propriedade de ITδδ[n-k] [n-k] →→ h[n-k] h[n-k]
Como o sistema é linearComo o sistema é linear
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução de sinais
Visualização daVisualização da convolução convolução......ExemplosExemplos
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)
Visualização da Visualização da convoluçãoconvolução......ExemplosExemplos
!
y n1,n
2( ) = x n1,n
2( )" h n1,n2( ) = x k1,k2( )h n1 # k1,n2 # k2( )
k2=#$
$
%k1=#$
$
%
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)
ConvoluçãoConvolução é a operação de filtragem no domínio da é a operação de filtragem no domínio daintensidade (como a imagem se apresenta na prática, comintensidade (como a imagem se apresenta na prática, comos valores de cadaos valores de cada pixel pixel).).
A equação que define aA equação que define a convolução convolução é a seguinte: é a seguinte:
Onde Onde xx é a imagem original, é a imagem original, hh é o filtro e é o filtro e yy, a imagem processada., a imagem processada.
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)
Na prática, vejamos um exemplo da operação definida pelaNa prática, vejamos um exemplo da operação definida pelaequação acima. Efetuar aequação acima. Efetuar a convolução convolução entre o filtro entre o filtro ff e a e aimagem imagem II::
y(ny(n11,n,n22) = x (n) = x (n11,n,n22) * h (n) * h (n11,n,n22))
A equação anterior pode ser reescrita de forma compacta:A equação anterior pode ser reescrita de forma compacta:
-1 0 1 0 0 0-1 0 1
f =
5 10 10 20 155 15 20 10 105 20 10 5 150 20 10 5 105 10 15 15 10
I =
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)
Deve-se efetuar uma varredura através do elemento centralDeve-se efetuar uma varredura através do elemento centraldo filtro do filtro ff, passando por todos os elementos da imagem , passando por todos os elementos da imagem II,,começando do elemento começando do elemento (1,1).(1,1).
Aqueles coeficientes que coincidirem, multiplicam-se eAqueles coeficientes que coincidirem, multiplicam-se esomam-se os valores, produzindo a imagem processada.somam-se os valores, produzindo a imagem processada.
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)1o. Passo1o. Passo
5 10 10 20 15
5 15 20 10 10
5 20 10 5 15
0 20 10 5 10
5 10 15 15 10
-1 0 1
0 0 0
-1 0 1
y(1,1) = 0x5 + 0x10 + 0x5 + 1x15 = 15y(1,1) = 0x5 + 0x10 + 0x5 + 1x15 = 15
15
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)2o. Passo2o. Passo
5 10 10 20 15
5 15 20 10 10
5 20 10 5 15
0 20 10 5 10
5 10 15 15 10
-1 0 1
0 0 0
-1 0 1
y(1,2) = 0x5 + 0x10 + 0x10 - 1x5 +y(1,2) = 0x5 + 0x10 + 0x10 - 1x5 ++0x15 + 1 x 20 = 15+0x15 + 1 x 20 = 15
15 15
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)3o. Passo3o. Passo
5 10 10 20 15
5 15 20 10 10
5 20 10 5 15
0 20 10 5 10
5 10 15 15 10
-1 0 1
0 0 0
-1 0 1
y(1,3) = 0x10 + 0x10 + 0x20 - 1x15 +y(1,3) = 0x10 + 0x10 + 0x20 - 1x15 ++0x20 + 1 x 10 = -5+0x20 + 1 x 10 = -5
15 15 -5
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)4o. Passo4o. Passo
5 10 10 20 15
5 15 20 10 10
5 20 10 5 15
0 20 10 5 10
5 10 15 15 10
-1 0 1
0 0 0
-1 0 1
y(1,4) = 0x10 + 0x20 + 0x15 - 1x20 +y(1,4) = 0x10 + 0x20 + 0x15 - 1x20 ++0x10 + 1 x 10 = -10+0x10 + 1 x 10 = -10
15 15 -5 -10
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)5o. Passo5o. Passo
5 10 10 20 15
5 15 20 10 10
5 20 10 5 15
0 20 10 5 10
5 10 15 15 10
-1 0 1
0 0 0
-1 0 1
y(1,5) = 0x20 + 0x15 - 1x10 + 0x10 =y(1,5) = 0x20 + 0x15 - 1x10 + 0x10 =-10-10
15 15 -5 -10 -10
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Convolução 2D (imagens)
E assim sucessivamente,E assim sucessivamente,passando por todos as linhas dapassando por todos as linhas daimagem imagem II..
6o. Passo6o. Passo
5 10 10 20 15
5 15 20 10 10
5 20 10 5 15
0 20 10 5 10
5 10 15 15 10
-1 0 1
0 0 0
-1 0 1
y(2,1) = 0x5 + 1x10 + 0x5 + 0x15 + +y(2,1) = 0x5 + 1x10 + 0x5 + 0x15 + +0x5 + 1 x 20 = 300x5 + 1 x 20 = 30
MARCO ANTONIO GARCIA DE CARVALHOMaio de 2009
Computação Gráfica
Para saber mais:
[GOMES94] Capítulo 6
LIM, J. S. “Two Dimensional Signal andimage processing”. Prentice Hall, 1990