Rasterização, Anti-aliasing e Preenchimento

Slides:



Advertisements
Apresentações semelhantes
Geometria Computacional Fecho Convexo II
Advertisements

Paulo Sérgio Rodrigues PEL205
Ensino Superior Cálculo 2 3- Volume de Sólidos Amintas Paiva Afonso.
Detecção de Bordas e Linhas I
Z-Buffer Método que opera no espaço da imagem
Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado e Classificação de Dados Módulo II Introdução ao Processamento de Imagens.
PREENCHIMENTO DE POLÍGONOS
Métodos para representação de estruturas hierárquicas
Fotografias aéreas e foto-interpretação são
10º CAPÍTULO Segmentação de imagem.
Recursividade Prof. Alex F. V. Machado
Dispositivos de Visualização e Rasterização
Computação Gráfica (Slide 5)
Segmentação de imagens
Computação Gráfica I Conteúdo: Professor: - Recorte 2D
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Introdução à Computação Gráfica Recorte
Geometria Computacional Interseção de Segmentos
Geometria Computacional Fecho Convexo
Introdução à Computação Gráfica Colorização
Reconhecimento de Padrões Segmentação
Iana Alexandra Alves Rufino
Fundamentos da Computação Gráfica (Trabalho 2)
Método M Idéia: a partir de um pixel inicial qualquer, percorrer todos os pixels de borda conectados em todas as direções até que um deles saia do limite.
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Rendering e Rasterização
Paulo Sérgio Rodrigues PEL205
Processamento de Imagens
Self-Similarity Based Texture Editing Self-similarity Based Texture Editing Stephen Brooks Neil Dogdson University of Cambridge Projeto Final de Processamento.
Sistemas Multimídia e Interface Homem-Máquina
Introdução a Computação e Cálculo Numérico
Seminário Introdução à Visão Computacional
Algoritmos de varredura linear e busca de padrões
Operações em uma subdivisão planar 2D
Interpolação de imagem
Propriedades da Integral Definidas
Algorítmos e estrutura de dados III
Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica
Segmentação de Imagens
Teoria dos Grafos Coloração
Computação Gráfica – Visibilidade
Algoritmos de Busca Local
A integral definida Seja y = f(x) uma função definida e limitada no
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Aula 8. Classificação Não Supervisonada por Regiões
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
Segmentação de Fundo Marcelo Gonella
Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento.
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
INF 1366 – Computação Gráfica Interativa Rasterização

Fases do Processo Detecção de Bordas Vetorização Reconhe- cimento.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods 3 Representação da Imagem Digital O espectro eletromagnético.
Prof. Edison Oliveira de Jesus
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
Computação Gráfica - Recorte
Geometria Computacional Fecho Convexo
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods 3 Representação da Imagem Digital O espectro eletromagnético.
Processamento de Imagens Segmentação
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Introdução à Computação Gráfica Visibilidade e Recorte
Prof. Edison Oliveira de Jesus
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
Introdução à Computação Gráfica Rasterização
1/6/2016 Computação Gráfica
Rasterização, Anti-aliasing e Preenchimento
Transcrição da apresentação:

Rasterização, Anti-aliasing e Preenchimento Alex F. V. Machado alexcataguases@hotmail.com

Rasterização: Revisão O que é rasterização? Que métricas podemos usar para definir se um algoritmo de rasterização de seguimentos de reta é melhor do que um outro? Quais foram os algorimos de rasterização de seguimentos de retas estudados? Aplique o algoritmo de Bresenham para unir os pontos das seguintes imagens, posteriormente defina sua forma de aplicação.

Amostragem, Aliasing, e Anti-aliasing A linha, que no universo físico é contínua, é amostrada em uma matriz finita 2D de pixels. Tal discretização pode causar distorções visuais como cisalhamento ou efeito de escada. Essas distorções são chamadas de aliasing. Para reduzir o problema de aliasing, usa-se uma técnica chamada anti-aliasing. A técnica consiste em uma superamostragem (uma vez que o aliasing é causada por uma subamostragem)

SUPERAMOSTRAGEM Superamostragem = Amostrar um objeto numa resolução maior do que será reconstruído. dividir os pixels em sub-pixels (i.e. 9), aplicar o algoritmo de Bresenham nesses sub-pixels contar o número de sub-pixels “acesos” por pixel 2 3 1 O pixel será aceso com intensidade proporcional ao número de sub-pixels acesos.

Exemplo de Anti-aliasing em Linhas Observe que quando a cor de fundo não é preto, o anti-aliasing deve fazer uma composição da intensidade com a cor de fundo. Anti-aliasing é necessário não só para linhas, mas também para polígonos e texturas (o que já é mais complicado)

Rasterização de Círculos Mesma idéia de avaliar incrementalmente uma função que classifica o ponto médio entre um pixel e outro com relação a uma função implícita Apenas um octante precisa ser avaliado, os demais são simétricos Para cada pixel computado, oito são pintados Derivação um pouco mais difícil que a da reta Outras cônicas podem também ser rasterizadas de forma semelhante E V1 V0 C(x,y) = 0 SE V1’ x y

Preenchimento de regiões Fill methods: 2 algoritmos Boundary Fill Flood Fill (para bordas multicoloridas) Atuam ao nível do pixel Interessantes para aplicações do tipo painting Scanline-Fill Approaches Atuam no nível dos polígonos Melhor performance

Fill Methods Algoritmos não tratam objetos isoladamente Dá-se um ponto interior a figura e prossegue-se até a borda Similar a função existente em aplicativos do tipo paintbrush Denominados seed-fill (preenchimento a partir da semente) Dado um pixel qualquer, quais são seus vizinhos? 4-connected 8-connected

Fill Methods Inicia com um ponto dentro de uma região Pinta o interior até a próxima aresta Deve ser definida a cor da aresta Pinta regiões 4-connected ou 8-connected Regiões 4-connected são mais rápidas, mas podem apresentar problemas

Fill Methods Algoritmo recursivo Preenche vizinhos da semente que atendem ao critério Aplica o algoritmo recursivamente tomando esses vizinhos como sementes Termina quando nenhum vizinho atende o critério

Algoritmo de Preenchimento Fill Methods Algoritmo de Preenchimento Pseudo-código: Procedure FloodFill (x, y, cor, novaCor) Se pixel (x, y) = cor então pixel (x, y) ← novaCor FloodFill (x + 1, y, cor , novaCor) FloodFill (x, y + 1, cor , novaCor) FloodFill (x - 1, y, cor , novaCor) FloodFill (x, y - 1, cor , novaCor) Uso abusivo de recursão pode ser contornado preenchendo intervalos horizontais iterativamente

Algoritmos scanline-fill (Rasterização de Polígonos) Operação fundamental em computação gráfica Polígono é dado por uma lista de vértices Último vértice = primeiro vértice Usar conceito de paridade

Algoritmos scanline-fill (Rasterização de Polígonos) y Algoritmo clássico usa técnica de varredura Arestas são ordenadas Chave primária: y mínimo Chave secundária: x mín. Exemplo: (e,d,a,b,c) Linha de varredura perpendicular ao eixo y percorre o polígono (desde ymin até ymax) Intervalos horizontais entre pares de arestas são preenchidos ymax ymin a b c d e x