Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 1
Facultad: Ingeniería.
Escuela: Biomédica
Asignatura: Imágenes Médicas
TRATAMIENTO DEL RUIDO
Objetivo General
• Que el estudiante sea capaz de caracterizar los principales tipos de ruido que
pueden estar presentes en
una imagen.
• Que el estudiante sea capaz de aplicar, según sea el caso, las técnicas de
reducción de ruido más
oportunas
Recomendaciones
Equipo
Introducción Teórica
Procedimiento
>> nrfiltdemo
La imagen al centro es la imagen original con el ruido elegido sumado. Con el menú
Image Noise Type, sepuede elegir entre tres tipos de ruidos (Salt&Pepper, Gaussian,
Speckle). Con el campo que se encuentra bajo este menu, se pueden variar las
características del ruido seleccionado. Para aplicar el ruido seleccionado basta con
dar un click en Add Noise. La imagen a la derecha muestra el resultado de la
aplicación de un filtro de remoción de ruido a la imagen del centro. Use los menúes
debajo de esta tercera imagen para seleccionar el filtro de reducción del ruido y el
tamaño de los vecinos. Para aplicar el filtro basta con dar un click sobre Apply Filter.
Guía
4 3
function b=ruidoimp(a,p,imin,imax)
% Añade ruido impulsivo a una imagen
% b=ruidoimp(a,p,imin,imax)
% b: imagen de salida con ruido
% a: imagen de entrada
% p: probabilidad del ruido
% imin: valor del impulso mínimo
% imax: valor del impulso máximo
%
[m,n]=size(a);
a=double(a);
np=ceil(p*m*n);
turno=0;
b=a;
for inp=1:np
Guía
4 4
k=ceil(m*rand);
l=ceil(n*rand);
if turno==0
turno=1;
b(k,l)=imax;
else
turno=0;
b(k,l)=imin;
end
end
b=uint8(b);
» a=imread('flowers.tif');
» a=rgb2gray(a);
» b=ruidoimp(a,0.1,20,256);
» figure
» imshow(a);
» figure
» imshow(b);
10. Los filtros digitales de dos dimensiones con respuesta al impulso finita real
(FIR) son sistemas bidimensionales lineales de fase invariante. El filtro de
promedio de movimiento es el más simple de los filtros digitales FIR
bidimensionles pasa-bajas. Es muy efectivo en remover ruido blanco aditivo
Gaussiano. Sin embargo, tiende a hacer borrosos los bordes y los detalles de
la imagen (por ejemplo líneas) y degrada la calidad de la imagen. La
implementación del filtro de promedio de movimiento puede realizarse usando
el siguiente archivo:
function b=movav(a,mw,nw)
%
% Implementa el filtro de promedio de movimiento
%
% b=movav(a,mw,nw)
%
% b: imagen de salida filtrada
% a: imagen de entrada
% mw: ancho de la ventana
% nw: alto de la ventana
%
h=ones(nw,mw)/(mw*nw);
b=uint8(filter2(h,a,'valid'));
13. Use las máscaras anteriores para filtrar las imagenes c,d y e.
» h1=[1,1,1;1,2,1;1,1,1]/10;
» f=uint8(filter2(h1,c,'valid'));
» g=uint8(filter2(h1,d,'valid'));
» h=uint8(filter2(h1,e,'valid'));
» figure (4)
» imshow(f)
» figure (5)
» imshow(g)
» figure (6)
» imshow(h)
» h1=[1,2,1;2,4,2;1,2,1]/16;
Filtro de mediana
» h=medfilt2(b,[3,3]);
» figure (7);
» imshow (b);
» figure (8);
» imshow (h);
19. ¿Que sucede a medida se aumenta el tamaño del filtro por ejmplo a
5⋅5?___________________________________________________________
________________________________________
function b=muletmed(a,nw,mw)
%
% b=muletmed(a,mw,nw)
%
% a: imagen de entrada.
% b: imagen de salida.
%
a=double(a);
b=nlfilter(a,[5,5],’median(x(3,1:3)),median(x(1:3,3)),median(x(3,3:5)),median
(x(3:5,3)),x(3,3)])’);
b=uint8(b);
21. El filtro de mediana y sus modificaciones son casos especiales de una gran
clase de filtros que están basados en la estadística de ordenamiento. Tales
filtros se basan es estimadores-L o son extensiones del filtro de mediana. Se
Guía
4 8
function b=run_max(a,nw,mw)
%
% b=run_max(a,mw,nw)
%
% a: imagen de entrada.
% b: imagen de salida.
% mw: ancho de la ventana.
% nw: alto de la ventana.
%
a=double(a);
b=ordfilt2(a,nw*mw,ones(nw,mw));
b=uint8(b);
» g=ruidoimp(a,0.1,3,20);
» e=run_max(g,3,3);
24. Los filtros descritos antes están por lo común optimizados para un tipo de
ruido específico y algunos para un tipo de señal específico. Sin embargo, esto
no es por lo general el caso en muchas aplicaciones de filtrado no lineal,
especialmente en el procesamiento de imágenes. Las imágenes pueden
modelarse como un proceso estocástico bidimensional, cuya estadística varía
en las diferentes regiones de la imagen. Las imágenes son procesos no
estacionarios. Por lo tanto las estadísticas del ruido, es decir la desviación
estándar del ruido y la función de densidad de probabilidad del ruido, varían
Guía
4 9
function b=loc_adap(a,sn,nw,mw)
%
% rutina para el filtrado adaptativo 2-d
%
% b=loc_adap(a,sn,nw,mw)
%
% a: imagen de entrada.
% b: imagen de salida.
% sn: varianza del ruido.
% mw: ancho de la ventana.
% nw: alto de la ventana.
%
a = double(a);
s = filter2(ones(nw,mw)/(nw*mw),a,'same');
sx = nlfilter(a,[nw mw],'std2(x(:))');
snx = sn.*ones(size(a))./sx;
snx = (snx>1)+snx.*(snx<=1);
ime = round( (ones(size(a))-snx) .* a+snx.*s) .*(s~=0)+a.*(s==0);
b = uint8(ime);
25. Pruebe el filtro adaptativo MMSE (minimal Mean Square Error) con la
imagenes c,d y e.
» e=loc_adap(c,20,3,3);
»figure
»imshow(e)
Análisis de resultados
Investigación complementaria
Bibliografía