You are on page 1of 52

Procesamiento Digital de Imgenes

con Matlab

Tema 1. Introduccin al procesamiento digital de imgenes

Guillermo Palacios, PhD

ndice
ndice de
de contenidos
contenidos

Introduccin.
Formatos grficos.
Formatos de imgenes.
Tipos de imgenes.
Espacios de color.
Segmentacin de imgenes.
Ruido en imgenes.
Creacin de una aplicacin en Matlab.
Procesamiento Digital de Imgenes con Matlab

Introduccin
Introduccin
Objetivo: procesar una imagen para que resulte ms
adecuada para una aplicacin especfica.
El procesamiento de imgenes mdicas se ha
convertido en uno de los campos ms atractivos dentro
de la visin artificial.
La comunidad mdica tiene muchas aplicaciones en las
que aparece el procesamiento de imgenes, a menudo
orientadas hacia el diagnstico de dolencias o
enfermedades (radiografas, RMNs, tomografas, etc.).
Muchas de estas aplicaciones tienen como objetivo
fundamental la consecucin de una mejora en la
obtencin de informacin mdica, lo que supone una
mejora de las diagnosis y por tanto de su fiabilidad.
Procesamiento Digital de Imgenes con Matlab

Introduccin
Introduccin
En ocasiones, los problemas son tan complejos
que todava la solucin humana es la mejor.
Otras veces, las soluciones humanas se vuelven
inexactas o subjetivas y sobre todo lentas,
(ausencia de rigor y pobre percepcin).
Es preciso reconocer que la visin por
computador por si sola puede no darnos la mejor
y ms completa solucin, pero ayuda en buena
medida a encontrarla.
Por ello, consideramos importante cualquier
contribucin que aporte un instrumento ms al
especialista en su trabajo y le facilite la toma de
decisiones.
Procesamiento Digital de Imgenes con Matlab

Formatos
Formatos grficos
grficos

Sin compresin: BMP


Formato BMP: El formato bitmap o mapa de bits es propiedad de
Microsoft y slo se utiliza en el sistema operativo Windows, para
guardar sus imgenes digitales. Este sistema de archivo puede
guardar imgenes de 24 bits (millones de colores).

Con compresin pero no prdida de informacin


PCX.
TIFF
GIF
PNG.

Formato TIFF: Por defecto, los archivos TIFF no usan compresin.


La gran ventaja de esto es que no hay prdida en el detalle de
imagen cuando sta se guarda. Tambin pueden comprimirse
empleando varios algoritmos distintos sin perder calidad, y son
compatibles con varios espacios de color (Lab, CMYK, RGB,
etc.).
Procesamiento Digital de Imgenes con Matlab

Formatos
Formatos grficos
grficos
Formato PCX (PiCture eXchange). Formato grfico
digital que utiliza compresin por run-lenght (RLE), que
es sin prdida de calidad. Los ficheros con este formato
tienen extensin ".pcx". Poco usado en la actualidad
reemplazado por mejores formatos, desde el punto de
vista de la compresin, como PNG o JPEG.
Formato GIF: GIF es un formato de archivo bastante
antiguo. Este tipo de archivo se cre con la finalidad de
obtener archivos de tamao muy pequeo. GIF es muy
indicado para guardar imgenes no fotogrficas, como
logotipos o dibujos. Una imagen GIF puede contener
entre 2 y 256 colores.

Procesamiento Digital de Imgenes con Matlab

Formatos
Formatos grficos
grficos

Formato PNG. Es un formato grfico cada vez ms usado en lugar


de GIF. Este formato fue desarrollado en buena parte para solventar
las deficiencias del formato GIF y permite almacenar imgenes con
una mayor profundidad de contraste y otros importantes datos. Se
muestra correctamente en los navegadores, su uso est libre de
derechos y permite una alta compresin as como una reproduccin
progresiva de imgenes con hasta 16,7 millones de colores.
El formato PNG permite generar imgenes de mapas de bits con
una elevada 'ratio' de compresin de tamao. Se trata de una
compresin sin prdida de calidad, al igual que el formato GIF, pero
con mayor porcentaje de compresin media.
Anlogamente al GIF, el PNG soporta los fondos transparentes que
permiten una buena integracin de la imagen con el fondo actual de
la pgina web. PNG es superior a GIF porque soporta una
profundidad de color de hasta 16,7 millones de colores. GIF admite
slo un mximo de 256 colores distintos en la misma imagen.
La principal desventaja es que PNG no permite crear pequeas
animaciones como el formato GIF.
Procesamiento Digital de Imgenes con Matlab

Formatos
Formatos grficos
grficos

Compresin con prdida de informacin (JPG)


JPG o JPEG: Muy utilizado en fotografa. Permite una gran
compresin de las imgenes, aunque a mayor compresin mayor
prdida de calidad (produce artefactos caractersticos). As ocupan
relativamente poco y son ideales para Internet aunque siempre con
prdida de calidad. Es importante saber que cada vez que abrimos,
modificamos y guardamos un archivo con este formato, aadimos
una prdida de calidad y nitidez a la imagen.
Formatos soportados en Matlab.

Procesamiento Digital de Imgenes con Matlab

Formatos
Formatos de
de imgenes
imgenes
Binaria

Indexada

Intensidad

RGB

Procesamiento Digital de Imgenes con Matlab

Formatos
Formatos de
de imgenes
imgenes
Imagen Binaria: cada punto de la imagen vale 1 0 (blanco o negro).

1100000000
1111000000
1111100000
1111110000
1111110000
1111100000

Procesamiento Digital de Imgenes con Matlab

10

Formatos
Formatos de
de imgenes
imgenes
Imagen de intensidad: imgenes en escala de grises donde el valor
cada pixel equivale al nivel de luminosidad

159
162
182
195
196

Procesamiento Digital de Imgenes con Matlab

160
171
195
211
210

160
164
190
213
215

162
162
172
195
204

159
160
161
164
170

158
158
160
159
160

11

Formatos
Formatos de
de imgenes
imgenes
Imagen RGB: cada punto tiene definido el color mediante 3 valores RGB.

144 208 135

162 079
144 182
179 195
083 190
162 146
252 182
244 195
242 162
253 162 249
182 195 183

Procesamiento Digital de Imgenes con Matlab

12

Formatos
Formatos de
de imgenes
imgenes
Imagen indexada: se define mediante dos matrices.
- matriz de ndices (mxn)
- mapa de colores (col x3)

Procesamiento Digital de Imgenes con Matlab

13

Formatos
Formatos de
de imgenes
imgenes

Procesamiento Digital de Imgenes con Matlab

14

Tipos
Tipos de
de imgenes
imgenes

Rayos X

Procesamiento Digital de Imgenes con Matlab

15

Tipos
Tipos de
de imgenes
imgenes

Tomografa computerizada (CT)

Procesamiento Digital de Imgenes con Matlab

16

Tipos
Tipos de
de imgenes
imgenes

RM de rodilla

Procesamiento Digital de Imgenes con Matlab

17

Tipos
Tipos de
de imgenes
imgenes

Imagen PET

Procesamiento Digital de Imgenes con Matlab

18

Espacios
Espacios de
de color
color
Espacio RGB.
Cada color aparece descompuestos en sus tres componentes
espectrales primarias de rojo, verde y azul.
Combinando distintas intensidades de estos tres colores primarios,
podemos obtener todos los colores visibles.
Es adecuado para la presentacin del color, pero no suele ser
adecuado para la segmentacin debido a la alta correlacin entre
las componentes.
Los dispositivos tpicos que utilizan este espacio son TV y videocmaras, scanners, monitores, vdeo- proyectores, etc.

Procesamiento Digital de Imgenes con Matlab

19

Espacios
Espacios de
de color
color

RGB: Cuando contamos con 8 bits para representar la imagen en


cada canal (R,G,B), se dice que la imagen a color tiene una
profundidad de 24 bits, tambin llamada imagen de color real o de
16 millones de colores, ya que:
(28 )3 = 16,777,216

Este modelo est basado en un sistema de coordenadas


cartesianas.

Procesamiento Digital de Imgenes con Matlab

20

Espacios
Espacios de
de color
color
Espacio CMY (cian-magenta-yellow).

Para imprimir una imagen digital, es


necesario convertir la imagen RGB al
modelo CMY.
Se utiliza en sistemas de impresin.

Procesamiento Digital de Imgenes con Matlab

21

Espacios
Espacios de
de color
color
Espacio de color YIQ.

Se usa en las televisiones comerciales y sistemas de video.

Componente Y = luminancia: medida de la cantidad de energa que


un observador percibe procedente de una fuente luminosa (provee
toda la informacin requerida para una televisin en blanco y
negro).

I, Q = informacin del color.

Ventaja: la luminancia y la informacin del color estn desacopladas


as, la componente de la luminancia puede procesarse sin afectar a
su contenido cromtico.

Procesamiento Digital de Imgenes con Matlab

22

Espacios
Espacios de
de color
color
Espacio de color YIQ.

La conversin de RGB a YIQ es:

Si slo tenemos en cuenta la componente Y de la imagen, lo que


obtenemos es una imagen en escala de grises

Procesamiento Digital de Imgenes con Matlab

23

Espacios
Espacios de
de color
color
Espacio HSI.
El espacio de color HSI representa los valores de tono, saturacin e
intensidad.
Tono (H) - color puro, representa el color dominante tal y como lo
percibimos; cuando decimos que un objeto es rojo, o verde estamos
indicando su tono.

Intensidad (I) representa la iluminacin percibida. Este atributo lo


podemos ver claramente en un televisor en blanco y negro.

Procesamiento Digital de Imgenes con Matlab

24

Espacios
Espacios de
de color
color
Espacio HSI.
Saturacin (S): la saturacin es la cantidad de luz blanca
mezclada con el color dominante. La saturacin es un atributo que
nos diferencia un color intenso de uno plido. Cada uno de los
colores primarios tiene su mayor valor de saturacin antes de ser
mezclados con otros. Por ejemplo, el azul cielo es muy claro
(menos saturado), mientras que el azul marino es ms opaco (ms
saturado). Otro ejemplo, es el color rosa (rojo y blanco) que est
menos saturado; mientras que el color rojo esta totalmente
saturado.
Variedades de saturacin del color rojo.

Procesamiento Digital de Imgenes con Matlab

25

Espacios
Espacios de
de color
color
Espacio HSI.

Los colores se distribuyen en un cono doble.


El ngulo - tono (H)
El radio - la saturacin (S)
La altura -la intensidad (I)

Procesamiento Digital de Imgenes con Matlab

26

Espacios
Espacios de
de color
color
Espacio HSV.
El espacio de color HSV representa los valores de tono, saturacin
y valor.
Tono (H) - color puro (color de la tinta).
Saturacin (S) - degradacin con blanco (claro u oscuro).
Valor (V) - brillo o mate.
V e I representan casi lo mismo. Tanto en HSV como en HSI un valor de 0
representa el color negro. En HSV, un valor mximo en V significa que ese es el
color ms brillante. En HSI, un valor mximo de I significa que el color es el blanco,
independientemente de H y S. El valor ms brillante se encuentra justamente en la
mitad del mximo del posible valor de I.

Procesamiento Digital de Imgenes con Matlab

27

Espacios
Espacios de
de color
color

Espacios Luv y Lab.


Han sido creados para poder medir la diferencia existente entre dos
colores. La diferencia entre dos colores es proporcional a la
distancia geomtrica en el espacio de color.

L: luminosidad.

Procesamiento Digital de Imgenes con Matlab

28

Segmentacin
Segmentacin imgenes
imgenes

Segmentacin: particin de la imagen en un conjunto de regiones


diferentes de forma que cada una de ellas es homognea, pero no
lo es la unin de dos regiones adyacentes cualesquiera, de acuerdo
con un predicado de homogeneidad definido.
La mayora de las tcnicas de segmentacin monocromtica se
pueden aplicar a las imgenes de color.
Seleccionar el espacio de color sigue siendo una dificultad en la
segmentacin de imgenes.

Procesamiento Digital de Imgenes con Matlab

29

Segmentacin
Segmentacin imgenes
imgenes
Modelo RGB es adecuado para la presentacin
del color, pero no suele ser adecuado para la
segmentacin debido a la alta correlacin entre
las componentes.
Transformaciones lineales. (YIQ, YUV,..).
Alta correlacin entre componentes (dependientes
entre ellas y fuertemente asociadas a la intensidad).
Difcil discriminar sombreados y reflejos en imgenes
en color.
Segmentacin en espacio 3-D.

Transformaciones no lineales (HSI, CIE,),


para paliar las anteriores desventajas.
Procesamiento Digital de Imgenes con Matlab

30

Segmentacin
Segmentacin imgenes
imgenes
Transformaciones no lineales (HSI)
El sistema visual humano describe el color de los
objetos por su tono, saturacin y brillo (Gonzlez,
1992).
El espacio HSI separa la informacin de color (tono y
saturacin ) de la informacin de intensidad (brillo),
por lo que ms intuitivo para la visin humana.
Tono es til en los casos de nivel de iluminacin
variable. Tambin invariante a ciertos tipos de reflejos
y sombreados. Segmentacin menos costosa.
Desventaja: Valores del tono cercanos a la
singularidad son numricamente inestables. (H
presenta singularidad cerca del eje del cilindro de
color).
Procesamiento Digital de Imgenes con Matlab

31

Segmentacin
Segmentacin imgenes
imgenes
Umbralizado del histograma.
Mtodos basados en regiones

Crecimiento de regiones.
Particionamiento de regiones.
Tcnicas de fusin.
Tcnicas de particionamiento y fusin.
Segmentacin Watershed.
Tcnicas de agrupamiento (clustering).

Deteccin de bordes.
No es capaz por s misma de segmentar una imagen pero
puede proporcionar informacin til de los lmites de regiones
y/o combinarse con otros mtodos (regiones) para completar la
tarea de segmentacin.

Procesamiento Digital de Imgenes con Matlab

32

Segmentacin
Segmentacin imgenes
imgenes
Tcnicas difusas.
Flexibilidad para el procesamiento de la
incertidumbre en los diferentes niveles de anlisis, de
tal forma que se conserve el mximo de informacin
posible.

Tcnicas basadas en modelos fsicos.


Pensadas para solventar errores en la segmentacin
si los objetos estn afectados por sombras y reflejos
(sobre segmentacin).

Mtodos basados en redes neuronales.


Ampliamente extendidas en reconocimiento de
patrones.
Redes de Hopfield, mapas auto-organizativos
(Kohonen), BP, etc.
Procesamiento Digital de Imgenes con Matlab

33

Segmentacin
Segmentacin imgenes
imgenes
Caractersticas de las imgenes mdicas.
Dificultad existente a la hora de generar informacin
vlida para ser procesada.
Poseen gran cantidad de ruido y una enorme
variabilidad en sus propiedades.
Cada una de ellas se centra en un anlisis
determinado y sus caractersticas son bastante
diferentes unas de otras.
Por ello, el uso de informacin o conocimiento a priori
en el proceso de anlisis puede simplificar la tarea.
Muy frecuente la utilizacin combinada de mtodos
de segmentacin basados en regiones con aquellos
basados en deteccin de bordes.
Procesamiento Digital de Imgenes con Matlab

34

Segmentacin
Segmentacin imgenes
imgenes
Mtodos de segmentacin de imgenes
mdicas.
Umbral de nivel de gris.
Contornos activos. Tcnicas robustas frente a la
presencia de ruido y otros elementos espreos y
permitiendo segmentar imgenes complejas.
Deteccin de bordes.
Crecimiento de regiones.
Segmentacin multiespectral. Clasificacin mediante
anlisis estadsticos multivariables sobre espacio de
caractersticas.
Morfologa matemtica (binario y niveles de grises).
Procesamiento Digital de Imgenes con Matlab

35

Segmentacin
Segmentacin imgenes
imgenes
Conclusiones.
Problema de cmo emplear la informacin del color
en su totalidad para cada pxel (informacin de color
dispersa).
La seleccin del espacio de color para el procesado
de la imagen es dependiente tanto de la aplicacin
como de la imagen.
Los mtodos de segmentacin completamente
automticos todava no satisfacen por completo a los
especialistas. Por ello es destacable el papel que
juega el operador en el proceso de segmentacin.
Esta complejidad junto con la necesidad de
interpretacin basada en el conocimiento, hace que
la segmentacin en medicina produzca en general
peores resultado que en otras.
Procesamiento Digital de Imgenes con Matlab

36

Ruido
Ruido en
en imgenes
imgenes

Restauracin consiste en corregir la degradacin sufrida por una


imagen.
La degradacin de una imagen se puede modelar mediante una
funcin de transformacin lineal y un ruido.

f ( x, y)

Funcin de
degradacin h

g ( x,y)

( x,y)
g ( x, y) =h( x, y) f ( x, y) + ( x, y)
G(u, v) = H (u, v)F (u, v) + N (u, v)
Procesamiento Digital de Imgenes con Matlab

37

Ruido
Ruido en
en imgenes
imgenes

La razn fundamental es el ruido durante la adquisicin y la


transmisin.
El algoritmo de restauracin permite obtener una estimacin de la
imagen original.

g ( x,y)
f ( x,y)

Funcin de
degradacin h

Filtro de
restauracin

f ( x,y)

( x,y)

Cuando el ruido es la nica perturbacin, la degradacin se puede


g ( x, y) = f ( x, y) + ( x, y)
expresar como:

G(u, v) = F (u, v) + N (u, v)


donde y N son desconocidos
Procesamiento Digital de Imgenes con Matlab

38

Ruido:
Ruido: tipos
tipos
Ruido blanco: tiene distribucin uniforme en el dominio
de la frecuencia.
Ruido aleatorio.
Ruido peridico.

(*) Slo en el caso de ruido peridico se puede obtener una buena


estimacin de N a partir de la transformada de Fourier de la imagen.
En los dems casos el filtrado es ms difcil.

Procesamiento Digital de Imgenes con Matlab

39

Ruido:
Ruido: tipos
tipos
Ruido Aleatorio

Gaussian (ruido electrnico).


Rayleigh (relieve).
Erlang, gamma (Laser).
Exponencial (Laser)
Uniforme.
Impulso, salt & pepper (transitorios
rpidos).

Procesamiento Digital de Imgenes con Matlab

40

Ruido:
Ruido: ejemplos
ejemplos

Solo el ruido salt & pepper se identifica a simple vista.

Procesamiento Digital de Imgenes con Matlab

41

Ruido
Ruido

Segmentacin: particin de la imagen en un conjunto de regiones


diferentes de forma que cada una de ellas es homognea, pero no
lo es la unin de dos regiones adyacentes cualesquiera, de acuerdo
con un predicado de homogeneidad definido.
Funcin imnoise de Matlab.
Ruido blanco gaussiano. Proceso estocstico que presenta media
nula, varianza constante y con distribucin.

Ruido Salt & Peper. Se define como ocurrencias aleatorias de


pixeles completamente blancos y completamente negros. Aade el
ruido a la imagen donde d es la densidad del ruido.
Se afecta aproximadamente a los d*num(I) pixeles. Y en la funcin
se define por defecto un valor de d=0,05.

Procesamiento Digital de Imgenes con Matlab

42

Ruido
Ruido
Ruido Salt & Peper

Procesamiento Digital de Imgenes con Matlab

43

Ruido
Ruido
Ruido multiplicativo o Speckle: Se aade el ruido a la
multiplicacin de la imagen por medio de la siguiente
ecuacin:

Donde n es ruido aleatorio de distribucin uniforme con media 0 y


con varianza v. El valor por defecto es v = 0,04.

Procesamiento Digital de Imgenes con Matlab

44

Ruido
Ruido
Ruido peridico: Tpicamente tiene el origen en
interferencias electromagnticas.
Se identifica y elimina por tcnicas basadas en el
dominio de la frecuencia. Se definen filtros en el dominio
de la frecuencia que eliminan determinadas bandas de
frecuencia.

Procesamiento Digital de Imgenes con Matlab

45

Ruido
Ruido

Procesamiento Digital de Imgenes con Matlab

46

Ruido
Ruido

Ruido peridico: Tambin se pueden utilizar filtros para


eliminardeterminadas frecuencias en una direccin dada
(notch filters).

Procesamiento Digital de Imgenes con Matlab

47

Creacin
Creacin aplicacin
aplicacin Matlab
Matlab
Aplicacin creada con Matlab 7 R14 SP2.
Instruccin mcc (MATLAB to C/C++ Compiler).
Desde directorio de trabajo conteniendo todos
los archivos .m, se ejecuta la orden en matlab.
mcc m timed.m (creacin de fichero C y de
ejecutable timed.exe).
Slo necesario compilar archivo principal.

Todos los archivos adicionales que utilice la


aplicacin (.mat, .fig, etc.) debe aadirse al
fichero de instalacin.
Procesamiento Digital de Imgenes con Matlab

48

Creacin
Creacin fichero
fichero instalacin
instalacin
Instalador Inno Setup Compiler 5.3.5.

Procesamiento Digital de Imgenes con Matlab

49

Creacin
Creacin fichero
fichero instalacin
instalacin
Instalador Inno Setup Compiler 5.3.5.

Procesamiento Digital de Imgenes con Matlab

50

Creacin
Creacin fichero
fichero instalacin
instalacin
Instalador Inno Setup Compiler 5.3.5.

Procesamiento Digital de Imgenes con Matlab

51

Instalacin
Instalacin aplicacin
aplicacin
Ejecucin fichero instalacin previamente
creado (setup_softwareTIMED).
Instalacin de Matlab Component Runtime
(fichero MRCInstaler.exe) en la mquina.
Sin importar el directorio de instalacin. Por defecto,
C:\Archivos de program\Mathworks\MATLAB
Component Runtime.

Ejecucin fichero aplicacin (timed.exe).


Espacio en disco necesario.
Aplicacin: X Mbytes.
Libreras: 150 Mbytes.
Procesamiento Digital de Imgenes con Matlab

52

You might also like