Elliptical Weighted Average FilterBruno Tenório ÁvilaCésar Morais Palomo
Introdução - Warping Deformação de uma imagem dado um mapeamento
entre o espaço de origem e destino; Problemas:
magnificação – duplica informação (Serrilhado); minimificação – perde informação (Aliasing);
Elliptical Weighted Average Filter Características:
filtro de Resampling: reconstrução – discreto para contínuo; warping – distorção; pré-filtragem – passa-baixa; amostragem – contínuo para discreto;
filtro Anisotrópico – dependente de direção (ao contrário de isotrópico);
Idéia básica: projeta uma Gaussiana Circular gerando uma elipse no
plano da textura; calcula a cor ponderando as cores dos texels contidos no
interior da elipse;
Mapeamento da Textura na Tela
Mapeamento da Textura na Tela
Mapeamento da Textura na Tela
Mapeamento da Textura na Tela
Evitando Aliasing
Evitando Aliasing
Evitando Aliasing
Formato da Gaussiana
Algoritmo do Filtro EWAcalculeHomography;calculeWeights;
for (y = 0; y < h; y++){
for (x = xl; x < xr; x++){
calculeJacobianMatrix;calculeEllipseCoeficients;calculeEllipseCenter;calculeEllipseBoundingBox;calculeColor;drawPixel;
}xl += dxl;xr += dxr;
}
Matriz Inversa da Homografia Utilizada para mapear os pixels (x,y) da tela
para os pixels da textura (u,v);
1
ih gf edcb a
H
ihygxfeydxcbyax
yx
Hwvwuw
1
1
ihygxfeydxv(x,y)
ihygxcbyaxyxu
),(
Algoritmo de Cálculo dos Pesosfor (i = 0; i < WTAB_LENGTH_VALUE; i++) {
r = i / (double) (WTAB_LENGTH_VALUE - 1);WTAB[ i ] = exp( - ALPHA_VALUE * r);
}
OBS: Os valores de WTAB variam entre 0 e 1;
Cálculo da Matriz do Jacobiano
yv
xv
yu
xu
J
22 ihygx
gcaibgahyihygx
cbyaxgihygxax,yuxx
u
22 ihygx
hcbiahbgxihygx
cbyaxhihygxbx,yuyy
u
22 ihygx
gfdiegdhyihygx
feydxgihygxdx,yvxx
v
22 ihygx
hfeidhegxihygx
feydxhihygxex,yvyy
v
Cálculo dos Coeficientes da Elipse Seja:
Definimos a equação da elipse centrada em (0,0) como:
EWA normal: EWA de alta qualidade:
yv V
xvV
yuU
xuU yxyx
FCVBUVAU 22
2**
**
2
**
xyyx
yyxx
yyxx
yyxx
VUVUF
UUUUC
*VU*VU*B
VVVVA
4*
1**
2
1**
2BCAF
UUUUC
*VU*VU*B
VVVVA
yyxx
yyxx
yyxx
Cálculo da Bounding Box da Elipse A partir da equação da elipse definida:
Encontramos a bounding box calculando o mínimo e o máximo da equação da elipse em relação a U e depois em relação a V, assumindo que U é U(V) e V é V(U);
FCVBUVAUVUf 22),(
Cálculo do Bounding Box da Elipse Máximo e mínimo em relação a V:
BVAU
CVBUU
CVBUVBUAUU
FCVBUVAU
22
022
0
'
''
22
0
02:sistemasolver Re
22 FCVBUVAU
CVBU
0 :críticos Pontos ' VU
242
BACCFU
24
2BAC
AFV
Mipmaps Mip Mapping é uma técnica para gerenciar
níveis de detalhes (LOD – Level of Detail) da textura;
Mipmaps
Conclusões Filtro EWA:
introduziu o conceito de direção (Anisotrópico); complexo; alta qualidade; qualidade versus velocidade; utiliza um perfil Gaussiano; existem outros que
geram imagem de melhor qualidade;
Conclusões Problemas em aberto:
Jim Blinn – IEEE Computer Graphics and Applications – em 1998 citou: “No one will ever figure out how to quickly render
legible antialised text in perspective. Textures in perspective will always be either too fuzzy or too jaggy. No one will ever build texture mapping hardware that uses a 4x4 interpolation kernel or anisotropic filtering.”