O CENTRO DE INFORMÁTICA – CI CIÊNCIA DA COMPUTAÇÃO
Por: pedrojdev • 18/9/2022 • Exam • 1.276 Palavras (6 Páginas) • 130 Visualizações
[pic 1]
UNIVERSIDADE FEDERAL DA PARAÍBA – UFPB
CENTRO DE INFORMÁTICA – CI CIÊNCIA DA COMPUTAÇÃO
RELATÓRIO DO TRABALHO PRÁTICO II
Introdução ao Processamento Digital de Imagens
PEDRO JOÃO DA SILVA JÚNIOR – 20190112416
João Pessoa – PB
2022
INTRODUÇÃO
Este relatório consiste em detalhar o desenvolvimento do segundo trabalho prático realizado na disciplina de Introdução ao Processamento Gráfico de Imagens. O trabalho proposto tem como objetivo o processar imagens e áudios utilizando a Transformada Discreta de Cosseno (DCT) para transformar imagens e áudios do domínio espacial para o domínio da frequência.
A DCT é uma classe de operações matemáticas que tem como objetivo pegar um sinal e transformá-lo de um tipo de representação para outro. Por exemplo, uma imagem é um sinal bidimensional que é percebido pelo sistema visual humano. A DCT pode ser usada para converter o sinal (informação espacial) em dados numéricos (informações de “frequência” ou “espectral”) para que a informação da imagem exista em uma forma quantitativa que possa ser manipulada por aplicações de filtros ou técnicas de compreensão de dados. As fórmulas da DCT e sua inversa, IDCT, são representadas abaixo:
[pic 2]
Já as fórmulas da DCT-2D e a IDCT-2D são representadas de forma semelhante:
[pic 3]
A partir do princípio da paridade, é possível construir a DCT-2D de uma representação espacial 2D a partir da DCT unidimensional, de forma que é calculada a DCT na vertical e, posteriormente, na horizontal da matriz resultante da DCT vertical.
[pic 4]
DESENVOLVIMENTO
Para este trabalho é requerido que as DCT, DCT 2-D e suas inversas sejam implementados utilizando as fórmulas apresentadas. No desenvolvimento da DCT bidimensional foi utilizado o conceito da paridade, de forma não foi necessário implementar versões diferentes do cálculo da DCT para ambas as dimensões 1D e 2D.
IMPLEMENTAÇÃO
Este trabalho foi desenvolvido em Python no ambiente Jupyter Notebook e utilizando algumas bibliotecas para auxiliar na implementação das questões propostas. As bibliotecas utilizadas foram:
- Numpy – usado em processamento numérico de vetores e matrizes.
- Scipy – utilizado para ler/salvar arquivos arquivo de áudio locais em formato .wav (módulo scipy.io.wavfile).
- PIL – utilizado para abrir imagens locais e transformar imagem em matriz e vice-versa.
- Matplotlib – utilizado para exibir output de processamentos realizados e plotagem de gráficos.
Para testes, foi disponibilizado uma imagem de dimensões 256x256 de Lena e um arquivo de áudio em formato .wav.
[pic 5]
DCT-2D E IDCT-2D de Lena
[pic 6]
1.0 MÓDULO NORMALIZADO E VALOR NÚMERICO DO NÍVEL DC DA IMAGEM
Nessa questão é requerido a exibição do módulo normalizado com uma expansão de histograma para o intervalo de 0 a 255 sem o nível DC e, também, exibir o valor numérico do nível DC de Lena.
Sabendo que o nível DC (Direct Current ou Corrente Direta) é o primeiro coeficiente da DCT e todo os outros são coeficientes AC (Alternate Current ou Corrente Alternada), é possível exibir o valor numérico DC da DCT-2D de Lena acessando o coeficiente de index [0, 0] da matriz DCT. Uma vez que o index do nível DC é conhecido, podemos zerá-lo para então obter a o modulo seguido de uma normalização através da técnica de expansão de histograma para o intervalo de 0 a 255.
Resultado obtido: [pic 7]
Valor numérico do nível DC: 31883.60937500001
É observável que a concentração de coeficientes não nulos é bastante reduzida para o canto superior esquerdo após o módulo da DCT ter sido normalizada.
1.1 APROXIMAÇÃO PRESERVANDO O COEFICIENTE DC E OS N AC COEFICIENTES MAIS IMPORTANTES DA IMAGEM
Nesta questão é necessário exibir uma aproximação de Lena preservando o coeficiente de nível DC e os N coeficientes AC mais importantes da imagem. O parâmetro N é um valor inteiro que varia entre 0 a RxC-1. Para encontrar uma aproximação de Lena dado um N qualquer entre o intervalo permitido, foi feito uma iteração na DCT-2D da imagem onde todos os coeficientes AC cujo modulo é menor que N é zerado.
Resultados obtidos com algumas variações de N:
[pic 8]
É bastante perceptível que à medida que o valor de N aumenta, a qualidade da imagem resultante decai. Isso ocorre porque ao aumentar o valor de N, estamos matando cada vez mais coeficientes AC que têm informações da imagem.
2.0 FILTRO BUTTERWORTH PASSA-BAIXAS APLICADO EM IMAGEM
A aplicação do filtro Butterworth passa-baixas no domínio da frequência de imagens é alcançada a partir de sua função de transferência.
Onde d(k,l) é a distância euclidiana do coeficiente (k, l) até a origem, fc é a distância de corte até a origem e n é a ordem do filtro com n >= 1 que define o nível de atenuação de frequência do filtro a partir de sua origem. [pic 9]
...