Fernanda oliveira

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1023 palavras )
  • Download(s) : 0
  • Publicado : 17 de maio de 2012
Ler documento completo
Amostra do texto
Universidade Federal Rural do Semiárido
Departamento de Ciências Exatas e Naturais
Ciência da Computação

Tarefa 03
Disciplina: Sistemas Multimídia (1200786)
Professor: Diogo Pinheiro Fernandes Pedrosa
http://www2.ufersa.edu.br/portal/professor/diogopedrosa

Horário:

Terça­feira (20h30min – 22h20min) e Quarta­feira (18h40min – 20h30min)

Aluno (a): I. Normalmente as imagens digitais apresentam­se em arquivos cujos dados estão codificados 
(comprimidos). Exemplos mais usuais são as figuras JPEG, GIF, PNG, entre outras. Contu­
do, há  uma classe de formatos de imagens digitais que não possuem compressão. Tais for­
matos são o PBM (imagens binárias), PGM (imagens em nível de cinza) e PPM (imagens  coloridas no formato RGB). As imagens nestes formatos podem ser escritas em ASCII 
puro. Elas são extremamente simples e consistem no ponto de partida para a elaboração de  
programas de manipulação de imagens.
 A.Pesquise sobre estes formatos e escreva um programa (em qualquer linguagem desejada) 
para ler os pixels de arquivos PBM e PGM e armazená­los em um  array 2D. Este pro­
grama também terá que, a partir de um array 2D, gerar uma imagem PBM ou PGM. II. Considerando a imagem file.pgm fornecida, implemente o algoritmo ordered dither apre­
sentado a seguir, considerando a matriz de Dither com 16 elementos (matriz  D  abaixo). 
Salve o resultado deste processo de pontilhado ordenado em uma imagem binária (formato 
PBM). Dica: os pixels da imagem PGM que estão entre o intervalo [0, 255] devem ser nor­malizados para o intervalo [0, 15], antes do processo de pontilhado iniciar. Para isso, cada  
pixel  p i  da imagem em nível de cinza deve tornar­se um pixel normalizado  p n  através de 
p n= (int) floor  15⋅ pi / 255  . A variável   n   representa a ordem da matriz de  Dither (no 
caso,  n =4 ). As variáveis  N  e  M  representam, respectivamente, o número de colunas e 
linhas da imagem  I  (ou array 2D). A matriz O  é a imagem PBM de saída.





0 8 2 10
12 4 14 6
D=
3 11 1 9
15 7 13 5

1

Para x variando de
Para y variando
i = x mod n
j = y mod n
Se I[y, x] <
O[y, x] =
Senão
O[y, x] =

0 até N
de 0 até M
D[j, i]
1
0

 III. Escreva um programa para encontrar o histograma de uma imagem em nível de cinza. Teste esse programa com a imagem file.pgm. Plote o histograma e veja como se caracteri­
za a distribuição de níveis de cinza na imagem.
 A.Dica 01: considerando que  I  é a imagem em nível de cinza com 256 tons,  H  é o vetor 
de histograma, e que  N  e   M  são, respectivamente, o número de colunas e linhas da 
imagem, o algoritmo para encontrar o histograma desta imagem é:
Criar vetor H com 256 elementos
Para i variando de 0 até 255
H[i] = 0
Para ivariando de 0 até N
Para j variando de 0 até M
H[I[j,i]] = H[I[j,i]] + 1

 B.Dica 02: para plotar um vetor, pode­se usar o Matlab, Scilab, Octave, ou qualquer apli­
cativo de planilha eletrônica. Em todos os casos, salve o vetor de histograma em um ar ­
quivo DAT e abra­o com o programa desejado para plotar este gráfico. IV. Considerando o vetor de histograma (que consiste na visualização da frequência de ocor­
rência dos tons de cinza da imagem), adicione algumas linhas de código no programa para 
calcular o valor da entropia da imagem file.pgm.
 V. A codificação diferencial de  áudio  é  um procedimento utilizado para permitir que uma 
compressão mais eficiente de um sinal de áudio seja obtida. Ela baseia­se na diferença en­tre dois valores absolutos consecutivos de um sinal de  áudio. O objetivo  é  fazer com que  
haja uma maior concentração de valores de áudio em torno de uma pequena faixa de valo ­
res para, assim, a compressão ser aplicada.
Se imaginarmos uma imagem em nível de cinza não como um array 2D mas como um ve­
tor unidimensional com  N × M  elementos (onde  N   é  o número de colunas e  M   é  o nú­...
tracking img