CES-11 LAB 03 Bitmap Quadtree

Slides:



Advertisements
Apresentações semelhantes
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
Advertisements

Sistemas Operacionais
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
PROGRESSÃO ARITMÉTICA P.A.
PGF5001 – Mecânica Quântica 1 Prof. Emerson Passos.
Prof. Celso Gramática.
Prof. Celso Gramática.
Estruturas de Dados para projeto de SGBD. Estruturas de dados analisadas Estruturas de nível Esparso Denso Combinadas Arvore B+ Tabela de hash.
Representação Binária da Informação
Vetores (2) Continuação.
VI: EQUILÍBRIO RADIATIVO
Sistemas Operacionais
Prof. Dr. Helder Anibal Hermini
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
COMPRESSÃO DE FILMES GRUPO: Alessandra Antunes Vargas Anderson Konzen
(Como implementar multiplicação e divisão uma vez só :-)
Ilusão de Ótica O termo Ilusão de óptica aplica-se a todas ilusões que «enganam» o sistema visual humano fazendo-nos ver qualquer coisa que não está presente.
Processamento de Imagens
Fazendo Slides no Power Point
HAND: Height Above the Nearest Drainage
Estatística: Aplicação ao Sensoriamento Remoto SER 202 Aula 01 - ANO 2013 Camilo Daleles Rennó
Página de entrada A página de entrada, ou a index, representa um convite para o seu site.
BERKELEY E O IMATERIALISMO
Capitulo 3 Técnicas de Diagnóstico CT-282 Tutores Inteligentes Diego Ajukas.
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
CES-11 LAB 03 Bitmap Quadtree ALGORITMO Carlos Henrique Q. Forster – Instituto Tecnológico de Aeronáutica 2010.
Laboratório de Fotojornalismo
Capítulo VII – Tipos Enumerativos e Estruturas 7.1 – Tipos enumerativos 7.2 – A necessidade de estruturas 7.3 – Manipulação dos campos de uma estrutura.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
1.3 – Interpretadores – Compiladores versus Interpretadores
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo VII Variáveis Indexadas Numéricas.
Deus Escreva a palavra “Deus” no canto esquerdo superior de uma folha em branco.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
Capítulo V Análise Sintática
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
A Árvore dos meus COLEGAS e por que não, AMIGOS..
Função Gráficos. Domínio e imagem no gráfico.
CARACTERIZAÇÃO DE PARTÍCULAS
Transferência de Calor por Radiação Térmica
Copyright, 1999 © Marcelo Knörich Zuffo PEE-EPUSP Visualização Científica PSI a Aula – Conceitos Básicos de Iluminação.
Modelos de Iluminação e Tonalização
FUNDAÇÃO CARLOS CHAGAS
BlastPhen Aluno: Ricardo Nishikido Pereira
Teorema do Confronto Se não pudermos obter o limite diretamente, talvez possamos obtê-lo indiretamente com o teorema do confronto. O teorema se refere.
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
Introdução à Codificação de Canal Evelio M. G. Fernández
CÓDIGOS CORRETORES DE ERROS
INTRODUÇÃO À TEORIA DE INFORMAÇÃO Evelio M. G. Fernández
Resolução de Sistemas Não-Lineares- Parte 1
Sistemas Lineares Parte 2
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
7. INTEGRAÇÃO NUMÉRICA Parte 1
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Classificação Interna de Dados Estrutura de Dados I Prof. Mai-Ly Vanessa Campus Prof. Alberto Carvalho - UFS.
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Prof: Graciano Notação Científica.
Cartografia.
PROTEÍNAS.
Frações Professor: Graciano Pianezzer Beletti.
LINGUAGENS DE PROGRAMAÇÃO
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Computação Gráfica Geometria de Transformações
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Transcrição da apresentação:

CES-11 LAB 03 Bitmap Quadtree Carlos Henrique Q. Forster – Instituto Tecnológico de Aeronáutica 2010

Bitmap Um bitmap é uma matriz de bits que representa uma imagem Podemos definir 1=preto, 0=branco

Quadtree Uma Quadtree é uma árvore quaternária e geralmente está associada à decomposição espacial em quadrantes

Compressão de Imagem Compressão de imagem é uma forma de codificar uma imagem para reduzir o espaço que ocupa em memória ou disco. Todo método de compressão assume uma característica dos dados para a qual a codificação toma um espaço pequeno Se essa condição não é cumprida, pode ser que eventualmente o tamanho codificado seja maior que o tamanho original (muito raro)

Compressão com quadtree A compressão com quadtree assume que há grande probabilidade de regiões vizinha terem a mesma cor Assim, uma região que tem todos os pixels (elemento da imagem) com a mesma cor, é codificada com apenas 2 bits

Nós da quadtree Há dois tipos de nós na quadtree: Os nós que correspondem a regiões de uma única cor Branco Preto Nós que correspondem a regiões com as duas cores Esses nós são folhas da árvore B P Esses nós são nós internos de grau 4 da árvore

Codificando o bitmap O bitmap é particionado sempre que não for de uma só cor

Árvore final

Codificação em bits Cada vez que for gerada uma folha, coloca-se o bit 0 e em seguida o bit correspondente à cor (0=branco 1=preto) Cada vez que for gerada uma ramificação (nó interno), coloca-se o bit 1 e em seguida a codificação de cada subárvore em seqüência

Ou seja... 00 01 1... 1000000101010000 Codificação: 1000000101010000 00 00 00 101010000 Curiosamente, tomou o mesmo espaço (16 bits) que a codificação original 01 01 00 00

93 bits agora!! Maior que os 64 originais Para a imagem grande: Codificação: 1 1000000101010000 110000010010000010001101010100 1001000001010000 101101000101101000000101000000 93 bits agora!! Maior que os 64 originais

E se eu guardar as dimensões da imagem? Boa idéia: Assim, posso representar imagens cujas dimensões não são potências de 2 (basta ignorar os pontos fora da região, considerando-os brancos ou pretos conforme a conveniência) Posso também codificar as folhas no último nível com apenas 1 bit 0=branco 1=preto, já que é sabido que não haverá ramificações!!

Nova codificação: 00 01 1... Se nível=max 1 100000011100 Codificação: 1 100000011100 Codificação: 100000011100 00 00 00 11100 Agora 12 bits, mas tive que guardar o tamanho 4x4 1 1

Novamente para a grande: Codificação: 1 100000011100 110010100100111110 100100110000 101110111100011000 61 bits agora!! Ainda guardo o tamanho 16x16

Tarefa Escrever um programa para: Escrever outro programa para: Ler um arquivo BMP (matriz de bits) preto-e-branco para a memória. Construir uma árvore quadtree a partir do bitmap. Gerar um arquivo binário cujos bits representem a imagem codificada pela quadtree. Escrever outro programa para: Ler a quadtree de um arquivo salvo pelo seu programa. Gerar um arquivo BMP com a imagem decodificada.

Material É fornecido um código de programa que: Lê um arquivo BMP preto e branco para uma estrutura em bytes na memória, Escreve um arquivo BMP dada a estrutura da matriz de pixels, Lê e escreve bit por bit em um arquivo binário aberto Dica: pode ser mais fácil construir a árvore começando das folhas, através de chamadas recursivas.

Conclusões Veja quanto de uma imagem é possível comprimir. Teste com uma imagem maior, como o exemplo pagina.bmp e veja a razão entre o tamanho da imagem original e da quadtree. Veja o quanto essa razão varia para imagens diferentes. Explique que características de uma imagem dificultam ou facilitam a compressão.