introdu ção ao processamento gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf ·...
TRANSCRIPT
![Page 1: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/1.jpg)
IntroduIntroduçção ao ão ao
Processamento GrProcessamento Grááficofico
Leandro ToniettoProcessamento Gráfico - Unisinos
[email protected]://www.inf.unisinos.br/~ltonietto
ago-09
![Page 2: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/2.jpg)
26-ago-09 Leandro Tonietto 2
Sumário
Introdução e conceitosResumo das linhas de pesquisaAplicações e motivação para CGBreve histórico da CGEsquema conceitual CGGameloop
![Page 3: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/3.jpg)
26-ago-09 Leandro Tonietto 3
Introdução
Processamento gráfico:� É o processamento de informações visuais, tanto para geração
de imagens, quando obtenção de dados. � Exemplos:
• Geração de filmes através de computador• Correção de olhos vermelhos em fotos• Aplicação de filtros de imagens• Geração de desenhos animados no computador• Detecção e reconhecimento de objetos em imagens• Geração de cenas em jogos 3D• Modelagem de sólidos baseado em física• Modelos 3D para prototipação de matrizes.• Simulação de ambientes nocivos• Visualização de gráficos sobre dados• Etc.
![Page 4: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/4.jpg)
26-ago-09 Leandro Tonietto 4
Introdução
Imagine um sistema de computador no qual o usuário possui recursos avançados de matemática para produzir modelos baseados em física.Imagine o mesmo pode definir através de números quaisquer propriedades que forem necessárias para representar o modelo físico.Como poderia o usuário trabalhar desta forma sem ter um visualização do modelo criado? O quão difícil é para usuário interagir com este sistema “manual”?Processamento gráfico é a área da ciência da computação que trata deste tipo de problema. Ela busca tratamento/geração de dados visuais. Imagem ou representação gráfica de modelos.
![Page 5: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/5.jpg)
26-ago-09 Leandro Tonietto 5
Introdução
Divide-se em duas grandes áreas (ou linhas de pesquisa):� Processamento de imagens:
• Tratamento de imagens• Visão computacional
� Computação Gráfica:• Síntese de imagens• Pipeline - processo ou cadeia de renderização:
– Pipeline 2D– Pipeline 3D
![Page 6: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/6.jpg)
26-ago-09 Leandro Tonietto 6
Introdução
Esquema conceitual:
Dados
Imagens
Análise Síntese
![Page 7: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/7.jpg)
26-ago-09 Leandro Tonietto 7
Introdução
Esquema conceitual:
Modelagem
TratamentoVisualização/
Síntese
Reconhecimento
de padrões
Dados
Imagens
Análise Síntese
![Page 8: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/8.jpg)
26-ago-09 Leandro Tonietto 8
Processamento Processamento
de Imagensde Imagens
ComputaComputaççãoão
GrGrááficafica
Introdução
Esquema conceitual:
Modelagem
TratamentoVisualização/
Renderização
Reconhecimento
de padrões
Dados
Imagens
Análise Síntese
![Page 9: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/9.jpg)
26-ago-09 Leandro Tonietto 9
Processamento de imagens
Processamento de imagens visa a obtenção de informações da imagem para produção de dados a respeito da mesma ou modificação da imagemTratamento de imagens:� Trata da geração de novas imagens a partir de imagens de entrada. A rigor não extrai informações da imagem.
� Exemplos de aplicativos comerciais: • GIMP (software livre), Adobe Photoshop, Paint Shop Pro, ...
![Page 10: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/10.jpg)
26-ago-09 Leandro Tonietto 10
Processamento de imagens
Tratamento de imagens:
Filtro de imagem
que troca uma cor
por outra
Para efeitos artísticos ou correção/destaque de cores da imagem
Filtro de imagem
aplica efeitos de foto
envelhecida
![Page 11: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/11.jpg)
26-ago-09 Leandro Tonietto 11
Processamento de Imagens
Tratamento de imagens:
Filtro de correção gama
Para correção, melhoria ou destaque de informações relevantes da imagem
![Page 12: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/12.jpg)
26-ago-09 Leandro Tonietto 12
Processamento de Imagens
Visão Computacional� É um processo de analisar a imagem e obter dados que possuem algum significado.
� Exige um alto processamento computacional para extrair dados de uma imagem. • Normalmente, implica em percorrer todos os pontos da imagem e, para cada ponto, analisar a sua vizinhança.
� Exemplo: detecção de rostos, robótica, reconhecimento de placas de veículos, autenticação baseada em imagens, etc.
![Page 13: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/13.jpg)
26-ago-09 Leandro Tonietto 13
Processamento de Imagens
Visão Computacional
Algoritmo de detecção
de regiões (pixels
conectados) com a
tonalidade da pela
Detecção de pele usando Redes Neurais Artificiais (Bittencourt & Osório, 2002)
![Page 14: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/14.jpg)
26-ago-09 Leandro Tonietto 14
Processamento de Imagens
Visão Computacional
Sistema de reconhecimento de placas e autenticação de veículos para condomínios: Câmera fotografa o veículo e sistema faz a detecção e o reconhecimento dos números da placa.
Sistema de detecção
BD Resultado: INS1457 - Fulano de Tal - AUTORIZADO
![Page 15: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/15.jpg)
26-ago-09 Leandro Tonietto 15
Computação Gráfica
É um processo de sintetizar imagens a partir de um conjunto de dados.� Transformação de dados em imagem. Dados são a parte do
modelo, são a descrição da cena ou imagem a ser sintetizada.
O processo de síntese de dados em imagem requer um alto custo computacional. A CG está intimamente ligada a idéia de se obter o “melhor resultado” com o menor custo computacional possível. Este paradoxo fomenta as pesquisas na área. � Muitos algoritmos são criados com este intuito: Algoritmos de
compressão de imagens, redução de malha poligonal, representação de objetos em mapas ou cenários de jogos, mapeamento de texturas, ...
Computação Gráfica não é só 3D, é 2D também.
![Page 16: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/16.jpg)
26-ago-09 Leandro Tonietto 16
Computação Gráfica
Modelagem em CG:� Os dados ou modelos em CG são:
� Pontos são conectados para formarem polígonos, quem são conectados para formar algum objeto...
A(x,y,z)
B(x,y,z)C(x,y,z)
PolígonoMalha (Mesh)Pontos
![Page 17: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/17.jpg)
26-ago-09 Leandro Tonietto 17
Computação Gráfica
Modelagem em CG:
![Page 18: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/18.jpg)
26-ago-09 Leandro Tonietto 18
Computação Gráfica
O custo computacional para gerar o “teapot”do exemplo anterior é pequeno, pois o objeto possui poucos polígonos e quase nenhum detalhe de preenchimento/sombreamento.Como seria o custo para gerar um objeto como este? São mais de 77 mil pontos e aproximadamente 25 mil polígonos! Requer muito processamento. E este não é modelo muito detalhado; modelo mais perfeccionistas possuem milhões de pontos.Veremos algoritmos de recorte e preenchimento de polígono, que são utilizados de forma a otimizar o custo computacional.
![Page 19: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/19.jpg)
26-ago-09 Leandro Tonietto 19
Computação Gráfica
Outros assuntos a serem tratados durante o semestre:� Câmera sintética: processo de renderização de objetos numa cena.
� Representação de mundos virtuais: mundos ou mapas de jogos digitais.
� Visões de jogos 2D e 3D, como são programados efeitos para simular realismo.
� Animação com sprites� Entre outros tópicos
![Page 20: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/20.jpg)
26-ago-09 Leandro Tonietto 20
Computação Gráfica
![Page 21: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/21.jpg)
26-ago-09 Leandro Tonietto 21
Computação Gráfica
Esquema conceitual da CG:
Frame buffer
Controlador de visualização
Controlador de vídeo
Em geral via software
![Page 22: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/22.jpg)
26-ago-09 Leandro Tonietto 22
Computação Gráfica
Frame buffer: É uma porção de memória usada para criar o pixel map que será enviado para o monitor.� 1024x768x24 = 2,25 Mb� 1024x768x16 = 1,5 Mb� 800x600x24 = 1,37 Mb� 320x200x8 = 62,5 Kb� 140x140x1 = 2,4 Kb
Double buffering: técnica que utiliza um buffer auxiliar para criar imagem enquanto um buffer é desenhado (alternância). Usado para evitar o flicker (tremer a imagem)
![Page 23: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/23.jpg)
26-ago-09 Leandro Tonietto 23
Esquema conceitual da CG:
Computação Gráfica
Modelo da Aplicação
Aplicação
SistemaGráfico
Dados 2D/3DOpenGL/GLUT/SDL/DirectX
Manipula dados e define o que será desenhado e aonde.
![Page 24: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/24.jpg)
26-ago-09 Leandro Tonietto 24
Computação Gráfica
Aplicações em CG:� Interfaces gráficas� Gráficos interativos em negócios, ciência e tecnologia
� Cartografia (principalmente na área de geoprocessamento)
� Medicina� CAD (Computer-Aided Design) / CAM(Computer-Aided Manufacturing)
� Sistemas multimídia
![Page 25: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/25.jpg)
26-ago-09 Leandro Tonietto 25
Computação Gráfica
Aplicações em CG:� Simulação e animação para visualização científica
� Entretenimento• Cinema e ...• ... Jogos Digitais!
![Page 26: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/26.jpg)
26-ago-09 Leandro Tonietto 26
Computação Gráfica
RenderPark
gCAD3D
chimera
VISIT
![Page 27: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/27.jpg)
26-ago-09 Leandro Tonietto 27
Computação Gráfica
O Senhor dos Anéis - As Duas TorresHalf Life 2
King Kong
Vídeo projeto PetroSim
![Page 28: Introdu ção ao Processamento Gráficoprofessor.unisinos.br/ltonietto/jed/pgr/introducao.pdf · Introdução Imagine um sistema de computador no qual o usuário possui recursos avançados](https://reader034.vdocuments.net/reader034/viewer/2022052407/5be55bdf09d3f2580c8b96b0/html5/thumbnails/28.jpg)
26-ago-09 Leandro Tonietto 28
Referências bibliográficas
1. WRIGHT Jr., Richard S.; LIPCHAK, Benjamin; HAEMEL, Nicholas. OpenGL Superbible: Comprehensive Tutorial and Reference. 4ed.: Addison-Wesley. 2007.
2. FOLEY, J.D. et al. Computer graphics: principles and practice. Reading: Addison-Wesley, 1990.
3. TONIETTO, Leandro; WALTER, Marcelo. Análise de Algoritmos para Chroma-key. Unisinos, 2000.
4. BITTENCOURT, João. Apresentação de introdução ao processamento gráfico. Disponível para download no site da disciplina.