Processamento Digital de Imagens

Documentos relacionados
Processamento Digital de Imagens

Processamento Digital de Imagens

Processamento Digital de Imagens

Imagem e Gráficos. vetorial ou raster?

Introdução a Programação de Jogos

Imagem ou Desenhos e Gráficos vetorial ou raster?

PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

Introdução ao HTML5 Canvas

Laboratório de Programação II

PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

No sub menu de Formatos temos algumas opções a trabalhar. Vejamos cada uma

Aula 02. Prof. Diemesleno Souza Carvalho

Introdução ao Processamento de Imagens Digitais Aula 01

Módulo I. Desejamos boa sorte e bom estudo! Em caso de dúvidas, contate-nos pelo site Atenciosamente Equipe Cursos 24 Horas

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

Folha de Cálculo Funcionalidades Avançadas

Flash. Prof. Luiz Claudio Ferreira de Souza.

Imagem digital. Elicardo Gonçalves

GUIA DE PREPARAÇÃO DE ARQUIVOS PARA IMPRESSÃO OFFSET.

Aula 05. Prof. Diemesleno Souza Carvalho

11 - Imagens e Gráficos simples

1. Crie um novo projeto Scratch. Apague o gato clicando com o botão direito e em apagar.

LABORATÓRIOS DIDÁTICOS DE GEOPROCESSAMENTO

CEUNSP - FEA CURSO DE ARQUITETURA E URBANISMO DESENHO ARQUITETÔNICO _ AULA 3 TURMAS 82111_82113 _ 82123

A instalação do DCR compreende apenas a descompactação do arquivo DCR.zip num diretório no disco. Descompacte o arquivo DCR.zip num novo diretório.

COLÉGIO OBJETIVO JÚNIOR

Material do Professor. Tema: Roteiro de construção para a atividade Porcentagem

CURSO COMPLETO DE PROJETO DE MÓVEIS

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

ProE/ Creo Criação e montagem do mecanismo Limpador de para-brisas 1 palheta

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

PCS TEXNUM: Texto e Números em Ponto Flutuante

APP INVENTOR. APP INVENTOR Exercício 1

Como capturar imagens de alta resolução?

Corel Draw. Editoração Gráfica. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

(Nova) Matemática, Licenciatura. Operando com números inteiros relativos através de fichas coloridas 1

Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss

Aula 02. Prof. Diemesleno Souza Carvalho

Curso de automação industrial utilizando o CLP Haiwell

Banco de Dados II. Aula 02. Prof. Diemesleno Souza Carvalho

Laboratório de Programação com Games. Conteúdo: Professor: - Conceitos de programação com Python. Instituto de Computação - UFF

António Costa. Paulo Roma Cavalcanti

VITOR DO PRADO FERREIRA

Programação para Internet I

Banco de Dados. Aula 03. Prof. Diemesleno Souza Carvalho

3. Programação Gráfica

Neste tópico veremos:

Usando Display Gráfico com C18 e C30

Crie um novo projeto conforme abaixo, encerrando com o botão Finalizar :

ÍNDICE. CorelDRAW X4 -3- CAPÍTULO 1 INICIANDO O CorelDRAW... 7

DIRECTSUBMIT. SafeAssign AMBIENTE VIRTUAL DE APRENDIZAGEM TUTORIAL DO. DirectSubmit. Autor(es) Natália Regina de Souza Lima

Ponto Flutuante IEEE 754

AULA 11 DESENVOLVIMENTO DE GAMES UTILIZANDO O HTML5

AULA 2 Planos Vistas e Temas

Sumário Objetivos Estudo de caso 1 Criação de template Exercício 1 Detalhamento da peça Exemplo... 23

Elementos visuais com ActionScript 3.0. Vamos chamar ao Action Script 3.0, AS3 a partir de agora

Apostila de desenho técnico elétrico Progecad

Computação II (MAB 225)

A equação da circunferência

Excel Tabela Dinâmica - Incrementando seus conhecimentos e Aperfeiçoando a sua prática Excel 2010 Uso inteligente da Tabela Dinâmica

Integração numérica. Prof. Luiz T. F. Eleno. Departamento de Engenharia de Materiais Escola de Engenharia de Lorena Universidade de São Paulo

Revisão C++ - Parte 1

Parte 1 Questões Teóricas

Criando um layout para se u site.. Click no Arquivo > novo para abrir um novo documento, ou simplesmente pressione CTRL + N

Tutorial 2 Fireworks CS3. ..: Técnicas básicas para a ferramenta Caneta (Pen-tool) - Parte 1:..

9. imprimir o fatorial do número 10. imprimir o sucessor e o anterior de um número lido 11. Imprimir se um número é primo ou não 12. Imprimir os 100 p

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Prezado(a) Aluno(a), 1. Conhecendo a Caixa de Ferramentas. 2. Trabalhando com textos. UnidadeB

Copiar e colar movimentos

a) sistema de cores aditivo b) sistema de cores subtrativo Figura 1. Sistemas de cores.

Sistemas Numéricos - Aritmética. Conversão de Bases. Prof. Celso Candido ADS / REDES / ENGENHARIA

Jclic Alfabeto Sonoro

COMO PREPARAR/ENVIAR SEU ARQUIVO PARA IMPRESSÃO

Animação no flash. Prezado(a) aluno(a), 1. Técnicas de Animação. Animação quadro a quadro

1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.

Atividade prática orientada: delimitação de bacias hidrográficas usando o QGIS

Transcrição:

Processamento Digital de Imagens Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br

Na aula passada vimos...

Na aula passada vimos... Unidade II - Básico sobre imagens; - O que é um pixel? - Visão geral sobre o sistema de coordenadas; - Acessando e manipulando pixels.

Na aula de hoje veremos...

Na aula de hoje veremos... Unidade III - Desenhando; - Linhas, Retângulos e Círculos.

Desenhando

Desenhando Utilizando o próprio NumPy com divisões de arrays na última aula nós colocamos um quadrado verde na nossa imagem.

Desenhando Utilizando o próprio NumPy com divisões de arrays na última aula nós colocamos um quadrado verde na nossa imagem.

Desenhando Utilizando o próprio NumPy com divisões de arrays na última aula nós colocamos um quadrado verde na nossa imagem. No entando, se quisessemos desenhar uma linha simples ou um círculo o NumPy não provê meios simples parar fazer isso, já que essa é uma biblioteca para processamento numérico.

Desenhando Mas como estamos utilizando também outras bibliotecas, não teremos grande problemas. O OpenCV provê de forma simpes, métodos para desenhar formas em uma imagem. Veremos o uso dos principais métodos: - cv2.line; - cv2.rectangle; - cv2.circle;

Desenhando OBS: Deve ficar claro que, conforme vimos na aula passada, podemos carregar imagens prontas do disco para nossos programas. Essas imagens, ao serem carregadas pelo OpenCV se tornam matrizes. Então temos que encará-las como tal. Ou seja: a) Tenho uma imagem; b) Carreguei ela no OpenCV; c) Não tenho mais uma imagem, mas sim uma matriz;

Desenhando OBS: Outro fato é que além de trabalharmos com imagens existentes podemos também criar as imagens utilizando o próprio NumPy. Já que para o OpenCV uma imagem nada mais é do que uma matriz e o NumPy é a biblioteca para manipulação de matrizes, podemos criar nossas matrizes e entregar para o OpenCV como nossa imagem.

- Desenhando Linhas

- Desenhando Linhas Crie o programa desenho.py

- Desenhando Linhas No programa desenho.py adicione o código:

- Desenhando Linhas No programa desenho.py adicione o código: Já conhecemos essas linhas: Estamos fazendo o importe das bibliotecas a serem utilizadas no programa. OBS: Repare que estamos dando um alias (apelido) para numpy chamando de np.

- Desenhando Linhas No programa desenho.py adicione o código: Estamos utilizando o numpy para criar uma matriz 300 x 300 com espaço para 3 canais (RGB), preenchida com zeros. Essa matriz será nossa imagem. O segundo parâmetro (dtype) informa qual é o tipo de dado que estaremos colocando na matriz. Conforme estudemos anteriormente, nossas imagens RGB possuem valores em um range de [0, 255]. Dessa forma, basta que usemos uma numeração 8-bit unsigned.

- Desenhando Linhas No programa desenho.py adicione o código: Variável para representar a cor verde. Lembrando que as imagens RGB (Red, Green e Blue) mas o OpenCV que trabalha com NumPy utiliza BGR (Blue, Green, Red). Então colocamos 0 para o blue, 255 para o green e 0 para o red. Nossa cor terá apenas a cor verde ativa.

- Desenhando Linhas No programa desenho.py adicione o código: Na linha 8, desenhamos uma linha no nosso canvas, iniciando o ponto (0,0) até o ponto (300, 300). Para desenhar uma linha com OpenCV utilizamos o método cv2.line, onde o primeiro parâmetro é a imagem na qual queremos desenhar a linha, o segundo é o ponto inicial e o terceiro o ponto final. O quarto parâmetro é a cor da linha. As linhas 9 e 10 já conhecemos.

- Desenhando Linhas Podemos executar nosso programa: No diretório onde o programa está salvo digite: python desenhando.py

- Desenhando Linhas Devemos ter então uma tela com uma linha verde desenhada iniciando no ponto (0,0) até (300,300):

- Desenhando Linhas Ainda no programa desenho.py adicione o código: Na linha 12 estamos criando uma variável para representar a cor vermelho. Na linha 14 estamos criando uma nova linha, porém iniciando no ponto (300, 0) e finalizando no ponto (0, 300). Estamos ainda utilizando a cor vermelho e adicionamos um quinto parâmetro que controla a espessura da linha, neste caso informamos que a espessura será de 3 pixels. O padrão é 1 pixel.

- Desenhando Linhas Ao executar novamente nosso programa, para cada vez que pressionarmos uma tecla o canvas será atualizado. Agora temos uma linha verde e uma vermelha.

- Desenhando Retângulos

- Desenhando Retângulos Ainda no programa desenho.py adicione o código: Para desenhar um retângulo utilizando o OpenCV usamos o método cv2.rectangle. O primeiro argumento passado é a imagem na qual queremos aplicar o desenho. O segundo argumento é o ponto de início e o terceiro é o ponto de finalização. Como quarto argumento informamos a cor do desenho.

- Desenhando Retângulos Agora além de uma linha verde e uma vermelha, temos também um retângulo verde.

- Desenhando Retângulos Ainda no programa desenho.py adicione o código: Podemos também adicionar um quinto parâmetro que controla a espessura da linha do retângulo a ser desenhado. No caso da linha vermelha estamos definindo uma espessura de 5 pixels. Por padrão é 1 pixel.

- Desenhando Retângulos Nossa imagem atualizada tem agora um retângulo vermelho com 5 pixels de espessura.

- Desenhando Retângulos Ainda no programa desenho.py adicione o código: Na linha 26 criamos a variável azul para armazenar a cor azul. Na linha 28 criamos um novo retângulo mas adicionamos um quinto parâmetro para controle da espessura. O valor negativo faz preencher internamente com a cor.

- Desenhando Retângulos Nossa imagem atualizada tem agora um retângulo azul preenchido.

- Desenhando Círculos

- Desenhando Círculos Ainda no programa desenho.py adicione o código: Na linha 32 estamos zerando nosso canvas. Na linha 34, criamos as variáveis para representarem o centro da imagem. Estamos pegando a altura do canvas e dividindo por 2 e a largura também do canvas e dividindo por 2. Estamos ainda utilizando o cast int(variavel) para converter qualquer que seja o resultado para inteiro. Na linha 36, criamos uma variável para representar a cor branca.

- Desenhando Círculos Ainda no programa desenho.py adicione o código: Na linha 38 utilizando um for que inicia em 0 e vai até 175, e incrementa de 25 em 25. Na linha 39, utilizamos o método cv2.circle do OpenCV para criar círculos. O primeiro parâmetro é o local onde queremos desenhar. O segundo parâmetro é o ponto onde nosso círculo será desenhando ao redor. O terceiro parâmetro é o raio do círculo a ser desenhado. O quarto parâmetro é a cor.

- Desenhando Círculos Nossa imagem atualizada tem agora vários círculos brancos.

Na linha 46, criamos o ponto central onde o círculo será criado ao redor com 2 valores entre 0 e 300 (x,y). Linhas, Retângulos e Círculos - Desenhando Círculos Ainda no programa desenho.py adicione o código: Na linha 43 utilizando um for que inicia em 0 e vai até 25. Na linha 44, criamos um raio dinâmico entre 5 e 200 com o numpy. Na linha 45, criamos uma cor dinâmica (3 valores entre 0 e 256 - BGR) com numpy.

- Desenhando Círculos Ainda no programa desenho.py adicione o código: Na linha 47 desenhamos o círculo, passando os dados aleatórios e com um quinto parâmetro para preencher com a cor.

- Desenhando Círculos Nossa imagem atualizada tem agora vários círculos com tamanhos, cores e posições aleatórios.

Processamento Digital de Imagens Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br

Exercícios Escolha uma imagem na internet e baseado no que aprendemos sobre os desenhos de formas básicas com OpenCV, aplique alguns desenhos na imagem. Faça variações e experimente novas configurações para as formas criadas.