Informática para Ciências e Engenharias 2014/15. Teórica 5



Documentos relacionados
Informática para Ciências e Engenharias 2013/14. Teórica 5

Informática para Ciências e Engenharias (B) 2015/16. Teórica 6

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 20

MATLAB Avançado. Melissa Weber Mendonça Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.

Atividade: matrizes e imagens digitais

Dispositivos de Entrada e Saída

Desenho e Apresentação de Imagens por Computador

Introdução à Organização de Computadores Entrada e Saída. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Módulo 3 Amostragem de Imagens Sistema Multimédia Ana Tomé José Vieira

Considerações: Leia a lista toda, o quanto antes, para evitar más interpretações e muitas dúvidas em cima da hora

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Utilidades Diversas. Aplicações Informáticas para Engenharia. SérgioCruz

Manual Processamento de Imagem. João L. Vilaça

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens

Aula 2 Aquisição de Imagens

E ainda uma terceira com as opções deste último exemplo, em que a cor de fundo deve ser verdeescuro.

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Aula 2P - Comandos básicos do Matlab aplicados a PDS

Informática para Ciências e Engenharias 2012/13. Teórica 10

Capítulo Tabelas e Gráficos

Imagem e Gráficos. vetorial ou raster?

PARA A CONSTRUÇÃO DOS GRÁFICOS

Redução de imagem no domínio espacial

CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS

INTRODUÇÃO AO WORD Processamento de texto

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Informação Geográfica (SIG) Inês Pinto Instituto de Investigação Cientifica Tropical

Representação Binária de Dados

Criando e usando Gráficos

FAZENDO PELES PARA O. PUXA RÁPIDO v0.8

Aplicações de Escritório Electrónico

Archive Player Divar Series. Manual de Utilização

Informática Aplicada a Radiologia

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

INTRODUÇÃO À TRIDIMENSIONALIDADE Step by step Maja`s House

Centro de Competência Entre Mar e Serra. Guia

Aula 02 Excel Operações Básicas

Análise de Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

COMPUTAÇÃO GRÁFICA RESOLUÇÃO

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C

julio lucio 2015 outono-inverno

Microsoft Access Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Conceitos importantes

Guia de Estudo Criação de Apresentações Microsoft PowerPoint

SSS Slide Show System

Configuração do Ambiente de Trabalho

FOLHA DE CÁLCULO EXCEL

Geoprocessamento e Cartografia Prof. MSc. Alexander Sergio Evaso

Usando o Excel ESTATÍSTICA. A Janela do Excel Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação.

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Construção do Boxplot utilizando o Excel 2007

Técnicas espectrofotometricas

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Trabalho Prático n. 2

Uruaçu Professoras Formadoras do NTE Uruaçu

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Fotografia Digital. Aula 1

MICROSOFT POWERPOINT

8. Perguntas e Respostas

Instituto Politécnico de Beja. Escola Superior de Tecnologia e Gestão

Microsoft Office 2010

Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem. Reversível.

Figura 1 - O computador

Profa. Dra. Soraia Raupp Musse Thanks to Prof. Dr. Cláudio Rosito Jung

Projecto de Programação MEEC /2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

EMP Multi Screen Adjustment. Guia de Funcionamento

MANUAL DE NORMAS GRÁFICAS

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Portal AEPQ Manual do utilizador

AULA 6 - Operações Espaciais

EXAME NACIONAL DO ENSINO SECUNDÁRIO

Tarefa Orientada 16 Vistas

SISTEMAS DE UNIDADES DO COMPUTADOR

FTIN Formação Técnica em Informática Módulo de Automação de Escritório AULA 05. Prof. Fábio Diniz

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

Por que aprender a fazer tabelas? Tabelas auxiliam na formatação da página, e é por essa razão que eles foram acrescentados à linguagem html

Hit dos Bits. Série Matemática na Escola

Workshop Processing: Visualização de Dados e Interatividade

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

Fórmulas e Funções 7

Fundamentos de Hardware

Tamanho e resolução da imagem

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

Representação de Informação -- Texto -- Representação de Informação. Representação de Caracteres

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Características do vídeo. Aquisição, síntese, edição e reprodução de vídeo. Características do vídeo analógico. Características do vídeo analógico

O AMBIENTE DE TRABALHO DO WINDOWS

QUESTÃO 1 ALTERNATIVA B

Actividade 1 Uma direcção, dois sentidos...

CorelDRAW UM PROGRAMA DE DESIGN

1. Lançamento em Contas Bancárias Liquidação de Clientes

Informática para Ciências e Engenharias (B) 2016/17. Teórica 6

Transcrição:

Informática para Ciências e Engenharias 2014/15 Teórica 5

Na aula de hoje... Representação de imagens pixels, sistema RGB Gráficos em MATLAB Gráficos simples Imagens 2D Exemplo: difusão Gráficos 3D Exemplo: simulação estocástica de um incêndio

Ecrã, imagens e pixels

O ecrã O ecrã é uma matriz de picture elements (pixels) a resolução é normalmente indicada por linhas x colunas: 1024 x 768, 800 x 600,... (4:3), 1280 x 720, 1366 x 178, 1920 1080, (16:9) cada imagem é também uma matriz de pixels

A imagem

Pixels representam caracteres

Cores No formato True Color, cada pixel tem 3 bytes (24 bits) para representar a cor RGB 1 byte (8 bits) para vermelho 1 byte (8 bits) para verde 1 byte (8 bits) para azul Hexadecimal (Red) (Green) (Blue) números representados com 0, 1,, 9, A,, F dois dígitos = 16*16 = 256 combinações de 00 a FF

Cores

Cores Cubo das cores (0,0,0) preto (255,255,255) branco (255, 0, 0) vermelho (0, 255, 0) verde (0, 0, 255) azul http://en.wikipedia.org/wiki/rgb_color_model

Manipulação do ecrã CPU dá instruções de escrita na RAM de vídeo, normalmente na placa gráfica. 3 bytes por pixel em true color

Manipulação do ecrã O controlador do ecrã na placa gráfica actualiza os pixels no ecrã, tipicamente 50 vezes por segundo (ou mais)

Gráficos em 2D: plot

Gráficos em MATLAB Função plot(x, y, opts) opts é uma string especificando símbolos e cores

Gráficos em MATLAB octave:1> x=-pi:0.1:pi; octave:2> y=sin(x); octave:3> plot(x,y,'*-r') octave:4>

Gráficos em MATLAB octave:1> octave:2> octave:3> octave:4> octave:5> x=-pi:0.1:pi; y=sin(x); plot(x,y,'*-r') plot(x,-y,'+b')

Gráficos em MATLAB octave:1> octave:2> octave:3> octave:4> octave:5> x=-pi:0.1:pi; y=sin(x); plot(x,y,'*-r') plot(x,-y,'+b') Nota: Em MATLAB (MATrix LABoratory) muitas operações comuns são estendidas a matrizes e vectores. No entanto, isto não é verdade na generalidade das linguagens de programação.

Gráficos em MATLAB octave:1> octave:2> octave:3> octave:4> octave:5> octave:6> octave:7> x=-pi:0.1:pi; y=sin(x); plot(x,y,'*-r') plot(x,-y,'+b') hold on plot(x,y,'*-r')

Gráficos em MATLAB Função fill(vx, vy, vcor) vx vy vcor vector com coordenadas x de 4 pontos vector com coordenadas y de 4 pontos vector com 3 valores RGB, entre 0 e 1

Gráficos em MATLAB

Gráficos em MATLAB colormap e image com colormap definimos um mapa de cores. Matriz de 3 colunas, com uma cor RGB por linha a função image representa uma matriz com as cores definidas Cada célula da matriz indica o índice (linha) da cor no mapa de cores.

Gráficos em MATLAB mapacores=([1,0,0;0,1,0;0,0,1]) imagem=floor(rand(50)*3)+1; colormap(mapacores) image(imagem)

Simulação: difusão

Simulação: difusão Vamos simular a difusão de X numa solução (em 2D) Uma matriz com concentrações A cada passo da simulação calcular quanto difunde para os 8 vizinhos:

Simulação: difusão Vamos simular a difusão de X numa solução (em 2D) Uma matriz com concentrações A cada passo da simulação calcular quanto difunde para os 8 vizinhos Condição fronteira (não há 8 vizinhos) As células nos extremos são constantes (há alternativas, como usar uma fronteira periódica)

Simulação: difusão Dividir em duas funções é bom ter os cálculos numa parte: função para calcular um passo de difusão function novaconc=passodifusao(matconc,coefdif) e os gráficos noutra: chama a anterior a cada passo e desenha o gráfico function difusao(matconcs,coefdif,iteracoes)

Simulação: difusão

Simulação: difusão Para todas as células internas da matriz

Percorrer a matriz

Percorrer a matriz

Simulação: difusão Para todos os vizinhos da célula em (l, c) (excepto o próprio)

Percorrer a vizinhança Matriz de 3x3 centrada em (l,c)

Simulação: difusão Normalmente evita-se aninhar muitos ciclos remetendo parte para outra função. Mas este caso exigiria copiar toda a matriz matconc, pelo que é mais eficiente deixar na mesma função.

Simulação: difusão A indentação é muito importante nestes casos. Sem indentação correcta o código fica ilegível e muito mais propenso a erros (por exemplo, faltar o end).

Simulação: difusão Calcular quanto se difunde e actualizar na matriz da nova concentração. Actualizamos na nova para não alterar os valores a usar para as outras células.

Simulação: difusão octave-3.6.4.exe:12> testmat=zeros(5); octave-3.6.4.exe:13> testmat(3,3)=1 testmat = 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 testar passodifusao 0 0 0 0 0 octave-3.6.4.exe:14> tesmat=passodifusao(testmat,0.1) tesmat = 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.05000 0.10000 0.05000 0.00000 0.00000 0.10000 0.40000 0.10000 0.00000 0.00000 0.05000 0.10000 0.05000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000

Simulação: difusão

Simulação: difusão Gradiente de 100 tons de branco até azul

Simulação: difusão Para cada iteração calcular um passo de difusão e desenhar a imagem. O comando axis square força os eixos iguais e o refresh obriga a desenhar o gráfico durante a simulação.

Simulação: difusão Gota concs=zeros(30); concs(14:16,14:16)=500; difusao(concs,0.1,100);

Simulação: difusão Gota concs=zeros(30); concs(14:16,14:16)=500; difusao(concs,0.1,100);

Simulação: difusão Salpicos concs=zeros(30); concs(2:end-1,2:end-1)=... (rand(28)>0.9)*500; difusao(concs,0.05,100);

Simulação: difusão Salpicos concs=zeros(30); concs(2:end-1,2:end-1)=... (rand(28)>0.9)*500; difusao(concs,0.05,100);

Simulação: difusão (print não faz parte da matéria) Para gravar o resultado como uma série de imagens print(nome) (sprintf veremos mais tarde) Na função difusao

Gráficos em MATLAB: 3D

Gráficos em MATLAB Para fazer um gráfico em 3D precisamos de Matrizes X, Y, Z para associar um valor z a cada par (x,y) x = y = 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 z = 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 5 7 9 4 7 4 10 6 3 1 1 7 6 7 5 8 10 7 7 3 10 6 5 2 9

Gráficos em MATLAB Nota: matrizes são indexadas por (linha, coluna) mas x varia na horizontal e y na vertical logo, x é a coluna e y a linha é preciso atenção a esta convenção x = y = 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 z = 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 5 7 9 4 7 4 10 6 3 1 1 7 6 7 5 8 10 7 7 3 10 6 5 2 9

Gráficos em MATLAB Para fazer um gráfico em 3D precisamos de Matrizes X, Y, Z as matrizes x e y podem ser criadas com a função meshgrid e.g. [xx,yy]=meshgrid(1:5,1:5) chamar a função mesh(x,y,z) surf(x,y,z) traça uma rede 3D traça uma superfície 3D

Gráficos em MATLAB

Gráficos em MATLAB Especificar cores: Podemos acrescentar uma matriz para indicar quais as cores a usar tem de ter a mesma dimensão das outras as cores são as do colormap corrente, interpoladas. o menor valor da matriz C corresponde à primeira cor do mapa de cores o maior valor da matriz C corresponde à última cor do mapa de cores os valores intermédios são interpolados

Gráficos em MATLAB c=ones(5) c(2,2)=2; c(3,3)=3; colormap([1,0,0;0,1,0;0,0,1]); surf(x,y,z,c)

Gráficos em MATLAB Para mudar a orientação: view(azimute, elevação) octave:118> view(45,20) octave:119> view(85,60)

Gráficos em MATLAB view(10,30)

Gráficos em MATLAB view(15,30)

Gráficos em MATLAB view(20,30)

Gráficos em MATLAB view(20,15)

Gráficos em MATLAB view(20,35)

Gráficos em MATLAB view(20,90)

Simular um incêndio

Simular um incêndio Objectivo Temos uma matriz com a elevação do terreno http://visibleearth.nasa.gov/view.php?id=73934

Simular um incêndio Objectivo Queremos simular como um incêndio se propaga no terreno pode haver vento ou outros factores

Simular um incêndio Simulação numa matriz, cada célula indica que a vegetação está 1- normal 2- queimada 3- a arder a que está a arder pode propagar o fogo aos 8 vizinhos com uma probabilidade que depende do declive, vento, etc

Simular um incêndio Simulação a probabilidade de propagar o fogo a cada vizinho pode ser dada por uma matriz de 3x3 assim podemos simular vento ou outros factores dando valores diferentes para direcções diferentes modificada pelo declive

Simular um incêndio Simulação probabilidade de propagar o fogo: 0.10000 0.14000 0.10000 0.14000 0.00000 0.14000 0.10000 0.14000 0.10000 modificada pelo declive somar um factor dependente da diferença de elevação mais provável propagar-se a subir

Simular um incêndio Simulação a cada iteração da simulação temos de propagar o fogo de todas as áreas a arder testar as áreas a arder para determinar quais se apagam para a simulação temos de calcular cada iteração representar graficamente o progresso do incêndio 3 funções

Simular um incêndio Simulação Assinaturas das funções: function novoestado=propaga(estado,... mapa,probpropagar,efeitodeclive) function estado=extingue(estado,probapagar) function incendio(mapa,focoinicial,... probpropagar,probapagar,... efeitodeclive,iteracoes)

Simular um incêndio Propagar os focos de incêndio

Simular um incêndio Para todas as células internas da matriz que estejam a arder. (Não queremos propagar as da fronteira para evitar sair dos limites da matriz).

Simular um incêndio Para todos os vizinhos por arder dessa célula. Nota: não precisamos excluir a própria célula porque essa está a arder.

Simular um incêndio Calculamos a probabilidade de propagação modificando o valor da matriz pelo declive (mais provável propagar-se para cima).

Simular um incêndio Se propaga, marcamos no novoestado (e não no estado para evitar propagar imediatamente esse novo foco). Nota: rand devolve um valor pseudoaleatório entre 0 e 1.

Simular um incêndio Extinguir as zonas a arder

Simular um incêndio Para simular preparar o gráfico ciclo das iterações propagar extinguir desenhar

Simular um incêndio

Simular um incêndio Cria a matriz com o estado inicial da vegetação e o mesmo tamanho da matriz com a elevação do terreno. Podia ser: ones(size(mapa,1),size(mapa,2)) Depois inicia o incêndio.

Simular um incêndio Prepara as matrizes para o gráfico 3D. Nota: x é colunas, y linhas. Cria o mapa de cores (verde para normal, preto para queimado, laranja para fogo).

Simular um incêndio A cada iteração propaga e extingue os fogos activos com as probabilidades respectivas.

Simular um incêndio Depois desenha o gráfico, orienta-o adequadamente e força a sua actualização. (Sem o refresh só veríamos o gráfico no final da simulação)

Simular um incêndio Sem vento nem declive probpropagar = 0.10000 0.14000 0.10000 0.14000 0.00000 0.14000 efeitodeclive = 0 0.10000 0.14000 0.10000

Simular um incêndio Só declive probpropagar = 0.10000 0.14000 0.10000 0.14000 0.00000 0.14000 efeitodeclive = 0.1 0.10000 0.14000 0.10000

Simular um incêndio probpropagar = 0.04000 0.14000 0.20000 0.02000 0.00000 0.40000 efeitodeclive = 0.1 0.04000 0.14000 0.20000 Declive e vento

Resumindo Gráficos 2D (pontos, linha) plot(vectorx, vectory, hold on hold off clf opções)

Resumindo Imagens 2D fill(coordsx, coordsy,corrgb) colormap(matrizcoresrgb) image(matrizindicescores) Gráficos 3D meshgrid(x,y), mesh ou surf (x,y,z), ou (x,y,z,c) view(azimute, declinacao)

Para estudar esta aula Manual Octave Capítulo 15, plotting MATLAB plotting functions http://www.mathworks.com/help/matlab/creati ng_plots/using-high-level-plottingfunctions.html

Dúvidas