TP 4
TP 4
TP 4
Pgina 1
Imagen
Filtro pasa-bajo en el
dominio de la
frecuencia
Imagen en el dominio
de la frecuencia
Imagen filtrada en el
dominio de la
frecuencia
Imagen en el dominio
de la frecuencia con el
origen de frecuencias
en el centro
Imagen filtrada en el
dominio espacial
Pgina 2
b) Pasaaltos ideal
a=imread ('imagenF.tif');
A=fft2(double(a),256,256);
acent=fftshift(A);
figure;imshow(a);
figure;imshow(log(abs(A)),[1.2 15]);
figure;imshow(log(abs(acent)),[1.2 15]);
h=fspecial('disk',100);
y=h*(1/max(max(h)));
Z=padarray(y,[98 98]);
X = imresize(Z,[256 256]);
[nrows,ncols]=size(X);
for fila=1:nrows
for columna=1:ncols
if X(fila,columna)==0
fpalto(fila,columna)=1;
else
fpalto(fila,columna)=0;
end
end
end
figure;imshow(fpalto);
figure;plot(fpalto(128,:));
aconv=(acent.*fpalto);
figure;imshow(log(abs(acent)),[1.2 15]);
figure;imshow(log(abs(aconv)),[1.2 15]);
afilt=real(ifft2(aconv));
figure;imshow(log(afilt),[1.2 15]);
Imagen
Filtro pasa-alto en el
Alonso, Maria
dominioJosefina
de la
Legajo N:
5491
frecuencia
Imagen en el dominio de
la frecuencia
Imagen filtrada en el
dominio de la
Pgina 3
frecuencia
Imagen en el dominio
de la frecuencia con el
origen de frecuencias
en el centro
Imagen filtrada en el
dominio espacial
En este caso se realiza un procedimiento similar al del punto anterior, con la diferencia que
aqu el filtro es pasa alto ideal. Podemos notar que el filtro tambin est en el dominio de la
frecuencia y en este caso es un disco de ceros (sus bordes determinan la frecuencia de corte) y el
resto son unos. Arriba pueden observarse los pasos realizados para poder llegar a la imagen
filtrada en el dominio espacial.
c) Butterworth (pasaaltos y bajos)
La funcin de transferencia de un filtro Butterworth pasa-bajos en el dominio de la
frecuencia es la siguiente:
H (u , v )=
D(u , v)
1+
D0
2n
Siendo:
2
2
D (u , v )= ( uN ) + ( vM )
D0 : frecuencia de corte
n :orden del filtro
img = imread ('imagenF.tif');
imgfft = fft2(double(img),256,256);
imgfftcent = fftshift(imgfft);
figure;
imshow(img);
figure;
imshow(log(abs(imgfft)),[1.2 15]);
Alonso, Maria Josefina
Legajo N: 5491
Pgina 4
figure;
imshow(log(abs(imgfftcent)),[1.2 15]);
D0 = input('D0 = ');
n = input('orden = ');
for u = 1 : 256
for v = 1 : 256
D(u,v) = sqrt((u - 128)^2 + (v - 128)^2);
H(u,v) = 1 /(1 + (D(u,v) / D0)^(2*n));
end
end
figure;
imshow(H);
imgfftfilt = (imgfftcent .* H);
figure;
imshow(log(abs(imgfftfilt)),[1.2 15]);
imgfilt = real(ifft2(imgfftfilt));
figure;
imshow(log(abs(imgfilt)),[1.2 15]);
Imagen
Imagen en el dominio de
la frecuencia
Pgina 5
Imagen en el dominio de la
frecuencia con el origen de
frecuencias en el centro
Imagen filtrada en el
dominio de la
frecuencia
Imagen filtrada en el
dominio espacial
En este ejercicio se realiz un filtrado butterworth pasa bajo. La diferencia de este filtro
con el ideal es que este no produce ringing porque la transicin desde la banda pasante a la banda
de atenuacin es progresiva, no abrupta como la del filtro ideal; pero si produce un suavizado de la
imagen en sus bordes. En este caso el disco se construy a partir de la funcin de transferencia de
dicho filtro en el dominio de la frecuencia enunciada al principio. Se puede observar en las
imgenes como se ha realizado el procedimiento.
La funcin de transferencia de un filtro Butterworth pasa-altos en el dominio de la
frecuencia es la siguiente:
H (u , v )=
1
D0
1+
D(u , v)
2n
Siendo:
2
2
D (u , v )= ( uN ) + ( vM )
D0 : frecuencia de corte
n :orden del filtro
img = imread ('imagenF.tif');
imgfft = fft2(double(img),256,256);
imgfftcent = fftshift(imgfft);
figure;
imshow(img);
figure;
imshow(log(abs(imgfft)),[1.2 15]);
figure;
imshow(log(abs(imgfftcent)),[1.2 15]);
D0 = input('D0 = ');
n = input('orden = ');
for u = 1 : 256
Alonso, Maria Josefina
Legajo N: 5491
Pgina 6
for v = 1 : 256
D(u,v) = sqrt((u - 128)^2 + (v - 128)^2);
H(u,v) = 1 /(1 + (D0 / D(u,v))^(2*n));
end
end
figure;
imshow(H);
imgfftfilt = (imgfftcent .* H);
figure;
imshow(log(abs(imgfftfilt)),[1.2 15]);
imgfilt = real(ifft2(imgfftfilt));
figure;
imshow(log(abs(imgfilt)),[1.2 15]);
Imagen
Imagen en el dominio de
la frecuencia
Imagen filtrada en el
dominio de la
frecuencia
Imagen en el dominio de la
frecuencia con el origen de
frecuencias en el centro
Imagen filtrada en el
dominio espacial
Se ha realizado un filtro butterworth pasa alto. En comparacin con el filtro ideal vemos
que este filtro no produce ringing pero si produce un suavizado de la imagen en sus bordes.
Pgina 7
Hpb ( u , v ) =
1+
Hpa ( u , v )=
D(u , v )
D pb
1
D pa
1+
D(u , v )
2 npb
2npa
Siendo:
2
2
D (u , v )= ( uN ) + ( vM )
D pb : frecuencia de corte superior ( pasa bajos)
D pa : frecuencia de corte inferior ( pasa altos)
npb :orden del filtro pasabajos
npa :orden del filtro pasaaltos
Pgina 8
Imagen
Imagen en el dominio de
la frecuencia
Pgina 9
Imagen en el dominio de la
frecuencia con el origen de
frecuencias en el centro
Imagen filtrada en el
dominio de la
frecuencia
Imagen filtrada en el
dominio espacial
2) Una forma de computar el gradiente en el dominio real es calculando diferencias del tipo
f(x,y) f(x+1,y). Obtener la funcin H(u,v) que haga lo equivalente en el dominio de
frecuencias. Mostrar que se trata de un filtro pasa-alto.
Una forma de computar el gradiente en el dominio real es calculando diferencias del tipo f(x,y)
f(x+1,y). Obtener la funcin H (u,v) que haga lo equivalente en el dominio de frecuencias.
Mostrar que se trata de un filtro pasa-alto.
Para comparar se realiz la transformacin en el dominio real para as obtener el gradiente
espacial.
Luego de realizar el gradiente equivalente en el dominio frecuencial debemos realizar la
transformada de Fourier de la imagen obtenida anteriormente.
G ( u , v )=F ( u , v ) 1e
j2
u
N
j 2
u
N
]
Pgina 10
j 2
G( u , v)
=1e N
F(u , v)
La funcin de transferencia H (u,v) es la siguiente:
H (u , v )=
Esto es lo que corresponde a un filtro pasa altos porque elimina las bajas frecuencias por
completo. Al multiplicar la funcin H (u,v) por la transformada de Fourier de la imagen original se
obtiene:
Pgina 11
Pgina 12
H (u , v )=e 2
Siendo:
2
2
D (u , v )= ( uN ) + ( vM )
Vamos a analizar la PSF con distintos valores de sigma, es decir modificando el kernel.
Para = 0,1 obtenemos las siguientes imgenes:
Pgina 13
Podemos observar ahora que el resultado de la imagen final es muy diferente de la imagen
original. Sugiere la forma de la imagen original pero es muy distinta. Esto nos dice que la
resolucin es muy mala.
Para = 2 obtenemos las siguientes imgenes:
Pgina 14
A medida que aumentamos el valor de , vemos que la resolucin de la imagen decae y por
lo tanto ya no es una imagen de calidad. Entonces a mayor de la funcin gaussiana que aproxima
a la PSF, la resolucin del equipo es menor.
El script elaborado en MatLab es el siguiente:
img= imread ('imagenF.tif');
sigma= input('sigma = ');
for u= 1 : 256
for v= 1 : 256
D(u,v)= sqrt((u - 128)^2 + (v - 128)^2);
Alonso, Maria Josefina
Legajo N: 5491
Pgina 15
H(u,v)= exp(-(D(u,v)^2)/(2*sigma^2));
end
end
imgconv = imfilter(img,H);
subplot(1,3,1),imshow(img);title('Imagen original');
subplot(1,3,2),imshow(H);title('Kernel');
subplot(1,3,3),imshow(imgconv);title('Imagen final');
figure;
surf (1 : 256, 1 : 256, H), colorbar
Pgina 16