A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Fundamentos da Computação Gráfica (Trabalho 2) Filtro Anti-aliasing para Mapeamento de Texturas baseado em EWA Gilberto Medeiros Júnior 05/2007 PUC-RJ.

Apresentações semelhantes


Apresentação em tema: "Fundamentos da Computação Gráfica (Trabalho 2) Filtro Anti-aliasing para Mapeamento de Texturas baseado em EWA Gilberto Medeiros Júnior 05/2007 PUC-RJ."— Transcrição da apresentação:

1 Fundamentos da Computação Gráfica (Trabalho 2) Filtro Anti-aliasing para Mapeamento de Texturas baseado em EWA Gilberto Medeiros Júnior 05/2007 PUC-RJ

2 Aliasing Serrilhado Serrilhado Aparece, por exemplo, ao se desenhar uma reta na diagonal Aparece, por exemplo, ao se desenhar uma reta na diagonal Proposta Antialiasing Proposta Antialiasing Filtro EWA Filtro EWA

3 Proposta do Trabalho Mapeamento de uma textura 2D em uma imagem em perspectiva Mapeamento de uma textura 2D em uma imagem em perspectiva Mapeamento projetivo (Matriz de Homografia) Mapeamento projetivo (Matriz de Homografia) Aplicação do filtro EWA Aplicação do filtro EWA

4 Homografia Matriz de Homografia Matriz de Homografia Paralelogramo no espaço (u,v) para um quadrilátero qualquer no espaço (x,y) Paralelogramo no espaço (u,v) para um quadrilátero qualquer no espaço (x,y) Abordagem do programa: Abordagem do programa: Homografia Inversa: quadrilátero qualquer em (x,y) para um paralelogramo em (u,v) Homografia Inversa: quadrilátero qualquer em (x,y) para um paralelogramo em (u,v) Para cada ponto na imagem a direita (quadrilátero qualquer), calcula-se o texel correspondente na textura à esquerda (paralelogramo) Para cada ponto na imagem a direita (quadrilátero qualquer), calcula-se o texel correspondente na textura à esquerda (paralelogramo) Matriz de Homografia Inversa Matriz de Homografia Inversa A cor do texel encontrado na textura será a cor do pixel (em RGB) no ponto ao qual estamos analisando A cor do texel encontrado na textura será a cor do pixel (em RGB) no ponto ao qual estamos analisando

5 texel correspondente ao ponto cor rgb do texel atribuída ao pixel [texel] =[H] -1 * [pixel]

6 Filtro Antialiasing EWA Visão Geral: Visão Geral: Para cada ponto (x,y) da imagem, calcular Jacobiano (matriz) Para cada ponto (x,y) da imagem, calcular Jacobiano (matriz) Com jacobiano, calcular elipse correspondente no espaço de textura, centrada no ponto (u,v) Com jacobiano, calcular elipse correspondente no espaço de textura, centrada no ponto (u,v) Achar o bounding box que envolve a elipse (espaço de textura) Achar o bounding box que envolve a elipse (espaço de textura) Escanear o bounding box Escanear o bounding box Texels dentro da elipse contribuem para cálculo da cor RGB do ponto da imagem (ponderação) Texels dentro da elipse contribuem para cálculo da cor RGB do ponto da imagem (ponderação) Texels fora da elipse são desconsiderados Texels fora da elipse são desconsiderados

7 Cálculo Jacobiano [H] -1 pixel texel [J]

8 Cálculo da Elipse

9 Geração da Tabela de Pesos Gaussiana: Gaussiana: alfa = decaimento da gaussiana alfa = decaimento da gaussiana Q = dist. até o centro da elipse Q = dist. até o centro da elipse Reescalar elipse de forma que F = tamanho de WTAB Reescalar elipse de forma que F = tamanho de WTAB

10 Cálculo do Bounding Box Derivar equação da elipse com relação a x e a y Derivar equação da elipse com relação a x e a y Igualar as derivadas a zero para descobrir pontos extremos Igualar as derivadas a zero para descobrir pontos extremos x = 0 (limites horizontais do box – u1 e u2) x = 0 (limites horizontais do box – u1 e u2) y = 0 (limites verticais do box – v1 e v2) y = 0 (limites verticais do box – v1 e v2) u1 u2v1v2

11 Executando EWA Escanear bounding box Escanear bounding box calcula Q(u,v) = Au 2 + Buv + Cv 2 calcula Q(u,v) = Au 2 + Buv + Cv 2 se ponto estiver dentro do contorno da elipse se ponto estiver dentro do contorno da elipse calcula peso do ponto: peso = WTAB[Q] calcula peso do ponto: peso = WTAB[Q] calcula contribuição RGB dada pelo ponto (u,v) calcula contribuição RGB dada pelo ponto (u,v) peso * rgb(u,v) peso * rgb(u,v) soma contribuição RGB do ponto ao RGB do ponto central da elipse soma contribuição RGB do ponto ao RGB do ponto central da elipse prossegue escaneando próximo ponto do bounding box e somando a sua contribuição RGB ao RGB do ponto da elipse prossegue escaneando próximo ponto do bounding box e somando a sua contribuição RGB ao RGB do ponto da elipse se nenhum ponto dentro da elipse tiver uma contribuição efetiva no RGB final, então será aplicado um filtro bilinear se nenhum ponto dentro da elipse tiver uma contribuição efetiva no RGB final, então será aplicado um filtro bilinear

12 Exemplo de Execução do Programa

13 Referências: P. S. Heckbert. Fundamentals of texture mapping and image warping. M.sc. thesis,Department of Eletrical Enginneering and Computer Science, University of California,Berkeley, Wikipedia – Anti-aliasing Matemática Essencial - Derivada Implícita 8.htm 8.htm


Carregar ppt "Fundamentos da Computação Gráfica (Trabalho 2) Filtro Anti-aliasing para Mapeamento de Texturas baseado em EWA Gilberto Medeiros Júnior 05/2007 PUC-RJ."

Apresentações semelhantes


Anúncios Google