Top Banner
Procesamiento Digital de Imágenes con Matlab Tema 1. Introducción al procesamiento digital de imágenes Guillermo Palacios, PhD
52

Curso PDI Con Matlab Tema 1

Aug 18, 2015

Download

Documents

Curso de Tratamiento de Imagenes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Procesamiento Digital de Imgenescon MatlabTema 1. Introduccin al procesamiento digital de imgenesGuillermo Palacios, PhDProcesamiento Digital de Imgenes con Matlab 2ndice de contenidosndice de 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 3IntroduccinIntroduccin 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 4IntroduccinIntroduccin 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 5Formatos grficosFormatos 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 comprimirseempleando varios algoritmos distintos sin perder calidad, y son compatibles con varios espacios de color (Lab, CMYK, RGB, etc.).Procesamiento Digital de Imgenes con Matlab 6Formatos grficosFormatos 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 J PEG. 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 7Formatos grficosFormatos 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 8Formatos grficosFormatos 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 artefactoscaractersticos). 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 9Formatos de imgenesFormatos de imgenesBinaria IndexadaIntensidad RGBProcesamiento Digital de Imgenes con Matlab 10Formatos de imgenesFormatos de imgenes1 1 0 0 0 0 0 0 0 01 1 1 1 0 0 0 0 0 01 1 1 1 1 0 0 0 0 01 1 1 1 1 1 0 0 0 01 1 1 1 1 1 0 0 0 01 1 1 1 1 0 0 0 0 0Imagen Binaria: cada punto de la imagen vale 1 0 (blanco o negro).Procesamiento Digital de Imgenes con Matlab 11Formatos de imgenesFormatos de imgenesImagen de intensidad: imgenes en escala de grises donde el valorcada pixel equivale al nivel de luminosidad159 160 160 162 159 158162 171 164 162 160 158182 195 190 172 161 160195 211 213 195 164 159196 210 215 204 170 160Procesamiento Digital de Imgenes con Matlab 12Formatos de imgenesFormatos de imgenesImagen RGB: cada punto tiene definido el color mediante 3 valores RGB.182195 1182195 1144179 083252 244 242144208 135 162 07990 162 14662253162 249182195 183Procesamiento Digital de Imgenes con Matlab 13Formatos de imgenesFormatos de imgenesImagen indexada: se define mediante dos matrices. - matriz de ndices (mxn)- mapa de colores (col x3)Procesamiento Digital de Imgenes con Matlab 14Formatos de imgenesFormatos de imgenesProcesamiento Digital de Imgenes con Matlab 15Tipos de imgenesTipos de imgenes Rayos XProcesamiento Digital de Imgenes con Matlab 16Tipos de imgenesTipos de imgenes Tomografa computerizada (CT)Procesamiento Digital de Imgenes con Matlab 17Tipos de imgenesTipos de imgenes RM de rodillaProcesamiento Digital de Imgenes con Matlab 18Tipos de imgenesTipos de imgenes Imagen PETProcesamiento Digital de Imgenes con Matlab 19Espacios de colorEspacios de colorEspacio RGB. Cada color aparece descompuestos en sus tres componentesespectrales 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 video-cmaras, scanners, monitores, vdeo- proyectores, etc. Procesamiento Digital de Imgenes con Matlab 20Espacios de colorEspacios de 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 de16 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 21Espacios de colorEspacios de colorEspacio 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 22Espacios de colorEspacios de colorEspacio 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 23Espacios de colorEspacios de colorEspacio de color YIQ. La conversin de RGB a YIQ es: Si slo tenemos en cuenta la componente Y de la imagen, lo queobtenemos es una imagen en escala de grisesProcesamiento Digital de Imgenes con Matlab 24Espacios de colorEspacios de colorEspacio 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 25Espacios de colorEspacios de colorEspacio 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 estmenos saturado; mientras que el color rojo esta totalmente saturado. Variedades de saturacin del color rojo.Procesamiento Digital de Imgenes con Matlab 26Espacios de colorEspacios de colorEspacio 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 27Espacios de colorEspacios de colorEspacio 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 28Espacios de colorEspacios de 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 29Segmentacin imgenesSegmentacin 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 30Segmentacin imgenesSegmentacin 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 31Segmentacin imgenesSegmentacin 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 iluminacinvariable. Tambin invariante a ciertos tipos de reflejosy 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 32Segmentacin imgenesSegmentacin 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 33Segmentacin imgenesSegmentacin 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 34Segmentacin imgenesSegmentacin 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 35Segmentacin imgenesSegmentacin 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 36Segmentacin imgenesSegmentacin 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 37Ruido en imgenesRuido en 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) g ( x,y)+( x,y)g ( x, y) =G(u, v) =h( x, y) f ( x, y) + ( x, y)H (u, v)F (u, v) + N (u, v)Funcin de degradacin hProcesamiento Digital de Imgenes con Matlab 38Ruido en imgenesRuido en 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. Cuando el ruido es la nica perturbacin, la degradacin se puede expresar como:g ( x,y)f( x,y)f ( x,y)+( x,y)Filtro de restauracinFuncin de degradacin hg ( x, y) =G(u, v) =f ( x, y) + ( x, y)F (u, v) + N (u, v)donde y N son desconocidosProcesamiento Digital de Imgenes con Matlab 39Ruido: tiposRuido: 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 40Ruido: tiposRuido: tiposRuido Aleatorio Gaussian (ruido electrnico). Rayleigh (relieve). Erlang, gamma (Laser). Exponencial (Laser) Uniforme. Impulso, salt & pepper (transitorios rpidos).Procesamiento Digital de Imgenes con Matlab 41Ruido: ejemplosRuido: ejemplos Solo el ruido salt & pepper se identifica a simple vista.Procesamiento Digital de Imgenes con Matlab 42RuidoRuido 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 43RuidoRuido Ruido Salt & PeperProcesamiento Digital de Imgenes con Matlab 44RuidoRuido 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 media0y con varianza v. El valor por defecto es v = 0,04.Procesamiento Digital de Imgenes con Matlab 45Ruido 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 46Ruido Ruido Procesamiento Digital de Imgenes con Matlab 47Ruido Ruido Ruido peridico: Tambin se pueden utilizar filtros para eliminardeterminadas frecuencias en una direccin dada (notch filters).Procesamiento Digital de Imgenes con Matlab 48Creacin aplicacin MatlabCreacin aplicacin 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 mtimed.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 49Creacin fichero instalacinCreacin fichero instalacin Instalador Inno Setup Compiler 5.3.5. Procesamiento Digital de Imgenes con Matlab 50Creacin fichero instalacinCreacin fichero instalacin Instalador Inno Setup Compiler 5.3.5. Procesamiento Digital de Imgenes con Matlab 51Creacin fichero instalacinCreacin fichero instalacin Instalador Inno Setup Compiler 5.3.5. Procesamiento Digital de Imgenes con Matlab 52Instalacin aplicacinInstalacin aplicacin Ejecucin fichero instalacin previamentecreado (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.