A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "CES-11 LAB 03 Bitmap Quadtree Carlos Henrique Q. Forster – Instituto Tecnológico de Aeronáutica 2010."— Transcrição da apresentação:

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

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

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

4 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)

5 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

6 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 B P Esses nós são folhas da árvore Esses nós são nós internos de grau 4 da árvore

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

8 Árvore final

9 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

10 Ou seja Codificação: Curiosamente, tomou o mesmo espaço (16 bits) que a codificação original

11 Para a imagem grande: Codificação: bits agora!! Maior que os 64 originais

12 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!!

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

14 Novamente para a grande: Codificação: bits agora!! Ainda guardo o tamanho 16x16

15 Tarefa Escrever um 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.

16 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.

17 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.


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

Apresentações semelhantes


Anúncios Google