Redução de imagem

Propaganda
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Licenciatura em Engenharia Electrotécnica e de Computadores
5º Ano, 1º Semestre
Televisão Digital - 2002/2003
TRABALHO PRÁTICO
Redução de imagem - 2
Alunos:
Pedro Miguel Pereira Afonso – [email protected]
Ricardo Nuno de Oliveira Pinto Ferreira – [email protected]
O objectivo deste trabalho é produzir uma imagem digital de dimensões a.N x a.M (a < 1) a partir de uma imagem
de dimensões n x M utilizando uma estratégia que trabalhe no domínio das frequências.
Para a concretização do trabalho utilizamos o ambiente de simulação matlab.
1ª PARTE
FFT
Tal como descrito no guião, começamos o trabalho usando a FFT para passarmos para o domínio das
frequências.
O primeiro passo foi o de analisar qual o tipo de imagem que queríamos reduzir.
Usando o campo ‘ColorType’ do comando ‘imfinfo’ verificamos que existem três tipos diferentes de imagem:
truecolor, grayscale (intensity) e indexed.
Assim, foi necessário implementar rotinas separadas para abrir os diversos tipos de imagem e
posteriormente efectuar a sua conversão para indexed.
Teoricamente, a redução de uma imagem passa por aproveitar as frequências mais baixas, descartando as
mais elevadas.
Explicação geral do código:
Visto que estamos a trabalhar com imagens representadas em matrizes de duas dimensões, usamos a fft2
para passar para o domínio das frequências.
Foi necessário utilizar o comando fftshift por forma a concentrarmos a energia nos coeficientes centrais para
posteriormente aproveitá-los.
O passo seguinte consistiu em calcular uma janela em volta do centro do espectro com as dimensões
calculadas com base na percentagem de redução por nós inserida à entrada.
Após termos definido essa janela, copiamos a informação aí contida para uma nova matriz para,
posteriormente efectuarmos a sua transformada inversa (ifft2). Finalmente, gravamos a matriz transformada
num novo ficheiro de imagem.
Verificámos que a imagem reduzida, embora tivesse as dimensões correctas, apresentava-se sempre mais
clara do que a original.
Após alguma análise às diversas matrizes das diferentes imagens, constatámos que os coeficientes da
imagem reduzida eram superiores aos da imagem inicial.
Ou seja, enquanto que, para o mesmo pixel, a imagem inicial apontava para o valor Y do colormap, a nova
imagem apontava para um valor Y*X que não existia no nosso colormap (logo, era 255, a cor branca).
Assim, tentamos encontrar uma relação entre a imagem reduzida e a original numa posição, e multiplicamos
os coeficientes da imagem reduzida por este valor. Após termos tentado para os
diversos tipos de imagens, verificamos que esta relação funcionava melhor nas imagens do tipo indexed,
enquanto que nos outros tipos de imagens a relação não originava bons resultados. Para estes casos, isto é
imagens truecolor e grayscale, tentamos implementar um algoritmo teórico tendo como base o parâmetro de
redução passado à entrada. Com esta nova abordagem só obtemos resultados satisfatórios até um redução
de 75%.
2ª PARTE
DCT
Analogamente ao que tínhamos implementado para a FFT fizemo-lo agora para a DCT. Utilizamos
praticamente as mesmas rotinas de redução, embora neste caso tenhamos escolhido zona superior
esquerda do espectro, zona esta onde se concentram as frequências de mais baixa ordem.
Tal como na FFT deparamo-nos com o facto de a imagem depois de reduzida aparecer com alterações nas
cores. Concluímos que estas diferenças resultavam do facto de que, na imagem reduzida depois de passar
pela DCT, e consequentemente pela IDCT, os valores eram alterados por um factor de aproximadamente
1-(taxa redução). Então decidimos multiplicar a matriz resultante da DCT inversa por este factor de modo a
que a imagem se aproximasse mais da original. As imagens resultantes desta aproximação, tanto as
indexed como as grayscale, ficam iguais.
Relativamente às imagens truecolor apesar de conseguirmos reduzir as imagens para qualquer dimensão, o
colormap da nova imagem fica diferente do original, logo a imagem reduzida não fica com as mesmas cores
da original.
Conclusão:
Da elaboração do trabalho verificamos que as imagens reduzidas pela DCT ficavam iguais às originais,
enquanto que as imagens reduzidas pela FFT eram, nalguns casos, diferentes devido ao problema com o
colormap, problema este já referido acima.
Consideramos que os objectivos referentes ao método de redução da imagem foram atingidos, tanto pela
FFT como pela DCT.
Até à data de conclusão do relatório não nos foi possivel resolver o problema causado pela redução das
imagens no colormap.
Download