Trabalhos da Disciplina “Fundamentos de Processamento de Imagens

de Lucas Enrique Guaycochea

 

2do Semestre 2007

 

Trabalhos pedidos nas aulas

 

Nesta página temos as resoluções das questões que surgieram nas aulas da disciplina.

 

 

·        O que acontecería se tras aplicar a Transformada de Fourier à imagem, mudamos o módulo dos coeficientes de todas as frequências a 1 ?

 

Bom, pensando antes de fazer nada, se deixamos todos os módulos em 1, vamos fazer que as contribuções de todas as frequências seja igual, então a gente espera que quando apliquemos a transformada inversa vamos a ter perdido completamente a imagem original.

 

Para levar os modulos dos coeficientes, simplemente divide-se o coeficiente por su modulo:

 

         Assim, se manter a fase.

 

·        O que acontecería, agora, se mantemos o módulo e levamos a fase de todas as frequências a 0 ?

 

Igual que antes, a eliminar as fases a gente acha que vão perder as relações entre as frequências e tambem vamos a perder completamente a imagem original quando fazemos a transformada inversa.

 

O que será feito é eliminar a parte imaginaria deixando o valor do modulo na parte real:

 

 

 

Depois de programar em MATLAB, vemos os seguintes resultados:

 

 

Os resultados concordam com o que a gente achava. No primeiro lugar temos a imagem original, na segunda linha está o espectro original e sua transformada inversa. Na terceira linha esta o espectro que todos os modulos dos coeficientes em 1, e sua transformada inversa. E, finalmente, na quarta e ultima linha, tem o espectro com as faces em 0 (o modulo se mantem, então a imagem que é dos modulos é a mesma que a original) e sua transformada.

 

O codigo em MATLAB está a continuação:

 

nome=input('Ingrese nome da imagem: ');

I=imread(nome);

TF=fft2(I);

[width, height]=size(I);

TFaux=TF;

for i=1:width

   for j=1:height

      TF(i,j)=TF(i,j)/abs(TF(i,j));

   end

end

subplot(4,2,1);imshow(I);

subplot(4,2,3);imshow(log(abs(fftshift(TFaux))),[3 10]);

subplot(4,2,4);imshow(uint8(ifft2(TFaux)));

subplot(4,2,5);imshow(log(abs(fftshift(TF))),[3 10]);

subplot(4,2,6);imshow(uint8(ifft2(TF)));

TF2=TFaux;

for i=1:width

   for j=1:height

      TF2(i,j)=abs(TF2(i,j));

   end

end

subplot(4,2,7);imshow(log(abs(fftshift(TF2))),[3 10]);

 

subplot(4,2,8);imshow(uint8(ifft2(TF2)));

 

 

 

Hosted by www.Geocities.ws

1