expansão de imagem #2mandrade/tvd/2006/trabalhos1-2004/td-trab1... · algoritmo linear), diferindo...
TRANSCRIPT
![Page 1: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/1.jpg)
Faculdade de Engenharia da Universidade do Porto
Engenharia Electrotécnica e de Computadores
Expansão de Imagem #2
Televisão Digital
António Alberto da Silva Marques
Pedro Ricardo dos Reis
Porto, 2004
![Page 2: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/2.jpg)
Índice
1. Introdução e Objectivos 2. Algoritmos implementados
2.1. Princípios gerais sobre o qual assentam os algoritmos 3. Interface Gráfica 4. Apresentação dos resultados obtidos
4.1. Imagem “einstein.tif” (256x256) 4.1.1. Método da Frequências
4.1.1.1. FFT 4.1.1.1.1. Algoritmo linear, Factor de expansão = 2 4.1.1.1.2. Algoritmo recursivo, Factor de expansão = 2
4.1.1.2. DCT 4.1.1.2.1. Algoritmo linear, Factor de expansão = 2 4.1.1.2.2. Algoritmo recursivo, Factor de expansão = 2
4.1.2. Método Espacial 4.1.2.1. Algoritmo “Linear” 4.1.2.2. Algoritmo “Vizinho”
4.2. Imagem “movie20.bmp” (320x180) 4.2.1. Método da Frequências
4.2.1.1. FFT 4.2.1.1.1. Algoritmo linear, Factor de expansão = 1.5 4.2.1.1.2. Algoritmo recursivo, Factor de expansão = 1.5
4.2.1.2. DCT 4.2.1.2.1. Algoritmo linear, Factor de expansão = 1.5 4.2.1.2.2. Algoritmo recursivo, Factor de expansão = 1.5
4.2.2. Método Espacial 4.2.2.1. Algoritmo “Linear” 4.2.2.2. Algoritmo “Vizinho”
5. Análise dos resultados obtidos 6. Conclusões
![Page 3: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/3.jpg)
1. Introdução e Objectivos
Com este documento pretende-se descrever de forma sumária e objectiva o
trabalho realizado (Expansão de Imagem #2), no âmbito da disciplina de Televisão Digital.
O objectivo do trabalho consiste em expandir uma imagem no domínio das
frequências, recorrendo à utilização da transformada Fast Fourier Transform (FFT) ou da transformada Discrete Cousine Transform (DCT), acrescentando zeros em torno da matriz original de dimensões N x M. No entanto, também decidimos implementar a
expansão de imagem no domínio espacial, recorrendo à utilização do script para
MatLab para expandir uma imagem, “expansao.m”, fornecido na página da disciplina,
para deste modo, podermos tirar melhores conclusões sobre a expansão de imagem nos
dois domínios, utilizando diferentes algoritmos de processamento de imagem.
Como ponto de partida tivemos em consideração o trabalho desenvolvido pelos
colegas do ano anterior, 2003/2004, exploramo-lo e verificamos os resultados obtidos,
analisando-o com diferentes tipos de imagens.
Propusemo-nos então, a complementar o trabalho realizado pelos nossos colegas
do ano anterior. Para tal, implementamos uma nova interface gráfica e desenvolvemos
novas funcionalidades, mais concretamente propusemo-nos a:
� Desenvolver uma nova interface gráfica;
� Implementar novos algoritmos de expansão de imagem;
� Adaptar os algoritmos desenvolvidos no trabalho realizado anteriormente,
que manipulam a imagem no domínio das frequências, e, os novos
algoritmos implementados neste trabalho (existentes no ficheiro
“expansao.m”), que manipulam a imagem no domínio espacial, a
expandirem imagens de todos os tipos de cor;
� Testar com diferentes tipos de imagens, os diferentes tipos de algoritmos;
� Avaliar os resultados entre a imagem original e a imagem expandida,
efectuando uma análise crítica (e comparativa) de acordo com o tipo de
imagem utilizada (e.g. imagem com muito detalhe/ pouco detalhe) e os
diferentes métodos e algoritmos utilizados.
Desenvolvemos todo o trabalho utilizando a ferramenta Matlab.
2. Algoritmos implementados
Foram implementados diferentes tipos de algoritmos que trabalham em domínios
diferentes, i.e., domínio das frequências e domínio espacial.
• Domínio das frequências
o FFT (Fast Fourier Transform) � Linear
� Recursivo o DCT (Discrete Cousine Transform)
� Linear
� Recursivo
• Domínio espacial
o Bilinear interpolation (“Linear”) o Nearest-neighbour interpolation (“Vizinho”)
![Page 4: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/4.jpg)
2.1. Princípios gerais sobre o qual assentam os algoritmos
Nesta secção iremos descrever os algoritmos implementados, dando uma noção
geral sobre estes.
• FFT, utilizando o algoritmo Linear
o Após a imagem ser lida para uma variável (matriz), esta é convertida
para o domínio das frequências;
o Determina-se o tamanho da matriz;
o Calculam-se as dimensões da nova matriz (imagem expandida), esta
resulta da multiplicação do factor de expansão pelo respectivo
tamanho da altura e largura da matriz original (imagem lida);
o Calcula-se o n.º de linhas e colunas a preencher com zeros;
o Acrescenta-se à matriz original os zeros calculados anteriormente,
onde esta nova matriz equivale à imagem expandida;
o Converte-se a matriz novamente para o domínio espacial.
• FFT, utilizando o algoritmo Recursivo
o O princípio de funcionamento é semelhante ao anterior (Linear);
o A matriz expandida resulta da expansão interactivamente por factores
múltiplos de 2.
• DCT, utilizando o algoritmo Linear
o O princípio de funcionamento é equivalente ao da FFT (utilizando o
algoritmo Linear), diferindo a forma de preenchimento dos zeros,
como iremos descrever posteriormente.
• DCT, utilizando o algoritmo Recursivo
o O princípio de funcionamento é semelhante ao anterior (Linear);
o A matriz expandida resulta da expansão interactivamente por factores
múltiplos de 2.
• Bilinear interpolation
o A imagem expandida resulta da aproximação de uma média pesada
dos 4 pixels mais próximos. Começa-se por ir buscar os valores dos 4
pixels mais próximos e calcula-se a média pesada de acordo com a
distância.
• Nearest-neighbour interpolation
o A imagem expandida resulta da aproximação do valor do pixel mais
próximo
![Page 5: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/5.jpg)
3. Interface Gráfica
A interface gráfica que realizamos é apresentada na figura 1.
Figura 1: Interface Gráfica
Esta interface gráfica foi construída com o intuito de a tornar de fácil
manuseamento, dando a possibilidade de:
• abrir um browser que permite ao utilizado abrir e guardar qualquer tipo de
imagem;
• visualizar as propriedades da imagem selecciona;
• seleccionar o método e algoritmo pretendido
• inserir o factor de expansão pretendido;
• visualizar o espectro da imagem seleccionada e da imagem expandia (no
caso da imagem ser a cores o espectro da imagem expandida é visualizado
em cada um dos seus componente, i.e., R,G e B;
• visualizar a imagem seleccionada e a imagem expandida, no programa e/ou
em janela diferente (carregando os respectivos botões), para facilitar a
comparação das imagem
![Page 6: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/6.jpg)
4. Apresentação dos resultados obtidos Experimentámos o programa com diferentes tipos de imagens. Em seguida,
serão apresentados (em tamanho real, excepto os espectros) os resultados obtidos,
recorrendo a dois tipos de imagens diferentes e aos diferentes tipos de algoritmos.
4.1. Imagem “einstein.tif” (256x256)
4.1.1. Método da Frequências
4.1.1.1. FFT
Imagem Original
Espectro da Imagem Original
![Page 7: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/7.jpg)
4.1.1.1.1. Algoritmo linear, Factor de expansão = 2
Espectro da Imagem Expandida
Imagem Expandida
![Page 8: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/8.jpg)
4.1.1.1.2. Algoritmo recursivo, Factor de expansão = 2
Imagem Expandida
4.1.1.2. DCT
Imagem Expandida Espectro da Imagem Expandia
![Page 9: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/9.jpg)
4.1.1.2.1. Algoritmo linear, Factor de expansão = 2
Espectro da Imagem Expandida
Imagem Expandida
![Page 10: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/10.jpg)
4.1.1.2.2. Algoritmo recursivo, Factor de expansão = 2
Imagem Expandida
![Page 11: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/11.jpg)
4.1.2. Método Espacial
4.1.2.1. Algoritmo “Linear”
Imagem Expandida
![Page 12: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/12.jpg)
4.1.2.2. Algoritmo “Vizinho”
Imagem Expandida
4.2. Imagem “movie.jpg” (320x180)
4.2.1. Método da Frequências 4.2.1.1. FFT
Imagem Original Espectro da Imagem Original
![Page 13: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/13.jpg)
4.2.1.1.1. Algoritmo linear, Factor de expansão = 2
Espectro da R,G e B da Imagem Expandida
Imagem Expandida
4.2.1.1.2. Algoritmo recursivo, Factor de expansão = 2
Imagem Expandida
![Page 14: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/14.jpg)
4.2.1.2. DCT
Imagem Expandida Espectro da Imagem Expandia
4.2.1.2.1. Algoritmo linear, Factor de expansão = 2
Espectro da R,G e B da Imagem Expandida
Imagem Expandida
![Page 15: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/15.jpg)
4.2.1.2.2. Algoritmo recursivo, Factor de expansão = 2
Imagem Expandida
4.2.2. Método Espacial
4.2.2.1. Algoritmo “Linear”
Imagem Expandida
![Page 16: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/16.jpg)
4.2.2.2. Algoritmo “Vizinho”
Imagem Expandida
5. Análise dos resultados obtidos
Quanto à imagem “einstein.tif” podemos concluir:
• no domínio das frequências obtivemos melhores resultados com a transformada
DCT do que a transformada FFT;
• existem pequenas alterações na imagem, e.g. tonalidade da imagem, isto deve-
se ao facto de que quando utilizamos a transformada (DCT/FFT) esta produz
alterações nos coeficientes da imagem;
• o algoritmo recursivo e o algoritmo linear, nas duas transformadas, produzem
resultados semelhantes, no entanto o algoritmo recursivo produz melhor
eficiência espectral;
• no domínio espacial, utilizando o algoritmo “vizinho” obtivemos uma melhor
imagem, mas mais “pixelizada” do que utilizando o algoritmo linear;
• em comparação com os dois domínios, verifica-se que o domínio espacial
produz uma imagem mais parecida com a imagem original.
Quanto à imagem “movie20.bmp” podemos concluir:
• no domínio das frequências obtivemos melhores resultados com a transformada
DCT do que a transformada FFT;
• existem pequenas alterações na imagem, e.g. tonalidade da imagem, isto deve-se
ao facto de que quando utilizamos a transformada (DCT/FFT) esta produz
alterações nos coeficientes da imagem;
• o algoritmo recursivo e o algoritmo linear, nas duas transformadas, produzem
resultados semelhantes, no entanto nesta imagem consegue-se verificar que o
algoritmo recursivo produz uma imagem com melhor tonalidade;
• no domínio espacial, utilizando o algoritmo “vizinho” obtemos uma melhor
imagem mas mais “pixelizada” do que utilizando o algoritmo linear;
• o domínio espacial pouco altera as tonalidades da imagem original;
• em comparação com os dois domínios, verifica-se que o domínio espacial
produz uma imagem mais parecida com a imagem original.
![Page 17: Expansão de Imagem #2mandrade/tvd/2006/trabalhos1-2004/TD-trab1... · algoritmo Linear), diferindo a forma de preenchimento dos zeros, como iremos descrever posteriormente. • DCT,](https://reader033.vdocuments.mx/reader033/viewer/2022041704/5e43d245eac7e4114d05dadb/html5/thumbnails/17.jpg)
6. Conclusões
Com a realização deste trabalho tornou-se possível colocar e verificar na prática os
conceitos adquiridos teoricamente.
Defrontamo-nos com algumas dificuldades, as quais encaramos como um desafio
que permitiu um maior empenho para a concretização dos objectivos a que nos
propusemos. A expansão de imagens a cores e colocar as imagens expandidas a serem
guardadas para um ficheiro representaram as nossas maiores dificuldades. Quanto à
expansão de imagens a cores o objectivo foi concluído com sucesso, contudo, no que
respeita à gravação de imagens expandidas para um ficheiro, conseguimos guardar com
sucesso as imagens a cores, no entanto, as imagens de escala cinza quando aplicado os
métodos das frequências, algumas das imagens escurecem e apenas se torna possível a
sua visualização correcta abrindo o programa e aplicando algum dos métodos com
factor de expansão igual a 1.
No que concerne ao problema mencionado, este está associado com a manipulação
de uint8 e double, no Matlab, na gravação da imagem expandida para o ficheiro.
Concluindo, podemos considerar que os objectivos a que no propusemos foram
atingidos e este trabalho foi realizado com sucesso.