Académique Documents
Professionnel Documents
Culture Documents
Procesamiento de Imgenes
Cedeo Guerrero Mara Fernanda, Hernndez Gutirrez German, Prez
Cuevas Jess Omar
Programacin en Matlab, Universidad de Guanajuato, DICIS
INTRODUCCION
Procesamiento digital de imgenes
El procesamiento digital de imgenes es el conjunto de tcnicas que se aplican a las
imgenes digitales con el objetivo de mejorar la calidad o facilitar la bsqueda de
informacin.
Proceso de filtrado
Es el conjunto de tcnicas englobadas dentro del pre procesamiento de imgenes cuyo
objetivo fundamental es obtener, a partir de una imagen origen, otra final cuyo resultado
sea ms adecuado para una aplicacin especfica mejorando ciertas caractersticas de la
misma que posibilite efectuar operaciones del procesado sobre ella.
Los principales objetivos que se persiguen con la aplicacin de filtros son:
Suavizar la imagen: reducir la cantidad de variaciones de intensidad entre pxeles
vecinos.
Eliminar ruido: eliminar aquellos pxeles cuyo nivel de intensidad es muy
diferente al de sus vecinos y cuyo origen puede estar tanto en el proceso de
adquisicin de la imagen como en el de transmisin.
Realzar bordes: destacar los bordes que se localizan en una imagen.
Detectar bordes: detectar los pxeles donde se produce un cambio brusco en la
funcin intensidad.
Por tanto, se consideran los filtros como operaciones que se aplican a los pxeles de una
imagen digital para optimizarla, enfatizar cierta informacin o conseguir un efecto
especial en ella.
El proceso de filtrado puede llevarse a cabo sobre los dominios de frecuencia y/o espacio.
Filtrado en el dominio de la frecuencia
Los filtros de frecuencia procesan una imagen trabajando sobre el dominio de la
frecuencia en la Transformada de Fourier de la imagen. Para ello, sta se modifica
siguiendo el Teorema de la Convolucin correspondiente:
2
Se aplica la Transformada de Fourier,
Se multiplica posteriormente por la funcin del filtro que ha sido escogido,
Para concluir re-transformndola al dominio espacial empleando la Transformada
Inversa de Fourier.
Teorema de la Convolucin (frecuencia): G(u,v) = F(u,v) * H(u,v)
F(u,v): transformada de Fourier de la imagen original.
H(u,v): filtro atenuador de frecuencias.
Como la multiplicacin en el espacio de Fourier es idntica a la convolucin en el dominio
espacial, todos los filtros podran, en teora, ser implementados como un filtro espacial.
Etapas del procesamiento de imgenes en el dominio de la frecuencia.
Tipos
Existen bsicamente tres tipos distintos de filtros que pueden aplicarse:
**Filtro paso bajo: atena las frecuencias altas y mantiene sin variaciones las bajas. El
resultado en el dominio espacial es equivalente al de un filtro de suavizado, donde las
altas frecuencias que son filtradas se corresponden con los cambios fuertes de intensidad.
Consigue reducir el ruido suavizando las transiciones existentes.
**Filtro paso alto: atena las frecuencias bajas manteniendo invariables las frecuencias
altas. Puesto que las altas frecuencias corresponden en las imgenes a cambios bruscos
de densidad, este tipo de filtros es usado, porque entre otras ventajas, ofrece mejoras en
la deteccin de bordes en el dominio espacial, ya que estos contienen gran cantidad de
dichas frecuencias. Refuerza los contrastes que se encuentran en la imagen.
**Filtro paso banda: atena frecuencias muy altas o muy bajas manteniendo una banda
de rango medio.
Ventajas
Mtodo simple y sencillo de implementar.
Fcil asociacin del concepto de frecuencia con ciertas caractersticas de la
imagen; cambios de tonalidad suaves implican frecuencias bajas y cambios
bruscos frecuencias altas.
Proporciona flexibilidad en el diseo de soluciones de filtrado.
Rapidez en el filtrado al utilizar el Teorema de la Convolucin.
Desventajas
3
Se necesitan conocimientos en varios campos para desarrollar una aplicacin
para el procesamiento de imgenes.
El ruido no puede ser eliminado completamente.
Filtrado en el dominio del espacio
Las operaciones de filtrado se llevan a cabo directamente sobre los pxeles de la imagen.
En este proceso se relaciona, para todos y cada uno de los puntos de la imagen, un
conjunto de pxeles prximos al pxel objetivo con la finalidad de obtener una
informacin til, dependiente del tipo de filtro aplicado, que permita actuar sobre el pxel
concreto en que se est llevando a cabo el proceso de filtrado para, de este modo, obtener
mejoras sobre la imagen y/o datos que podran ser utilizados en futuras acciones o
procesos de trabajo sobre ella.
Los filtros en el dominio del espacio pueden clasificarse en:
-- Filtros lineales (filtros basados en kernels o mscaras de convolucin).
-- Filtros no lineales.
El concepto de kernel se entiende como una matriz de coeficientes donde el entorno del
punto (x,y) que se considera en la imagen para obtener g(x,y) est determinado por el
tamao y forma del kernel seleccionado. Aunque la forma y tamao de esta matriz es
variable y queda a eleccin de cada usuario, es comn el uso de kernels cuadrados nxn.
Dependiendo de la implementacin, en los lmites de la imagen se aplica un tratamiento
especial (se asume un marco exterior de ceros o se repiten los valores del borde) o no se
aplica ninguno. Es por ello, que el tipo de filtrado queda establecido por el contenido de
dicho kernel utilizado.
Para realizar un filtrado en el dominio del espacio se realiza una convolucin (barrido)
del kernel sobre la imagen. Para ello se sigue el Teorema de Convolucin en el espacio:
g(x,y) = h(x,y) * f(x,y)
Cada pxel de la nueva imagen se obtiene mediante el sumatorio de la multiplicacin del
kernel por los pxeles contiguos:
g(x,y) = f(i,j) w(i,j)
Generalmente se divide sobre cierto valor constante para normalizar que suele obtenerse
de la suma de los valores del kernel empleado.
4
Imagen original sobre la que se aplica un filtro Laplaciano y otro Sobel
Tipos
Filtro paso bajo (suavizamiento): utilizados para eliminar ruido o detalles
pequeos de poco inters puesto que slo afecta a zonas con muchos cambios. La
frecuencia de corte se determina por el tamao del kernel y sus coeficientes. Se
emplean diversos kernels:
o Promedio: promedio de pxeles vecinos (kernel de unos).
o Paso bajo en frecuencia.
o Media: reemplaza cada pxel por el valor medio de sus contiguos.
o Mediana: sustituye por el valor de la mediana de los pxeles vecinos
(normalmente se comporta mejor que el de promedio).
o Gaussiano: aproximacin a la distribucin gaussiana.
Filtro paso alto (atenuamiento): intensifica los detalles, bordes y cambios de alta
frecuencia, mientras que atena las zonas de tonalidad uniforme. Esto permite una
mejor identificacin posterior de los objetos que se encuentren en la imagen,
puesto que el brillo se hace mayor en las zonas con frecuencias ms altas, al
mismo tiempo que se oscurecen las zonas de frecuencias bajas. Es comn la
aparicin de ruido tras el proceso.
Realce de bordes por desplazamiento y diferencia: sustrae de la imagen original
una copia desplazada de la misma. As, es posible localizar y hacer resaltar los
bordes existentes y que se quieran obtener segn el modelo de kernel aplicado:
o Horizontal.
o Vertical.
o Horizontal/Vertical (diagonal).
Realce de bordes mediante Laplace: este tipo de filtros realza los bordes en todas
direcciones (los resultados que se obtienen pueden considerarse como una suma
de los obtenidos tras aplicar todos los modelos del tipo anterior). En esta ocasin
se trabaja con la segunda derivada, que permite obtener unos mejores resultados,
a pesar del aumento del ruido que se produce en la imagen.
Resalte de bordes con gradiente direccional: empleado para destacar y resaltar con
mayor precisin los bordes que se localizan en una direccin determinada. Trabaja
con los cambios de intensidad existentes entre pxeles contiguos
5
Deteccin de bordes y filtros de contorno (Prewitt y Sobel): al igual que los
anteriores, se centra en las diferencias de intensidad que se dan pixel a pixel. Son
utilizados para obtener los contornos de objetos y de este modo clasificar las
formas existentes dentro de una imagen. Este tipo de filtros requieren un menor
coste computacional.
MATERIALES Y METODOS
Matlab almacena las imgenes como vectores bidimensionales (matrices), en el que cada
elemento de la matriz corresponde a un slo pixel.
LOS TIPOS DE IMAGNES QUE SE MANEJAN EN MATLAB SON:
Las imgenes que utilizaremos en nuestro programa para procesar imgenes son UNIT8.
El procedimiento que se realiza en MATLAB para leer y guardar imgenes es el siguiente:
6
Comandos bsicos utilizados.
Cargar imgenes en matrices:
A=double(imread(NombreImagen,Formato));
Donde NombreImagen representa el nombre de la imagen con el path completo y Formato
representa el formato de la imagen. La funcin double se utiliza para poder realizar
operaciones con la matriz A que implican nmeros decimales (hay ciertas operaciones
que no se pueden hacer con variables del tipo uint8 como lo son los niveles de gris de las
imgenes que utilizamos generalmente). El formato de imagen comnmente utilizado es
el tif .
Cargar imgenes en matrices:
A=double(imread(NombreImagen,Formato));
Donde NombreImagen representa el nombre de la imagen con el path completo y Formato
representa el formato de la imagen. La funcin double se utiliza para poder realizar
operaciones con la matriz A que implican nmeros decimales (hay ciertas operaciones
que no se pueden hacer con variables del tipo uint8 como lo son los niveles de gris de las
imgenes que utilizamos generalmente). El formato de imagen comnmente utilizado es
el tif .
7
Cdigo del Programa
Aunque el cdigo no es muy complicado, son utilizadas una gran cantidad de
lneas.
8
9
10
RESULTADOS
Pantalla de Inicio
Aqu se presenta la pantalla de inicio, que no es esencialmente la principal, solo
muestra dos botones, una Abrir para cargar una imagen y Salir para cerrar el
Programa
11
Pantalla principal
Aqu se presenta la pantalla Principal, donde estn todas las herramientas del sistema es
fcil navegar a travs de ella, el checkbox, sirve para modificar la imagen ya modificada,
todos los dems basta con jugar con ellos. Cada uno de los botones, funciono
correctamente, a continuacin se muestran alguno ejemplos.
Negativo:
Negativo B&N:
12
Umbralizacion:
Brillo:
Trabajos Futuros
Este proyecto se cree que en estudios posteriores se pueda utilizar como aplicacin para
algn celular, o en relacin a utilizarlo en ptica ya que en el laboratorio se hacen
mediciones y se toman fotos con diferentes muestras y estas fotos poder procesarlas para
un mejor resultado quitando brillo u otra caracteristica
13
CONCLUSIONES
Durante el desarrollo de este proyecto, nos dimos cuenta que matlab es una
herramienta muy poderosa, ya que si sabemos sacarle provecho nos facilita muchas cosas,
por ejemplo, en el curso aprendimos muchos comandos que nos facilitan el clculo con
nmeros complejos, operaciones con matrices, calcular races de polinomios.
No solo sirve para realizar clculos numricos, como vimos en la ltima parte del curso
podemos crear interfaces graficas de usuario, que es manipular ventanas y objetos
(botones, cajas de texto, etc), lo cual nos permite tener un programa ms dinmico y que
cualquier usuario puede utilizar.
Nuestro procesador de imgenes tiene opciones algo sencillas, pero que uno no se podra
imaginar que tambin se pueda hacer en MATLAB.
El procesamiento digital de imgenes en MatLab es una herramienta muy interesante ya
que este programa cuenta con todo lo necesario para realizar dicho procesamiento sin
ningn problema; sabemos que MatLab trabaja con matrices y por lo tanto nuestras
imgenes se dividirn en 3 matrices bidimensionales que seran las correspondientes al
formato de color RGB .
Se debe de tener cuidado con los formatos utilizados y soportados con Matlab para poder
realizar nuestro procesamiento. En general este tipo de tcnicas son muy interesantes ya
que con ellas podemos mejorar la calidad de las imgenes, de esta forma el estudio de las
mismas se facilita dependiendo de la aplicacin para la que se requiera.
REFERENCIAS
[1] Gonzlez, R.C., Wintz, P. (1996). Procesamiento digital de imgenes. Addison-Wesley.
[2] Acharya, T., Ray, A. K. (2005). Image processing: principles and applications. John Wiley &
Sons.
[3] Alegre, E., Snchez, L., Fernndez, R. ., Mostaza, J. C. (2003). Procesamiento Digital de
Imagen: fundamentos y prcticas con Matlab. Universidad de Len. ISBN 84-9773-052-6.
[4] Rafael C. Gonzlez, Richard E. Woods, Steven L. Eddins (2009). Digital image processing
using Matlab. Gonzlez, Woods, & Eddins.
[5] http://www.aet.org.es/revistas/revista8/AET8_5.pdf
[6] http://dmi.uib.es/~catalina/docencia/PDS/tema3.pdf
[7] http://homepages.inf.ed.ac.uk/rbf/HIPR2/freqfilt.html
[8] http://www.seap.es/telepatologia/telepatologia03.pdf
[9]http://asignatura.us.es/imagendigital/Matlab_PID_1314.pdf
[10]http://www.slideshare.net/lonely113/procesamiento-digital-de-imgenes-con-matlab
[11]www.elai.upm.es/webantigua/spain/.../MIP.../prac1VA_%20MIP.pdf