Documentos de Académico
Documentos de Profesional
Documentos de Cultura
imagen en Fourier
INFORME 2 PARA IIE1100 INTRODUCCIÓN A LA INGENIERÍA ELÉCTRICA
JOCTAN CLAVO IRIBARREN
Procedimiento
Parte 1:
Para esta parte se leyó la imagen deseada a filtrar, luego convirtió se
cambió a una imagen en escala de grises para ser editada. Luego se obtuvo la
transformada de Fourier y se aplicó el cambio de coordenadas para trabajar
digitalmente.
Se creó luego una matriz tipo ‘rect’ para eliminar las frecuencias altas,
la cual cuenta con ceros en zonas lejanas al centro y unos en zonas cercanas
a este, formando un radio de filtro. Esta se multiplicó por la imagen en el
dominio de las frecuencias, eliminando las frecuencias altas y dejando las
bajas.
Finalmente volvemos al dominio original de la imagen aplicando la
transformada de Fourier inversa y tomando su valor absoluto ya que pueden
quedar resultados negativos que afecten la imagen, obteniendo los siguientes
resultados a un radio de corte de 25 (img 1) y otro de 10 (img 2)
(img 1)
(img 2)
Parte 2:
En esta última parte se utilizó la misma imagen y la misma conversión
a escala de grises, además de utilizar la misma matriz de la parte uno*. Se
procuró de ocupar la imagen no transformada y preparar una matriz de radio
‘r’ como filtro, para así no estorbar el trabajo de filtro de la parte uno.
Se convolucionó directamente la imagen original (en escala de grises)
con la matriz de filtro lo cuál nos entregó estos resultados con radio ‘r’ igual a
5 (img 3) y 10 (img 4)
(*) Se utilizó el mismo código para la presentación fina, pero para la preparación se trabajó en un
espacio y script totalmente separado del de la parte uno.
(img 3)
(img 4)
(img 5)
Anexo (código creado)
clear all
Io = imread('football.jpg');
Ig = rgb2gray(Io);
Im = double(Ig);
%figure(1);
%imshow(Ig,[])
%% Transformada de Fourier %%
Igf = fft2(Ig);
Igfs = fftshift(Igf);
[x,y] = size(Ig);
xs = (-x/2:x/2-1).';
ys = (-y/2:y/2-1);
X = repmat(xs,[1,y]);
Y = repmat(ys,[x,1]);
r = 5
rect2 = (X.^2+Y.^2)<k^2;
F = (X.^2+Y.^2)<r^2;
m = rect2.*Igfs;
final = abs(ifft2(m));
%% Convolución de la imagen con la matriz de corte %%
Fi = conv2(Im,F,'same');
figure(1);
imshow(Ig,[])
figure(2);
imshow(final,[])
figure(3);
imshow(Fi,[])