11 - Imagens e Gráficos simples

Documentos relacionados
Introdução à Programação / Programação I

Processamento Digital de Imagens

Processamento Digital de Imagens

Aquisição e Tratamento de Imagem Estática (Mapa de Bits) Tecnologias da Informação e Comunicação

Motivação Por que estudar?

Quais as diferenças entre pixels e vetores?

Processamento Digital de Imagens

573px PERFIL PESSOAL FAN PAGE. 828px FOTO NA LINHA DO TEMPO LINK NA LINHA DO TEMPO. 500px. 220px 360px. 930px

Circuito CELEPAR de Software Livre 2010 GIMP Editor de Imagens. CELEPAR Companhia de Informática do Paraná.

Trabalho GA - Editor de Cenário Isométrico

Imagem digital. Elicardo Gonçalves

Documento Geral Explicativo. GS1 Portugal

ALGUNS CONCEITOS BÁSICOS

Modelo RGB - Aplicações

Imagem bitmap. Gráfico vetorial. gráficos vetoriais

PLANIFICAÇÃO A MÉDIO/LONGO PRAZO

Computação Gráfica em. Luiz Eduardo Borges

Equalização e modificação de histogramas

Indice. Prof. Donald Mark Santee

!!!! Modelo BMP4828 MP4 player MANUAL DE UTILIZADOR

Imagem digital. Unidade 3

TAMANHO E TAXA DE COMPRESSÃO DA IMAGEM

Tutorial. Georreferenciamento de Imagens. versão /08/2008. Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky

As imagens. As imagens. Representação digital de imagens. As imagens Wilson de Pádua Paula Filho 1

Manual de Instruções NSS Editor MANUAL DE INSTRUÇÕES. Editor de bases de dados NSS EDITOR

Curso de Especialização em Teleinformática e Redes de Computadores Departamento Acadêmico de Eletrônica Universidade Tecnológica do Paraná

Formatos Imagem. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Apontamentos CG Edward Angel, Sec. 8.

ESTUDO DE TÉCNICAS PARA SOLUÇÃO DE PROBLEMAS DE PROCESSAMENTO DE IMAGENS UTILIZANDO A LINGUAGEM PYTHON

Padrões e Tipos de Dados de Mídia. Imagem

Relatório para a Tarefa de Análise de Sentimentos

Dispositivos e Periféricos de Computador

APLICATIVOS GRÁFICOS (AULA 4)

Representação da Informação Imagem e Vídeo

Primeiro Projeto de PG: Lista de Temas Selecionados

TÓPICO EDIÇÃO BITMAP

ICE-B. 1 - Introdução. Ludwig Krippahl

O Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: José Pires

Como transferir conteúdo para a PSP

Principais formatos de imagem

Você pode criar um grande conjunto de figurinhas, assim como seu próprio álbum completamente personalizado, a partir de um modelo.

CURSO PROFISSIONAL DE TÉCNICO de MULTIMÉDIA. Planificação Anual

ferramentas da imagem digital

Aula 04 Tipos de arquivos e Fireworks

Introdução a Análise de Imagens Digitais

Tecnologias da Informação e Comunicação 10ºano

PLANIFICAÇÃO ANUAL Documentos Orientadores: Programa da disciplina

LABORATÓRIO 1. SER Introdução ao Geoprocessamento. Modelagem da Base de Dados. Hugo do Nascimento Bendini

O que pode fazer com o Image Data Converter

Guia do CFTV Sistemas de CFTV, IP, Seguranà a Eletrà nica, Conectividade, Informaà ões, Fórum e Tecnologia.

Jornal TAP. Manual de Utilização

API-B Aplicações Informáticas-B 12º ANO

Tecnologias da Informação e Comunicação 10ºano

Programas recomendados para produção de Arquivos PDF

PLANIFICAÇÃO ANUAL DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO (10º

API Aplicações Informáticas 12º ANO

Dados Vetoriais Dados Matriciais Dados Cadastrais. Representação contínua de fenômenos do espaço geográfico

Manual do ContentE CONTENTE. Editor de Conteúdos. Gilberto Pedrosa Biblioteca Nacional Digital

PLANIFICAÇÃO ANUAL DE APLICAÇÕES INFORMÁTICAS B (12º Ano) 2017/2018

Evolução dos monitores. Os monitores evoluíram mais devagar que os outros aparelhos eletrônicos.

Síntese da aula anterior

Princípios sobre imagens digitais

Transcrição:

ICE-B 11 - Imagens e Gráficos simples Ludwig Krippahl

Imagens Resumo Representação de imagens num ecrã. Pixels. Sistema RGB. Criação e manipulação de imagens com Numpy e Scikit-Image Gráficos simples com Matplotlib 1

Imagens Representação de imagens 2

Imagens Representação de imagens no computador Ecrã: matriz de pixels picture elements Resolução: Colunas x Linhas E.g. 1024x768 (Mas matriz Linhas x Colunas) 3

Imagens Representação de imagens no computador Imagem: Wikipedia, ed g2s, CC BY-SA 3.0 4

Imagens Pixels RGB, mistura de red+green+blue Imagens: Pengo (CC BY-SA 3.0) e Pko (Public Domain), de Wikimedia Commons 5

Imagens Pixels RGB, mistura de red+green+blue Representação matricial das imagens (matriz 3D): Linhas x Colunas x 3 cores No ficheiro o formato é mais complexo: JPG: Compressão com perdas PNG: Compressão sem perdas GIF: Compressão com perda na cor (tabela simplificada) BMP: Sem compressão (mas ficheiro grande) Mas podemos ler e gravar ficheiros com uma biblioteca adequada Scikit-Image (skimage): http://scikit-image.org/ Pillow, Python Image Library (PIL): https://pillow.readthedocs.io 6

Gerar Imagens Exemplo: gerar imagens criando as matrizes Matriz para imagem de 500x500 pixels, com 3 canais de cores Este formato assume valores entre 0 e 1 para cada cor Cor R, G, B, função da distância a um canto diferente from skimage.io import imsave import numpy as np img = np.zeros( (500,500,3)) diag = (img.shape[0]**2+img.shape[1]**2)**0.5 for r in range(img.shape[0]): for c in range(img.shape[1]): img[r,c,0] = (r**2+c**2)**0.5/diag img[r,c,1] = ((r-img.shape[0])**2+c**2)**0.5/diag img[r,c,2] = (r**2+(c-img.shape[1])**2)**0.5/diag imsave('teste.png',img) 7

Gerar Imagens Exemplo: gerar imagens criando as matrizes Cor R, G, B, função da distância a um canto diferente R: distância a (0,0) G: distância a (499,0) B: distância a (0,499) 8

Gerar Imagens Exemplo: gerar imagens criando as matrizes Cor R, G, B, função da distância a um canto diferente R: distância a (0,0) G: distância a (499,0) B: distância a (0,499) 9

Gerar Imagens Exemplo: gerar imagens criando as matrizes Cor R, G, B, função da distância a um canto diferente R: distância a (0,0) G: distância a (499,0) B: distância a (0,499) 10

Gerar Imagens Exemplo: gerar imagens criando as matrizes Cor R, G, B, função da distância a um canto diferente R: distância a (0,0) G: distância a (499,0) B: distância a (0,499) 11

Manipular Imagens Exemplo: manipular imagens alterando a cor Aproveitamos que os clubes mais famosos são R, G, B Imagem: European Pressphoto Agency 12

Manipular Imagens Exemplo: manipular imagens alterando a cor Vamos trocar o canal R por B nos pixels com mais vermelho from skimage.io import imsave, imread from skimage import img_as_float import numpy as np im = img_as_float(imread('l11-adeptos_red.png')) red_dominate = im[:,:,0]-im[:,:,1]+im[:,:,0]-im[:,:,2] red_mask = red_dominate>1.2 red_pixels = im[red_mask] blue_channel = red_pixels[:,2].copy() red_pixels[:,2] = red_pixels[:,0].copy() red_pixels[:,0] = blue_channel im[red_mask]=red_pixels imsave('l11-adeptos_blue.png',im) 13

Manipular Imagens Exemplo: manipular imagens alterando a cor Vamos trocar o canal R por B nos pixels com mais vermelho 14

Manipular Imagens Exemplo: manipular imagens alterando a cor Vamos trocar o canal R por G nos pixels com mais vermelho from skimage.io import imsave, imread from skimage import img_as_float import numpy as np im = img_as_float(imread('l11-adeptos_red.png')) red_dominate = im[:,:,0]-im[:,:,1]+im[:,:,0]-im[:,:,2] red_mask = red_dominate>1.2 red_pixels = im[red_mask] green_channel = red_pixels[:,1].copy() red_pixels[:,1] = red_pixels[:,0].copy() red_pixels[:,0] = green_channel im[red_mask]=red_pixels imsave('l11-adeptos_green.png',im) 15

Manipular Imagens Exemplo: manipular imagens alterando a cor Não é bem este o tom... demasiado G. Vamos reduzir 16

Manipular Imagens Exemplo: manipular imagens alterando a cor Vamos trocar o canal e dividir por 2 para ficar menos saturado from skimage.io import imsave, imread from skimage import img_as_float import numpy as np im = img_as_float(imread('l11-adeptos_red.png')) red_dominate = im[:,:,0]-im[:,:,1]+im[:,:,0]-im[:,:,2] red_mask = red_dominate>1.2 red_pixels = im[red_mask] green_channel = red_pixels[:,1].copy() red_pixels[:,1] = red_pixels[:,0].copy()/2 red_pixels[:,0] = green_channel im[red_mask]=red_pixels imsave('l11-adeptos_green.png',im) 17

Manipular Imagens Exemplo: manipular imagens alterando a cor Assim já fica um verde mais escuro 18

Animação Exemplo: criar uma animação from skimage.io import imsave, imread import numpy as np def save_circle(step): img = np.zeros( (500,500,3)) offset = np.pi/200*step*5*7*13 for r in range(img.shape[0]): for c in range(img.shape[1]): dist_center = ((r-img.shape[0]/2)**2+(c-img.shape[1]/2)**2)**0.5 img[r,c,0] = np.sin(dist_center/5+offset)/2+0.5 img[r,c,1] = np.sin(dist_center/7+offset)/2+0.5 img[r,c,2] = np.sin(dist_center/13+offset)/2+0.5 imsave(str(step).zfill(3)+'.png',img) for i in range(200): save_circle(i) Depois juntar as 200 imagens num vídeo Usar outro software, como ffmpeg 19

Animação Exemplo: criar uma animação 20

Imagens Processar imagens em Python Não faz parte da avaliação Mas pode ser útil saber um pouco sobre estas bibliotecas Criar thumbnails Ajustar contraste ou brilho Converter formato ou resolução Mais informação: http://scikit-image.org/ 21

Aplicações Electroforese de complexos AuNP-proteína DQ, Ricardo Franco, David Peitinho 22

Aplicações Microscopia de fluorescência de bactérias ITQB, Mariana Gomes de Pinho, Bruno Saraiva 23

Aplicações Microscopia de fluorescência de bactérias ITQB, Mariana Gomes de Pinho, Bruno Saraiva 24

Imagens Gráficos simples com Matplotlib 25

Tuberculose Gráfico de incidência de TB em Portugal Ficheiro com número de casos por 100,000 habitantes Dados da Organização Mundial de Saúde Ano Incidência estimada Limite inferior Limite superior 1990 91 38 166 1991 88 37 161 1992 85 36 155 1993 82 35 150 1994 79 34 144 1995 76 33 137... 2008 31 15 55 2009 30 14 52 2010 29 13 50 2011 28 13 49 2012 29 13 50 2013 30 13 52 26

Tuberculose Gráfico de incidência de TB em Portugal Carregar os dados Criar a figura e desenhar as linhas (plot) A consola ipython mostra os gráficos import numpy as np import matplotlib.pyplot as plt data = np.loadtxt('tuberculose.txt') plt.figure(figsize=(10,7)) plt.plot(data[:,0], data[:,1], 'k-') plt.plot(data[:,0], data[:,2], 'g-') plt.plot(data[:,0], data[:,3], 'r-') plt.title('tb Infection load for Portugal') plt.show() 27

Tuberculose Gráfico de incidência de TB em Portugal Carregar os dados Criar a figura e desenhar as linhas (plot) A consola ipython mostra os gráficos import numpy as np import matplotlib.pyplot as plt data = np.loadtxt('tuberculose.txt') plt.figure(figsize=(10,7)) plt.plot(data[:,0], data[:,1], 'k-') plt.plot(data[:,0], data[:,2], 'g-') plt.plot(data[:,0], data[:,3], 'r-') plt.title('tb Infection load for Portugal') plt.show() 28

Tuberculose Gráfico de incidência de TB em Portugal Carregar os dados Criar a figura e desenhar as linhas (plot) Em alternativa, podemos gravar import numpy as np import matplotlib.pyplot as plt data = np.loadtxt('tuberculose.txt') plt.figure(figsize=(10,7)) plt.plot(data[:,0], data[:,1], 'k-') plt.plot(data[:,0], data[:,2], 'g-') plt.plot(data[:,0], data[:,3], 'r-') plt.title('tb Infection load for Portugal') plt.savefig('l11-tb_plot.png',bbox_inches="tight",dpi=200) plt.close() 29

Tuberculose Gráfico de incidência de TB em Portugal Imagem gravada: 30

Tuberculose Gráfico de incidência de TB em Portugal plt.plot(data[:,0], data[:,1], 'k--') plt.plot(data[:,0], data[:,2], 'gx') plt.plot(data[:,0], data[:,3], 'ro') 31

Tuberculose Gráfico de incidência de TB em Portugal plt.plot(data[:,0], data[:,1], 'k-',linewidth=4) plt.plot(data[:,0], data[:,2], 'g-',linewidth=2) plt.plot(data[:,0], data[:,3], 'r-',linewidth=2) 32

Tuberculose Gráfico de incidência de TB em Portugal plt.style.use('seaborn') 33

Tuberculose Gráfico de incidência de TB em Portugal plt.bar(data[:,0]-0.2, data[:,1],0.3) plt.bar(data[:,0], data[:,2],0.3) plt.bar(data[:,0]+0.2, data[:,3],0.3) 34

Gráficos simples Função plot Argumentos: valores de x, valores de y Opcional formatação e outras opções https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html Função bar Argumentos: valores de x, alturas, largura Nota: valores de x correspondem ao centro da barra Outras opções (cores, barras de erro, etc) https://matplotlib.org/api/_as_gen/matplotlib.pyplot.bar.html 35

Imagens Resumo 36

Imagens Resumo Extra: Como são representadas imagens no computador (pixels, RGB) Criação e manipulação de imagens com Scikit-Image Importante para ICE: Plots simples com Matplotlib, plot e bar Formatação básica do plot Leitura adicional: Recomendada: Capítulo 11 dos apontamentos Opcional: Matplotlib: https://matplotlib.org/ Scikit-Image: http://scikit-image.org/ 37