Está en la página 1de 5

Universidad Nacional Autónoma de México

Laboratorio de Procesamiento Digital de Imágenes Médicas


M. en I. Juan Carlos Muñoz Torres
Dr. Ernesto Moya Albor
1

Ojeda Pérez Guadalupe Michelle


Filtrado Espacial

Resumen— En el siguiente documento se muestra los ejercicios c) Realiza cada una de las convoluciones de la imagen sin
y ejemplos de la practica cuatro , que se realizaron en laboratorio ruido y con ruido con el filtro (usa el comando conv2 y la
con ayuda del software Matlab, se muestran los enunciados , los opción de same)
códigos realizados en matlab así como las imágenes obtenidas. d) Visualiza las imágenes resultantes.
Índice de Términos— Filtrado, Espacial , convolución, En primer lugar se realizó una función que llamamos
ponderada, discreta.
binomial .
function b0=binomial(N)
I. INTRODUCCIÓN
b0=zeros (1,N);
for x=0:N-1
El concepto de filtrado de una imagen está asociado a la b0(x+1)=nchoosek(N-1, x);
representación de una imagen en el dominio de frecuencias. end
Cualquier filtro que se diseñe tendrá como objetivo modificar
la contribución de determinados rangos de frecuencias a la Después se empieza el programa que realiza los incisos b,c,d a
formación de la imagen. Así por ejemplo si queremos filtrar continuación se muestra el código.
una imagen de una posible contaminación de ruido aleatorio lo
que tendremos que hacer es diseñar un filtro que reduzca lo
más posible la contribución de las altas frecuencias en la close all;
formación de la imagen. Si em cambio lo que queremos es clear all;
realzar cualquier patrón de comportamiento presente en la clc
imagen y sabemos que dicho patrón está asociado a un
determinado rango de frecuencias en la formación de la A=imread('nano.tif');
imagen, lo que haremos será construir un filtro que disminuya figure
la contribución de cualquier frecuencia que no esté dentro del image(A);
rango deseado. colormap(gray(256));

%promediador gaussinao d e 11 x 11
II. METODOLOGÍA h=binomial(11);
h=h'*h;
h=h/(sum(h(:)));
B=conv2 (double(A),h,'same');

figure
image(B);
III. RESULTADOS colormap(gray(256));

%%%%
Ejemplo 1
Filtros Suavizadores (Promediador Lineal) Ar=imnoise(A,'Gaussian',0,0.05);
a) Define un filtro promediador tipo bloque (normalizado)
de 11x11 elementos. figure
b) Agrega ruido del tipo Gaussiano a la imagen “nano.tif”. image(Ar)
Usa el comando imnoise con media 0 y desviación estándar colormap(gray(256));
de 0.05.
Br=conv2 (double(Ar), h, 'same');
figure
1 * Datos del Alumno: Carrera, numero de cuenta, etc.
image(Br);
Universidad Nacional Autónoma de México
Laboratorio de Procesamiento Digital de Imágenes Médicas
M. en I. Juan Carlos Muñoz Torres
Dr. Ernesto Moya Albor
colormap(gray(256))

a continuación se muestran las imágenes donde se observa en


la figura uno a la imagen original seguida de la imagen con
ruido gaussiano , se muestra la imagen convolucionada y con
el filtro lineal.
Se observa que la imagen de la figura cuatro se muestra con
un fondo con ruido , mientras que en comparación la imagen
de la figura uno se muestra mejor delimitada, la figura cuatro
es poco perceptible en sus bordes.

Ejemplo 2

Filtros Suavizadores (Promediador Gaussiano)


a) Implementa una función para generar filtros binomiales y
define un filtro de 11x11 elementos.
b) Convoluciona la imagen sin ruido y con ruido con el filtro
Gaussiano y visualiza los resultados.
c) Compara los resultados del filtro promediador tipo bloque
y el filtro Gaussiano y da tus conclusiones al respecto.

close all;
clear all;
clc
Universidad Nacional Autónoma de México
Laboratorio de Procesamiento Digital de Imágenes Médicas
M. en I. Juan Carlos Muñoz Torres
Dr. Ernesto Moya Albor
se puede observar que en las dos imágenes finales la imagen
A=imread('nano.tif'); con ruido se nota más definida aunque no hay tanta pérdida de
figure bordes, en cambio en la imagen convolucionada sin ruido se
image(A); ve mejor pero llegan a perderse algunos bordes.
colormap(gray(256));
Ejemplo 4
%promediador gaussinao d e 11 x 11 Filtros de realce (Filtro Pasa Altas)
h=binomial(11); a) Visualiza la imagen “tobillo.jpg”
h=h'*h; b) Define los siguientes filtros pasa-altas:
h=h/(sum(h(:))); c) Convolucionar la imagen con cada uno de los filtros y
B=conv2 (double(A),h,'same'); visualiza las imágenes resultantes con el comando
“imagesc”.
figure
image(B);
colormap(gray(256));
close all;
%%%% clear all;
clc;
Ar=imnoise(A,'Gaussian',0,0.05);
f=[1 -2 1;
figure -2 4 -2;
image(Ar) 1 -2 1 ]
colormap(gray(256)); f1=[-1 -1 -1;
-1 8 -1;
Br=conv2 (double(Ar), h, 'same'); -1 -1 -1]
figure f2= [0 -1 0;
image(Br); -1 4 -1;
colormap(gray(256)) 0 -1 0]

brr=conv2 (double(A), h, 'same'); A=imread('tobillo.jpg');


figure figure; image(A);colormap(gray(256));
image(brr);
colormap(gray(256)) q=conv(double(A),f,'same');
w=conv(double(A),f1,'same');
e=conv(double(A),f2,'same');
figure;imagesc(q);colormap(gray(256)); axis equal
figure; imagesc(w);colormap(gray(256)); axis equal
figure; imagesc(e);colormap(gray(256)); axis equal
Universidad Nacional Autónoma de México
Laboratorio de Procesamiento Digital de Imágenes Médicas
M. en I. Juan Carlos Muñoz Torres
Dr. Ernesto Moya Albor

Ejercicio 1
Eliminación de Sombras
a) Define el siguiente filtro suavizador tipo bloque:
N=101; hb=(1/(N*N))*ones(N,N);
b) Convoluciona la imagen “globulos.jpg” con el filtro hb, el
resultado convolucionarlo nuevamente con hb, realizar esto
aproximadamente 9 veces (auxiliarse de un ciclo for).
c) Realiza la resta de la imagen original menos el resultado
obtenido después de la novena iteración (guardar este
resultado por ejemplo en f).
d) Aplica una transformación lineal a la imagen resultante
de la resta:
e) Visualiza la imagen resultante usando el comando image.
f) Explica ampliamente como funciona este proceso para
eliminar las sombras, ¿qué efecto se genera en cada
iteración?

Desde mi punto personal la escala de la imagen se va haciendo


más pequeña, y se nota cierta imagen un poco más clara
encuantro a objetos cruzados, se notan más si hay una imagen
detrás de otra.

close all;
clear all;
clc;

N=101; hb=(1/(N*N))*ones(N,N);

A=imread('globulos.jpg');
figure; image(A);colormap(gray(256));

for N=0:1:9;
q=conv2(double(A),N,'same');
s=conv2(double(A),N-1,'same');
r=q-s

figure; imagesc(r);colormap(gray(256)); axis equal


IV. CONCLUSIONES
Me parece que la práctica cada vez se complica más, pero
end gracias a las clases vistas , y a la documentación existente en
la red se logran completar, en esta práctica se lograron aplicar
las técnicas de filtrado espacial que se vieron en clase para
acentuar o disminuir ciertas características de las imágenes
con ayuda del sotware Matlab
Universidad Nacional Autónoma de México
Laboratorio de Procesamiento Digital de Imágenes Médicas
M. en I. Juan Carlos Muñoz Torres
Dr. Ernesto Moya Albor
V. REFERENCIAS

[1] http://www.mathworks.com/help/techdoc/index.html
[2]http://www6.uniovi.es/vision/intro/node41.html.

También podría gustarte