Está en la página 1de 10

Guía

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

• Al finalizar la práctica, el laboratorio se debe dejar en la misma condición en


que se encontró.

Equipo

Computadora Personal con Windows y MatLab

Introducción Teórica

Las imágenes se adquieren por métodos foto electrónicos o fotoquímicos. Los


dispositivos sensores tienden a degradar la calidad de las imágenes al introducir
ruido, deformaciones geométricas y/o borrosas debido al movimiento o desenfoque
de la cámara. Una de las preocupaciones primarias del procesamiento digital de
imágenes es aumentar la calidad de la imagen y moderar la degradación introducida
por los sensores y dispositivos de adquisición. Las técnicas de restauración de
imágenes están interesadas primariamente por reconstruir o recobrar una imagen
que ha sido degradada

Una discusión más detallada sobre el tratamiento de ruido en imágenes digitales se


encuentra en la tesis Diseño y construcción de un sistema de captación y
procesamiento de imágenes digitales. de Welmer Tomás Cruz Sosa, Néstor J.
Guía
4 2

Maccagno, Luis A. Marín Villanueva. pag. 78-97. Además se puede encontrar


información útil en la bibliografía dada al final de esta guía.

Procedimiento

1. Encienda la computadora y corra el programa MATLAB.


2. Digite en la ventana de comandos:

>> nrfiltdemo

3. A continuación aparecerá la siguiente ventana la cual permite la exploración de la


reducción de ruido en imágenes utilizando para ello tecnicas de filtrado lineales y no
lineales aplicada a diferentes tipos de ruido. La imagen a la izquierda de la ventana
es la imagen original. Puede utilizar el menú que se encuentra bajo ella para
seleccionar otra imagen.

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

4. Escriba la siguiente función que añade ruido impulsivo a una imagen


bidimensional:

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);

5. En la ventana de comandos digite lo siguiente:

» a=imread('flowers.tif');
» a=rgb2gray(a);
» b=ruidoimp(a,0.1,20,256);
» figure
» imshow(a);
» figure
» imshow(b);

6. Compare ambas imagenes.

7. Cambie los parámetros de la función ruidoimp y evalue el efecto que ello


causa en la imagen.

8. Ahora utilizaremos diferentes funciones que se encuentran en el Image


Processing Toolbox para añadir ruido a una imagen determinada.

»c=imnoise(a,’salt & pepper’,0.02); %Ruido sal y pimienta


»d=imnoise(a,’speckle’,0.05); %Ruido multiplicativo
»e=imnoise(a,’gaussian’,0,0.02); %Ruido blanco Gaussiano

9. Estas imágenes serán utilizadas en la siguiente parte.


Guía
4 5

PARTE II. Tecnicas de reducción de ruido en el dominio del


espacio. Implementación directa de filtros digitales FIR de dos
dimensiones.

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'));

11. El filtro promedio de movimiento es la convolución de una máscara con la


imagen, si la máscara es de 3⋅3n quedaría de la siguiente forma:
Guía
4 6

12. También pueden usarse las siguientes máscaras:

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)

14. ¿Para cual tipo de ruido funciona mejor la máscara?


______________________________________________________________
___________________________________________________
15. ¿Qué observa sobre los detalles de la imagen filtrada?
______________________________________________________________
______________________________________________________________
______________________________________________________________

16. Repita los pasos anteriores para la siguiente máscara:

» h1=[1,2,1;2,4,2;1,2,1]/16;

Filtro de mediana

17. El ruido en las imágenes digitales comúnmente aparece en altas frecuencias


del espectro de la imagen. Por lo tanto, un filtro digital pasa bajos puede
utilizarse para remover el ruido. Sin embargo, los filtros lineales pasa bajos
tienden a manchar los detalles de imagen (p. ej. líneas, esquinas), que
también tienen su potencia en las altas frecuencias. Se han propuesto filtros
no lineales basa bajos que remueven el ruido efectivamente y preservan los
bordes y detalles de la imagen. Uno de estos filtros es el filtro de mediana.
Guía
4 7

18. Pruebe el filtro de mediana para eliminar el ruido impulsivo de la imagen b:

» 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?___________________________________________________________
________________________________________

Filtro de mediana multietapa.

20. En el análisis teórico de los filtro de mediana, especialmente el determinístico,


se asumen varias cosas, por ejemplo que la imagen consiste de vecinos y
bordes constantes. En realidad la imagen tiene detalles finos, p. ej. líneas y
esquinas pronunciadas, las cuales son muy valiosas para la visión humana.
Estos detalles se destruyen por medianas que tienen ventanas relativamente
grandes (mayores que 5⋅5). Es el proceso de ordenamiento el que destruye la
información estructural y espacial de la vecindad. Por ello, se han hecho
varios esfuerzos para tomar en cuanta la información estructural. Tal
modificación de la mediana lleva a los filtros de mediana multietapas. Los
filtros de mediana multietapas conservan los detalles en las direcciones
horizontal, vertical y diagonal, porque usan subfiltros que son sensibles a
estas direcciones. A continuación se presenta el programa que realiza el filtro
de mediana multietapas.

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);

Filtros digitales basados en estadística de ordenamiento.

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

diseñan para lograr varios criterios, p. ej. preservación de los bordes,


robustez, adaptación a la estadística del ruido o preservación de los detalles
de la imagen. Un filtro de máximo puede remover efectivamente impulsos
negativos (lunares negros) en la imagen, mientras que el filtro de mínimo
puede remover los impulsos positivos (lunares blancos). Ambos fallan en
remover el ruido impulsivo mezclado, porque los filtros de máximo y mínimo
tienden a mejorar los impulsos negativos y positivos respectivamente. Sin
embargo, la cascada de los filtros máx y mín puede remover el ruido impulsivo
mezclado efectivamente. Aunque su rendimiento es generalmente inferior que
el filtro de mediana. Los filtros de máximo y mínimo tienen buenas
propiedades de preservación de bordes. Su desventaja es que tiende a
intensificar las regiones brillantes y oscuras.

22. Construya un filtro de máximo para eliminar el ruido impulsivo de la imagen g

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);

23. Pruebe el programa con la siguiente imagen:

» g=ruidoimp(a,0.1,3,20);
» e=run_max(g,3,3);

Filtros estadísticos de ordenamiento adaptativo

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

de aplicación en aplicación. Algunas veces, las características del ruido varían


en la misma aplicación de una imagen a la siguiente. Tales casos son ruido
del canal en la transmisión de imágenes y ruido atmosférico en las imágenes
por satélite. En estos ambientes, los filtros no adaptativos no funcionan bien,
porque sus características dependen de las características del ruido y la
señal, las cuales son desconocidas. Por ello, los filtros adaptativos son la
solución natural en tales casos. Cree un programa para realizar un filtro
adaptativo de menor error cuadrado medio.

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)

Filtros en el dominio de la frecuencia

26. Utilice el filtro de Wiener incorporado en la caja de herramientas de


procesamiento

»ruido %presenta el valor del ruido


»[f,ruido]=wiener2(d,[3,3]);%determina la potencia del ruido aditivo.
»figure
»imshow(f)
Guía
4 1

Análisis de resultados

1. Presente sus observaciones y conclusiones.


2. Escriba las características que observó en los tres tipos de ruido vistos en la
práctica.
3. ¿Que tipo de filtro recomienda usar para eliminar cada tipo de ruido y por
qué?
4. ¿Por qué las imágenes filtradas son más pequeñas que las originales?
5. ¿Cómo se evita, en la mayoría de los algoritmos vistos, la pérdida de los
bordes y propiedades de las imágenes?
6. ¿Qué sucede con el filtro de máximo cuando la imagen tiene ruido sal y
pimienta mezclado? Compruebe su explicación al aplicar el filtro a la imagen
b.

Investigación complementaria

1. ¿Qué es el ruido granular de película y cual es el filtro adecuado para


eliminarlo?
2. Investigue acerca del filtro Wiener.
3. Presente un resumen acerca del filtro de mínimo error cuadrado medio.
4. Investigue sobre los filtros homorfos

Bibliografía

• Digital Image Processing Algorithms. Ioannis Pitas.


• Diseño y construcción de un sistema de captación y procesamiento de
imágenes digitales. Tésis: Welmer
• Tomás Cruz Sosa, Nésto J. Maccagno, Luis A. Marín Villanueva.
• Análisis Numérico y visualización Gráfica con MATLAB. Shoichiro
Nakamura.
• The MathWorks Inc. Manual del usuario de MATLAB.

También podría gustarte