Computação Gráfica
Prof. Márcio Sarroglia Pinho

EXERCÍCIO
Impressão de Imagens em 2 cores

Para ter acesso ao conteúdo de uma imagem, utilize a biblioteca disponível nesta página.

1) Implemente o algoritmo de Halftone, utilizando uma matriz 2 x 2, conforme a figura abaixo:




Veja a  explicação do algoritmo na página sobre imagens.
Como o algoritmo irá gerar uma imagem maior do que a imagem original, você deve criar uma imagem da seguinte forma:


    // Cria uma nova imagem com o dobro das dimensões da imagem original
    NovaImagem = new ImageClass(Image->SizeX(), Image->SizeY());
    // posiciona a imagem nova ao lado da antiga
    NovaImagem->SetPos(Image->SizeX()+10, 1);



2) Implemente o algoritmo de Dither, utilizando uma matriz 2 x 2, conforme uma das matrizes abaixo.
Veja a  explicação do algoritmo na página sobre imagens.





3) Implemente o algoritmo de difusão de erro. Note que você precisará de uma matriz intermediária de números reais, do mesmo tamanho da imagem para armazenar os dados durante o processamento. Veja a explicação do algoritmo na página sobre imagens.

Utilize uma das matrizes de difusão de erro apresentadas abaixo:



Tome cuidado ao varrer a imagem próximo das bordas...

FIM.