Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


computação gráfica -python-v2, Notas de estudo de Informática

python e computação gráfica

Tipologia: Notas de estudo

2015
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 30/08/2015

jose-luis-barudi-meza-7
jose-luis-barudi-meza-7 🇧🇷

5

(2)

5 documentos

1 / 46

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
Discount

Em oferta

Pré-visualização parcial do texto

Baixe computação gráfica -python-v2 e outras Notas de estudo em PDF para Informática, somente na Docsity!

Objetivo

Foto alterada com o filtro Cubism do GIMP. ●

Apresentar algumas

soluções Open Source

para Computação

Gráfica com o uso de

Python.

Demonstrar as soluções

em questão através de

exemplos.

Python em Computação Gráfica

Por que Python ao invés

de outras linguagens

dinâmicas?

Muitos frameworks e

bibliotecas disponíveis.

Várias aplicações, tais

como Blender , GIMP e

Inkscape , usam a

linguagem para ampliar

funcionalidades e/ou

automatizar rotinas.

Blender Inkscape GIMP

Formas de representação de imagem 2D

Mapa de bits Vetorial

Canais

Red Green Blue Original Imagens resultantes obtidas isolando cada umas das cores que compõem a imagem original.

Imagens Vetoriais

A imagem é gerada a partir de instruções que descrevem os objetos. As instruções são primitivas geométricas, tais como linha, ponto, círculo e outros. Arquivo SVG gerado no Inkscape.

Processamento de Imagem (Exemplos)

Alguns dos filtros disponíveis na Python Imaging Library (PIL). Original Contour Emboss Find edges

PIL (Python Imaging Library)

Implementa:

Ferramentas para cortar, redimensionar e mesclar

imagens.

Algoritmos de conversão.

Filtros, tais como suavizar e detectar bordas.

Ajustes, incluindo brilho e contraste.

Operações com paletas de cores.

● Ferramentas básicas de desenho (linha, arco e outras).

Rotinas para tratamento de imagens: equalizar, deformar,

inverter e outras.

PIL (Exemplo I/II)

import Image import ImageOps import ImageFilter img = Image. open ( 'tr01.jpg' ) img = ImageOps. autocontrast ( img ) img = ImageOps. equalize ( img ) img = img. filter ( ImageFilter. SMOOTH ) img. thumbnail (( 512 , 512 ), Image. ANTIALIAS ) img = ImageOps. expand ( img , border = 2 , fill = 1 ) img. save ( 'tr02.png' , 'PNG' ) O módulo Image define a classe para tratar imagens com vários métodos para modificar suas características. A função open() cria objetos da classe Image a partir de arquivos. Vários formatos são suportados. O método filter() aplica o filtro especificado na imagem. O método save() grava a imagem em arquivo no formato especificado. O método thumbnail() redimensiona a imagem. O módulo ImageOps implementa várias rotinas comuns de processamento.

PIL (Exemplo II/II)

Versão reduzida, suavizada, com borda e cores modificadas. Original Saída Programa

GIMP (Visão Geral)

Cada camada pode ter um ou mais canais ( channels ). Cada camada ou canal pode ser editado ( drawable ). Cada imagem pode ter uma ou mais camadas ( layers ). Caixa de Ferramentas.

GIMP ( Plug in )

O módulo gimpfu define as funções e tipos necessários para o Python possa se comunicar com o GIMP. A função register() cadastra a função de processamento na Procedural Database (PDB) do GIMP. Executa o plug in. A função que será utilizada para processar a imagem, usando a API do GIMP.

GIMP (Exemplo I/IV)

from gimpfu import * def stonify( img , drawable ): pdb. gimp_image_undo_group_start ( img ) pdb. script_fu_lava ( img , drawable , 10 , 10 , 7 , 'German flag smooth' , 1 , 1 , 0 ) lava = img. layers [ 0 ] w , h = img. width , img. height rock = gimp. Layer ( img , 'Rock' , w , h , RGB_IMAGE , 100 , MULTIPLY_MODE ) pdb. gimp_image_add_layer ( img , rock , 0 ) pdb. plug_in_solid_noise ( img , rock , 0 , 0 , 0 , 1 , 4 , 4 ) pdb. plug_in_bump_map ( img , rock , lava , 135 , 45 , 15 , 0 , 0 , 0 , 0 , 1 , 0 , 0 ) pdb. plug_in_bump_map ( img , rock , drawable , 135 , 45 , 30 , 0 , 0 , 0 , 0 , 1 , 0 , 0 ) lava. visible = 0 Inicia a transação para undo. Continua... Cria uma camada com lava. Cria uma camada de ruído. Aplica revelo nas camadas. Importa a interface com GIMP.

GIMP (Exemplo II/IV)

img. flatten () pdb. gimp_brightness_contrast ( img. layers [ 0 ], 30 , 10 ) pdb. gimp_image_undo_group_end ( img ) register ( 'Stonify' , 'Carve image in stone' , 'Carve image in stone with colors' , 'Luiz Eduardo Borges' , 'Luiz Eduardo Borges' , '2008' , '/Python-Fu/Stonify' , '*' , [], [], stonify ) main () Continua... Termina a transação. Registra a função na PDB. Executa o plug in.