Vous êtes sur la page 1sur 9

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/308787583

FILTRADO DIGITAL EN EL PROCESAMIENTO DE IMÁGENES EMPLEANDO


MATLAB

Conference Paper · December 2010

CITATIONS READS

0 2,861

3 authors, including:

Eduardo Barbará Morales


Metropolitan Autonomous University
20 PUBLICATIONS   8 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Análisis y clasificación integral del proceso de envejecimiento normal y patológico. View project

Harminization of MRI protocols in clinicals trials for new drug. View project

All content following this page was uploaded by Eduardo Barbará Morales on 02 October 2016.

The user has requested enhancement of the downloaded file.


 

FILTRADO DIGITAL EN EL PROCESAMIENTO DE IMÁGENES


EMPLEANDO MATLAB
Yusleidy Alvarez Germade, Eduardo Barbará Morales, Oscar Rodriguez Ramirez
eduardobm@electrica.cujae.edu.cu, oscar@electrica.cujae.edu.cu 

RESUMEN.  El siguiente trabajo trata sobre un estudio de las técnicas de filtrado digital de imágenes que son
útiles cuando se quiere suavizar, realzar, detectar bordes o minimizar los efectos del ruido aditivo o impulsivo
presentes en las imágenes procesadas. Este estudio se basa en la utilización de Matlab 7.6.0 (R2008a) como
herramienta matemática útil en el procesamiento de imágenes.
Por último se desarrolla una aplicación gráfica interactiva basada en estos algoritmos. Esta es capaz de filtrar
imágenes seleccionadas por el usuario o contaminar estas antes de proceder al filtrado, con determinado tipo
de ruido, impulsivo o aditivo, para que el observador compruebe de forma interactiva la acción de los filtros
presentados en imágenes corrompidas por el ruido.
Palabras Claves. Detección de bordes, empleo del Matlab,  filtrado digital de imágenes, suavizado.  

 
ABSTRACT.  The following work is about the study of images digital filtering techniques that are useful when 
one  wants  to  soften,  to  enhance,  to  detect  borders  or  to  minimize  the  effects  of  the  noise  present  in  the 
processed  images.  This  study  is  based  on  the  use  of  Matlab  7.6.0  (R2008a)  as  the  mathematical  tool  in  the 
processing of images.  
Finally,  an  interactive  graphic  application  based  on  these  algorithms  is  developed.  It  is  able  to  filter  images 
selected  by  the  user  or  contaminate  them  before  filtering  with  certain  types  of  noise  that  can  be  impulsive  or 
additive,  so  that  the  observer  checks  in  an  interactive  way  the  action  of  the  filters  in  the  images  corrupted  by 
noise.  
  Key words:  algorithms in Matlab ,  digital filtering,  Boundary detection,   

De esta forma, los principales objetivos que se


I. INTRODUCCIÓN persiguen con la aplicación de filtros digitales
En los campos que se aplica el PDI, en son:
dependencia de la aplicación, será necesario • Suavizar la imagen (reducir las
resaltar o identificar características específicas variaciones de intensidad entre píxeles
de las imágenes que se traten como bordes, vecinos).
límites, figuras, etcétera. De esta forma, se hace
necesario realizar funciones de pre-procesado • Realzar bordes (destacar los bordes
para preparar las imágenes para su posterior presentes en una imagen).
procesamiento. En este punto es que el filtrado
digital viene a ocupar un escalón fundamental • Detectar bordes (detectar los píxeles
dentro del PDI. donde se produce un cambio brusco en
Básicamente, el proceso de filtrado en esta la función intensidad).
temática se describe como el conjunto de
técnicas englobadas dentro del pre-
procesamiento de imágenes cuyo objetivo • Eliminar el ruido presente en la imagen
principal es obtener, a partir de una imagen (eliminar aquellos píxeles cuyo nivel
determinada, otra final cuyo resultado sea más de intensidad es muy diferente al de
adecuado, mejorando o resaltando ciertas sus vecinos y cuyo origen puede estar
características de la misma que posibilite tanto en el proceso de adquisición de la
efectuar operaciones del procesado sobre ella. imagen como en el de transmisión o
[1] [2] [3] inclusive, durante la reproducción).
II. MATERIALES Y MÉTODOS
A. Métodos en el dominio espacio y de la
frecuencia

Las técnicas en el filtrado sobre imágenes


digitales, se pueden clasificar en dos grandes
grupos:

• Técnicas en el dominio espacial


• Técnicas en el dominio de la frecuencia

Las primeras tienen su efecto sobre la Figura 1 Mecanismo de filtrado especial lineal. Convolución
aglomeración de pixeles que componen la de una imagen con una máscara dando como resultado una
imagen y sus vecinos, mientras que las otras imagen de salida filtrada.
hacen modificaciones sobre la transformada de
Fourier de la imagen. El uso del término filtrado En el dominio de la frecuencia se puede realizar
espacial lineal diferencia este tipo de proceso el proceso de filtrado con un mayor grado de
del de filtrado en el dominio de la frecuencia. comprensión. Esto se debe a que en una imagen
[2] las fronteras, contornos y cambios bruscos están
asociados con las componentes de alta
Las operaciones lineales utilizan máscaras de frecuencia, las componentes de bajas
tamaño m x n, se asume que m=2a+1 y n=2b+1 frecuencias representan las zonas suaves. [5]
donde a y b son enteros no negativos. Esto
significa que se trabaja primordialmente con La utilización de la transformada de Fourier en
máscaras de tamaño impar pues el trabajo con el procesamiento de imágenes tiene su origen
estas es más intuitivo ya que tienen un único en la utilización de esta teoría en el
punto central.  Estas máscaras forman una matriz procesamiento de señales. Para utilizar la
conocida como filtro, máscara, kernel o ventana. transformada de Fourier en imágenes digitales,
que son funciones discretas y bidimensionales,
El mecanismo de filtrado espacial lineal se es necesario discretizar y además extender a 2-D
ilustra en la figura 1 El proceso consiste la Transformada de Fourier. Esta expresión se
simplemente en mover el centro de la máscara obtiene como se muestra en la ecuación (1) [6]
del filtro por todos los puntos de una imagen
f(x, y). En cada punto (x, y) de la imagen, la
respuesta del filtro será la suma de los productos La función anterior se nombra comúnmente
de los coeficientes del kernel con los como Transformada Discreta de Fourier
correspondientes píxeles vecinos que abarca la Bidimensional.
máscara del filtro.

Existen dos conceptos extremadamente (1) 


relacionados con el tema. Uno es la correlación
y el otro es la convolución. El primero es un
proceso que se realiza durante la transición de la
máscara del filtro por el arreglo de la imagen En estas ecuaciones u y v son las variables de
f(x, y) de la forma que se describe en la figura 1, transferencia o frecuencia y x e y son las
mientras que el segundo es básicamente el variables espaciales.
mismo proceso exceptuando que la máscara del
filtro es rotada 1800 antes de transitar por f(x,y),
[4] El filtrado en el dominio de la frecuencia se
realiza básicamente siguiendo los pasos que se
mencionan a continuación. Se considera que f es
la imagen original, g es la imagen resultante de
todo el proceso de filtrado y además, se asume
que la función del filtro es del mismo tamaño
que la imagen. [7] Donde M y N representan las dimensiones de la
vecindad, K(i) son los valores leídos y
1. Rellenar la función f con ceros y ordenados, G (x,y) es el valor en el par
multiplicarla por -1(x+y) para centrar la coordenado (x, y) que se obtiene como resultado
transformada. de la operación y v representa la posición
central de la vecindad donde se opera y puede
2. Obtener la DFT de la función obtenida ser calculado mediante la ecuación ( 3)
en el paso 1.

3. Generar la función del filtro H (u, v.) (3) 


4. Multiplicar la transformada obtenida en
el paso 2 con la función del filtro
obtenida en el paso 3).

5. Calcular la DFT inversa del resultado Generalmente M=N y ambos deben ser números
obtenido en el paso 4 y obtener su parte impares. Este método es particularmente
real. efectivo se quiere preservar contornos, fronteras

6. Multiplicar la función obtenida en el


paso 5 por -1(x+y) y eliminar las filas y
columnas de relleno para obtener una
imagen de igual tamaño que la original.

En el presente trabajo se abordan algunos de los


filtros digitales más comunes en el filtrado
digital de imágenes. Las imágenes filtradas que
se muestran se desarrollaron utilizando el
programa Matlab® 7.6.0 [R2008a] el cual
proporciona una amplia gama de utilerías para
el procesamiento de imágenes y para el filtrado
de estas también. También se muestra una
interfaz gráfica en la cual se agrupan los filtros
fundamentales empleados y que permite
interactuar de manera simple con el usuario. así como detalles finos de los objetos.

B. Filtros implementados en el dominio del Figura 2 Se muestra una imagen original filtrada con
filtros de mediana de tamaños de vecindad de 3 x 3, 5
espacio
x 5 y 7 x 7.

Los procesos y algoritmos de filtrado que han


sido implementados, serán discutidos a
continuación. Otro de los filtros empleados es el que utiliza el
método del gradiente es muy popular en el
procesamiento de imágenes y puede
Uno de los filtros tratados en este trabajo lo implementarse de diversas formas, de acuerdo
constituye el filtro de la mediana que se basa con la aplicación. La ecuación (4) define el
en ordenar de forma ascendente o descendente gradiente de la función
los píxeles que caen dentro de la vecindad o f(x, y) en el punto (x, y) como un vector. [5]
ventana que se analiza. Una vez ordenados se
escoge el valor que se ubica en la posición
central de la ventana y ese es el valor que se
sitúa en el píxel que se encuentra en dicha
posición de la imagen destino. La modelación
matemática de este método es como muestra en
(4) 
la ecuación (2) [5]

(2) 
Esta ecuación es la base de un gran número de que el umbral escogido sea muy grande y no se
aproximaciones para la diferenciación de detecten todos los puntos límites, o por el
imágenes. La misma está en la forma de contrario, si el umbral es muy pequeño, pueden
derivada bidimensional y siempre es positiva. detectarse puntos límites que no lo son
realmente como ruidos, etcétera. La meta es
La magnitud del gradiente también puede ser entonces escoger un umbral apropiado. [8]
calculada utilizando cualquiera de las
ecuaciones 5 y 6 que son aproximaciones de la A continuación se exponen dos filtros que
magnitud real. aplican este método para la detección de bordes.
Aunque estos ejemplos se basan en el algoritmo
del gradiente, es muy común encontrarlos
(5)  simplemente como filtros para detectar bordes
en una dirección específica, aplicando el kernel
apropiado.
(6) 
En este caso fueron implementadas dos
máscaras para la detección de bordes
horizontales y verticales, se halló la magnitud
Gracias a las dos propiedades anteriores es que del gradiente en cada punto, se comparó el
los operadores gradientes se utilizan en el resultado obtenido con un umbral y como
procesamiento de imágenes, pues calculan el resultado se obtuvo una imagen compuesta por
cambio de intensidad del nivel de gris y también aquellos valores mayores que el umbral.
la dirección en que este cambio ocurre. Se
puede deducir que el gradiente tomará valores
altos para regiones de fronteras y valores El gradiente más sencillo se obtiene con las
pequeños en regiones de poca variación entre máscaras de Prewitt, que involucra vecindades
los píxeles. Esta técnica es aplicada mediante la de 3 x 3 utilizando los kernels que muestra la
diferencia de los valores de los píxeles vecinos, figura 3 para la detección de bordes horizontales
por ejemplo, como muestran las ecuaciones 7 y y verticales. Estos kernels no son los únicos que
8. Donde y representan las columnas y x las utiliza el filtro de Prewitt, estos mismos se
filas. [3] pueden rotar 45º y obtener nuevos kernels que
detectan bordes en otras direcciones. [8]

(7) 
(8) 

La utilización del método del gradiente tiene


distintas variantes que dependen de los
resultados que se deseen obtener. Un
acercamiento alternativo al cálculo de
gradientes involucra un valor umbral, de forma
que si el gradiente es mayor que el umbral,
entonces se detecta la presencia de un borde Figura 3 Kernels utlizados por el operador de Prewitt. a) Para
mientras que las zonas suaves, aparecerán la detección de bordes horizontales. b) Para la detección de
oscuras debido a los valores pequeños que toma bordes verticales.
el gradiente en esas zonas

Por otro lado, un filtro que detecte bordes,


idealmente debe cumplir dos condiciones. Las dos máscaras son aplicadas por separado a
Primero, que todos los puntos que detecte como la imagen de entrada, obteniendo las
puntos de frontera sean correctos. Segundo, que componentes del gradiente en las direcciones
todos los puntos que no detecte como límites no horizontal y vertical respectivamente. En la
lo sean. figura 4 se muestra el efecto del filtro de
Pero como la decisión de si un punto pertenece Prewitt en una imagen.
o no a un borde o límite está basada en la
comparación de la magnitud del gradiente con
un umbral, entonces estos requisitos entran en
contradicción uno con el otro. Es decir, puede
Donde G(x, y) es la nueva imagen, f(x, y) es la
imagen original y M, N representan las
dimensiones de la vecindad involucrada en la
operación. Son muy comunes los tamaños de la
vecindad de 3 x 3 y 5 x 5. Para este filtrado se
utilizan kernels como los que se muestran en la
figura 7.

Figura 4 Aplicación del filtro de Prewitt. a) Imagen original. b)


Imagen filtrada con el filtro horizontal c) Imagen filtrada con el
filtro vertical d) Imagen filtrada mediante el filtro de Prewitt
con umbral de 50.
Otro de los filtros empleados para la detección
de bordes es el filtro por el método de Sobel, en
este filtro las máscaras de convolución son
definidas en dos kernels como muestra la figura
5 para la detección de bordes horizontales y
verticales. Estas también pueden ser rotadas 45°
para detectar bordes en otras direcciones. Figura 7 Kernels del promedio de tamaño a) 3 x 3, b) 5 x 5
La magnitud y dirección del gradiente pueden
ser calculadas igual que en el operador de
Prewitt. En este método se le da mayor peso a
los coeficientes centrales. [8]
Este tipo de filtro tiende a producir un efecto en
la imagen similar al que ocurre cuando una
cámara se encuentra desenfocada debido a que
el valor del píxel calculado es una media del
valor de los píxeles vecinos. Por eso se plantea
que este método tiende a crear un desenfoque.

Los resultados de este planteamiento, se


muestran en la figura 8 en la cual puede
observarse una imagen original filtrada con
Figura 5 Kernels utilizados por el operador de Sobel. a) Para filtros de promedio ilustrados en la figura 7 y
la detección de bordes horizontales. b) Para la detección de dando como resultado las imágenes b) y c).
bordes verticales.

En la figura 6 se muestra el efecto del filtro de


Sobel en una imagen.

Figura 8 Efecto del filtro del promedio, a) imagen original, b)


imagen filtrada con un filtro de promedio de 3 x 3, b) imagen
Figura 6 Aplicación del filtro de Sobel. a) Imagen original. b) Imagen filtrada con un filtro de promedio de 5 x 5.
filtrada con el filtro horizontal c) Imagen filtrada con el filtro vertical
d) Imagen filtrada mediante el filtro de Sobel con umbral de 50.

Un método muy utilizado en el PDI para la


Otra de las técnicas presentadas en este trabajo detección de bordes o el realzado de las
es la del promediado de los píxeles vecinos, es características de las imágenes es el Laplaciano.
íntegramente del dominio espacial y tiene como
fin principal suavizar la imagen. En las funciones continuas, este se basa en la
utilización de las derivadas de segundo orden y
La ecuación que modela este proceso se muestra para su utilización en imágenes digitales se
en la ecuación 9: utilizan algoritmos aproximados como muestran
las ecuaciones (10) y (11) [8]

(9) 
plano cartesiano y al resultado se le aplica la
transformada de Fourier inversa en 2D.
(10)
La respuesta al impulso del filtro es la mostrada
en la ecuación (13)
(11)

  (13) 
Sustituyendo y combinado ambas ecuaciones se
obtine la ecuación (12) que se muestra a
continuación Con la utilización de la función fsamp2 de
Matlab, se aplicó esta técnica a la respuesta de
frecuencia de dos filtros ideales: uno pasa bajo
(12)  con frecuencia de corte π/2 y otro pasa alto con
frecuencia de corte π/100. El resultado se
muestra en las figuras 11 y 12. Como puede
Esta función puede ser implementada de observarse esta técnica provoca ondulaciones
diversas formas para realizar un filtrado a una notables en las transiciones bruscas, como los
imagen. Uno de los métodos aproximados es bordes de la respuesta de frecuencia deseada
una máscara de convolución de 3 x 3 como la
que se muestra en la figura 9.

Figura 9 Máscara Laplaciana

En la figura 10 puede observarse el efecto de la Figura 11 Filtro pasa bajo con frecuencia de
convolución Laplaciana para la detección de corte en π/2. a) Respuesta de frecuencia del
bordes y para el realzado. filtro 2D

  Figura 12 Filtro pasa alto con frecuencia de corte


 Figura 10 Efecto del filtro Laplaciano. a)
en π/100 . a) Respuesta de frecuencia del filtro 2D
Imagen original. b) Filtro utilizado. c) Imagen
deseado. b) Respuesta de frecuencia del filtro 2D
filtrada con el filtro anterior, d) Imagen
 mejorada obtenido mediante el método de muestreo de
frecuencias.
C. Filtros en el dominio de la frecuencia
El método utilizado para implementar los filtros La figura 13 se muestra el efecto de filtrar una
digitales en el dominio de la frecuencia es el imagen con los filtros mostrados. Las imágenes
método de muestreo de frecuencias. muestran el efecto del filtro pasa bajo aplicado,
la primera sin rellenar los bordes de la imagen y
Este método crea un filtro a partir de la
la segunda con el relleno necesario.
respuesta de frecuencias deseada, que es
muestreada en puntos equidistantes sobre un
la barra menú en la componente Archivo, en la
parte superior izquierda de esta barra.

Luego de abrir una imagen, se puede


seleccionar mediante la barra de menú el
dominio donde se quiera trabajar (espacial o
frecuencial) y en el caso de ser el espacial, si se
desea trabajar con filtros lineales o no lineales.
Sólo la opción seleccionada quedará habilitada.

En la figura 14 se muestra una imagen que ha


sido cargada y luego filtrada con un filtro en el
dominio espacial.
 

  Figura 13 Filtrado frecuencial. a) Imagen original; b)


imagen original sin relleno filtrada con un filtro pasa
  bajo c) imagen original con relleno filtrada con un
filtro pasa bajo d) imagen original con relleno filtrada
con un filtro pasa alto
 

III. RESULTADOS Y DISCUSIONES


 
A continuación una aplicación gráfica
interactiva basada en los algoritmos de filtrado
digital de imágenes mostrados anteriormente.
Esta fue desarrollada utilizando Matlab en la
versión 7.6.0 [R2008a].

La aplicación gráfica general consta del diseño Figura 14 Ejemplo de la utilización de la


de dos ventanas. Ambas ventanas permiten al ventana para filtrar una imagen en el dominio
usuario abrir una imagen almacenada en el espacial
ordenador. En una ventana se puede aplicar a la
imagen original algún filtro de los presentados,
mientras que en la otra puede contaminarse esta Para el filtrado en el dominio de la frecuencia se
imagen para después filtrar la imagen resultante disponen de dos filtros, uno pasa bajo y otro
y observar el efecto de esos algoritmos ante pasa alto. Estos son implementados con un
estas degradaciones tamaño de 31 x 31, con la frecuencia
especificada por el usuario con el objeto slider
La imagen cargada se lleva a un plano de M x N que aparece en el panel ‘Frecuencia’
x 1, en escala de grises antes de ser mostradas. especificada en grados y utilizando el algoritmo
Los algoritmos que se utilizaron en la aplicación de muestreo de frecuencias que ofrece Matlab.
gráfica son para imágenes en escala de grises.
En la parte inferior central de la ventana se
Las dos ventanas se relacionan mediante una muestra la característica del filtro bidimensional
opción en la barra menú que presentan cada una, obtenido mediante ente método.
de modo que estando trabajando en una ventana
puede cambiarse a la otra y trabajar en esta. En la figura 15 se muestra una imagen que ha
sido cargada mediante la interfaz y a la que le
ha sido aplicada un filtro paso bajo de
Otra facilidad que brinda esta aplicación en frecuencia de corte de 19.8°.
general es que la imagen filtrada puede
guardarse mediante una opción que aparece en
IV. CONCLUSIONES
 

En este artículo se han analizado una serie de


filtros digitales que tienen una amplia aplicación
en el procesamiento digital de imágenes.

Se estudiaron e implementaron los filtros


digitales más comunes, utilizados para resaltar o
suavizar cierta información de una imagen
digital en escala de grises.

Se logró la realización de algunos de filtros


digitales que resultan útiles en la disminución de
Figura 15 Ejemplo de la utilización de la los efectos de ruido, aditivo o impulsivo,
ventana para filtrar una imagen en el dominio de presentes en imágenes contaminadas con estos.
la frecuencia.
Se elaboró una aplicación gráfica utilizando la
Esta aplicación permite además a la imagen herramienta matemática Matlab versión 7.6.0
seleccionada contaminarse con varios tipos de [R2008a], basada en los algoritmos anteriores.
ruido, es decir, los valores de sus píxeles pueden
modificarse de determinadas formas. Esta aplicación permite al usuario interactuar
con las técnicas de filtrado tratadas en el trabajo
mediante la contaminación con ruido (aditivo o
Luego de obtener la imagen contaminada se impulsivo) y/o filtrado de una imagen
habilitan los filtros seleccionados para tratar de seleccionada.
reconstruir la imagen corrompida por el ruido.
Los filtros que se implementaron para esta
acción son: promedio, mediana, mínima y REFERENCIAS
máximo. [1] Young, I.T., Gerbrands, J.J. y van Vliet, L.J.,
“Fundamentals of Image Processing”, (tutorial),
En la figura 16 se muestra un ejemplo de la Delft University of Technology, Netherlands,
utilización de esta ventana. La imagen original y 1998.
la contaminada son mostradas. Se visualiza [2] González, R.C., Woods, R.E., y Eddins,
además la imagen recuperada, a partir de S.L., “Digital Image Processing”, Pearson
aplicarle a la imagen contaminada un filtro de la Prentice Hall, Estados Unidos, 2002.
mínima de 3 x 3. [3] González, R.C., Woods, R.E., y Eddins,
S.L., “Digital Image Processing using Matlab”,
Pearson Prentice Hall, Estados Unidos, 2004.
[4] Plarero, Carlos., “Apuntes de Visión
Artificial”, Escuela Universitaria de Ingeniería,
España, 2007.
[5] Sepúlveda Peña, Juan Carlos., “Filtrado de
Imágenes (parte III)”. GIGA La Revista Cubana
de Computación. No. 6, p. 27-32, 2000.
[6] Hernández Hoyos, Marcela. Procesamiento
y Análisis de Imágenes Digitales (PAID),
Compugráfica, 2004.
[7] Mejía Vilet, José Ramón., “Apuntes de
Procesamiento Digital de Imágenes”,
Universidad Autónoma de San Luis de Potosí,
2004.
[8] Acharya, Tinku.Ray,,Ray, Ajoy K.Image
Processing: Principles and Applications, Wiley-
Interscience, New Jersey, 2005.
Figura 16 Ejemplo de la utilización de la
ventana para contaminar y filtrar imágenes.
Imagen original ruido Lognormal con
parámetros a = 8.07692 y b=14.2308. La imagen
contaminada fue filtrada con el filtro de la
mínima teniendo en cuenta vecindades de 3 x 3.

View publication stats

Vous aimerez peut-être aussi