• Nenhum resultado encontrado

!"Impressora laser: #"Preto e branco. #"1 bit por pixel. !"Impressora jato de tinta:

N/A
N/A
Protected

Academic year: 2021

Share "!"Impressora laser: #"Preto e branco. #"1 bit por pixel. !"Impressora jato de tinta:"

Copied!
6
0
0

Texto

(1)

1

PEE-5796

Hae Yong Kim hae@lps.usp.br

http://www.lps.usp.br/~hae

Tópicos a serem abordados:

1. Dispositivos e formatos para imagens; 2. Halftoning;

2.1. Difusão de erro; 2.2. Ordered dithering;

2

1. Dispositivos e formatos para imagens

!"Em níveis de cinza ou colorido.

!"Número de bits por pixel (Ex: 1, 4, 8, 16, 24, 32). !"Com ou sem palette.

!"Número de colunas e número de linhas. !"Resolução (pixels/polegada).

!"Modelo de cor aditivo ou subtrativo.

Exemplos:

!"Monitor de computador CRT: #"Colorido.

#"4, 8, 16 ou 24 bits por pixel.

#"Com palette: 4 bits (16 cores) e 8 bits (256 cores).

#"Sem palette: 16 bits (5 bits ou 32 níveis por cor) e 24 bits (8 bits ou 256 níveis por cor).

#"640×480, 800×600, 1024×764 ou 1280×1024 pixels. #"Modelo de cor aditivo.

!"Monitor de notebook (cristal líquido): #"Colorido.

#"16 ou 32 bits por pixel. #"Sem palette.

#"1024×764 pixels (800×600 por interpolação). #"Modelo de cor aditivo.

!"Impressora laser: #"Preto e branco. #"1 bit por pixel.

!"Impressora jato de tinta: #"Colorido.

#"1 bit por pixel.

#"Modelo de cor subtrativo. !"Imagem BMP, TIF e TGA:

#"Colorido ou cinza.

#"Não compactado ou compactado sem perdas. #"Vários escolhas de bits por pixel.

#"Com ou sem palette. !"Imagem GIF:

#"Colorido.

#"8 bits por pixel com palette. #"Compactado sem perdas.

(2)

5 !"Imagem PNG:

#"Colorido.

#"Várias escolhas de bits/pixel. #"Compactado sem perdas.

!"Imagem JPG ou JPEG (antigo e 2000): #"Colorido.

#"Compactado com perdas. !"Imagem JBIG:

#"Binário.

#"Compactado com perdas.

6 1. Como é possível mostrar fotografia em níveis de cinzas numa

impressora laser?

2. Como é possível mostrar fotografia colorida numa impressora jato de tinta?

3. Como escolher o melhor palette para imagem GIF?

LENNA.TGA original Thresholding

//Thresh.cpp #include <imgall>

int main(int argc, char** argv)

{ if (argc!=3) erro("Thresh ent.tga sai.bmp"); IMGGRY ent; IMGFLT a; IMGBIN sai;

double error; le(ent,argv[1]); a=ent; sai=a; sai.ImpBmp(argv[2]); } http://www.lps.usp.br/~hae software psi-2651

(3)

9

2. Halftoning

Dada uma imagem em níveis de cinza G com valores reais entre 0 e 1, construir uma imagem binária B com valores 0 ou 1 tal que

) , ( ) , (l c G l c B

onde B( cl, ) é a média dos valores de B em torno do pixel (l,c).

10 Thresholding Ruído branco ±0,5

//Noise.cpp

#include <imgall>

int main(int argc, char** argv)

{ if (argc!=3) erro("Noise ent.tga sai.bmp"); IMGGRY ent; IMGFLT a; IMGBIN sai;

double error; le(ent,argv[1]); a=ent; mysrand(7);

for (int l=0; l<a.nl(); l++) for (int c=0; c<a.nc(); c++) a(l,c) += 1.0*myrand()-0.5; sai=a; sai.ImpBmp(argv[2]); }

(4)

13 Ordered dithering clustered dots

(meu programa)

Ordered dithering clustered dots (alchemy)

14

//Dispers.cpp #include <imgall>

int main(int argc, char** argv) { if (argc!=3)

erro("Cluster ent.tga sai.bmp"); MATRIZ<int> D(8,8, 0, 32, 8, 40, 2, 34, 10, 42, 48, 16, 56, 24, 50, 18, 58, 26, 12, 44, 4, 36, 14, 46, 6, 38, 60, 28, 52, 20, 62, 30, 54, 22, 3, 35, 11, 43, 1, 33, 9, 41, 51, 19, 59, 27, 49, 17, 57, 25, 15, 47, 7, 39, 13, 45, 5, 37, 63, 31, 55, 23, 61, 29, 53, 21); IMGGRY ent; IMGBIN sai;

le(ent,argv[1]);

sai.resize(ent.nl(),ent.nc()); for (int l=0; l<ent.nl(); l++) for (int c=0; c<ent.nc(); c++) { int l2=l%8; int c2=c%8; if (ent(l,c)<4*D(l2,c2)+2) sai(l,c)=false; else sai(l,c)=true; } sai.ImpBmp(argv[2]); } //Clustered dots MATRIZ<int> D(8, 8, 1, 9, 23, 27, 31, 20, 6, 2, 8, 15, 38, 47, 38, 39, 14, 7, 22, 37, 52, 53, 54, 49, 40, 21, 30, 46, 60, 61, 62, 55, 41, 28, 26, 45, 59, 64, 63, 56, 42, 32, 17, 36, 51, 58, 57, 50, 33, 18, 11, 16, 35, 44, 43, 34, 13, 12, 3, 10, 24, 29, 25, 19, 5, 4);

(5)

17 Difusão de erro

(Floyd and Steinberg)

Difusão de erro (Rogers)

18 Difusão de erro

(Jarvis, Judice and Ninke)

Difusão de erro (Stucki)

2.2 Difusão de erro

//Rogers.cpp #include <imgall>

int main(int argc, char** argv)

{ if (argc!=3) erro("Rogers ent.tga sai.bmp"); IMGGRY ent; IMGFLT a; IMGBIN sai;

double error;

le(ent,argv[1]); a=ent; sai.resize(a.nl(),a.nc()); for (int l=0; l<a.nl(); l++) for (int c=0; c<a.nc(); c++) { if (a(l,c)<0.5)

{ sai(l,c)=false; error=a(l,c); } else { sai(l,c)=true; error=a(l,c)-1; } a(l,c+1) += 3*error/8; a(l+1,c) += 3*error/8; a(l+1,c+1) += 2*error/8; } sai.ImpBmp(argv[2]); }    • ×     2 3 3 8 1 Rogers     • ×     1 5 3 7 16 1

Floyd and Steinberg

          • ×     1 3 5 3 1 3 5 7 5 3 5 7 48 1

Jarvis, Judice and Ninke

          • ×     1 2 4 2 1 2 4 8 4 2 4 8 42 1 Stucki

(6)

21 LENNA.TGA original Difusão de erro

(Floyd and Steinberg)

22 (1a) Input sample Ax (1b) Output sample Ay

(1c) To-be-processed Qx (1d) Ideal output Qy

(1e) Gaussian 2.8 PSNR 30.23dB (1f) 10-ID3 PSNR 34.75dB

(2a) Dispersed-dot OD (2b) PSNR 33.69 dB

Exercício:

Reduzir true color (24 bits/pixel) para 6 bits/pixel usando ordered dithering e difusão de erro.

Dada uma imagem halftone, como descobrir qual foi o método de halftoning usado?

Referências

Documentos relacionados

Nesse sentido surgiu a Carta Brasileira do Esporte na Es- cola, que teve contribuicao de todos os segmentos envolvidos na realizaceo dos JEBs (dirigentes, professores, arbitros e

Em sintonia com os PCN, é importante enfatizar que o êxito no ensino de matemática financeira significa possibilitar ao estudante a transferência do seu conhecimento para o

Por isso, trata-se de um execlente texto – talvez um dos mais bem elaborados da Coleção – não só para aqueles que estão iniciando seus estudos em Marx, mas também para aqueles

O participante que tiver rompido o vínculo com a patrocinadora e que não esteja em gozo de benefício pelo plano poderá optar pela transferência do saldo de suas

Relata-se a ocorrência de indigestão vagal em dois bovinos miniaturas machos, atendidos no Ambulatório de Grandes Animais da Universidade Federal Rural de

Pela TABELA 3 notou-se que a coloração aparente dos corpos de água nos pontos de coleta da bacia hidrográfica do córrego Santa Helena variou de 5 a 20 uH, sendo valores iguais

PREFEITURA MUNICIPAL DE FLORESTA DO ARAGUAIA – PARÁ.. Uni Marca

Esta unidade prepara o papel para impressão a jato de tinta de alta qualidade e aumenta efetivamente a gama de sub s- tratos de mídia para a RICOH Pro VC60000.. Torne cada