Sistemas de Percepción (Práctica 1: Análisis de Sensores Visuales con Matlab) Escuela Técnica Superior de Ingenieros Industriales Universidad de Las Palmas de Gran Canaria I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Ficheros de Imágenes IMÁGENES BITMAP (raster images) IMÁGENES VECTOR Aunque se representen los puntos clave de un vector se presenta como una imagen bitmapped denominada rendering. I(r,c) (r2,c2) row (r1,c1) column (r3,c3) I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Ficheros de Imágenes •PGM (Portable Grey MAP) Es el más simple pertenece a la familia PBM (portable bit map, PBM/PGM, PPM). La cabecera de imagen e información de los pixels en ASCII Magic Value P2-> Valores de gris en ASCII P4 -> Valores binarios en ASCII I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Ficheros de Imágenes •GIF (Graphics Interchange Format) Limitado a 8 bits/pixel para color y gray-scale 8-bit index RED 0 R0 GREEN BLUE G0 B0 R1 R2 G1 G2 B1 B2 254 R254 G254 B254 255 R255 G255 B255 1 2 I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Ficheros de Imágenes •TIFF (Tagged Image File Format) • Más general que GIF • Permite 24 bits/pixel • Soporta 5 tipos de compresión de imágenes: - RLE (Run length encoding) - LZW (Lempel-Ziv-Welch) - JPEG (Joint Photographic Experts Group) I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Ficheros de Imágenes Los ficheros de imágenes normalmente incluyen la siguiente información: • Cabecera o Número de filas (alto) o Número de columnas o Número de bandas o Tipo de fichero o Tipo de compresión • Datos de la Imagen I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Ficheros de Imágenes info = imfinfo (FILENAME,FMT) devuelve una estructura cuyos campos contienen información de la imagen en un fichero • Campos de info (9) 9 Filename A string containing the name of the file; if the file is not in the current directory, the string contains the full pathname of the file 9 9 9 FileModDate FileSize Format A string containing the modification date of the file An integer indicating the size of the file in bytes A string containing the file format, as specified by FMT; for JPEG and TIFF files, the three-letter variant is returned 9 9 9 9 9 FormatVersion A string or number specifying the file format version Width An integer indicating the width of the image in pixels Height An integer indicating the height of the image in pixels BitDepth An integer indicating the number of bits per pixel ColorType A string indicating the type of image; either 'truecolor' for a truecolor (RGB) image, 'grayscale' for a grayscale intensity image, indexed image I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería or 'indexed', for an Matlab Formatos de Ficheros de Imágenes (MATLAB) RGB = imread(‘test.tif’); imwrite(RGB,‘test.bmp'); • Ficheros Soportados por MATLAB: 9BMP (Microsoft Windows Bitmap) 9HDF (Hierarchical Data Format) 9JPEG (Joint Photographic Experts Group) 9PCX (Paintbrush) 9PNG (Portable Network Graphics) 9TIFF (Tagged Image File Format) 9XWD (X Window Dump) Matlab I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Manejo de secuencias de vídeo Podemos trabajar con vídeos MPEG en Matlab 5.3 con las funciones mpgread y mpgwrite: M=mpgread('light1.mpeg’,[],’indexed’); movie(M); M es un array de estructuras con los campos: cdata = imagen indexada tipo uint8 colormap = mapa de color asociado La WebCam USB graba vídeos AVI. Podemos convertir de AVI a MPEG con la utilidad IrfanView. I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Imágenes (MATLAB) Formatos manejados por MATLAB • Indexed Images • Intensity Images • Binary Images • RGB Images • Multiframe I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Imágenes Formatos manejados por MATLAB: Indexed Images Una imagen indexada consiste en una matriz de datos “X” y una matriz de correspondencia de colores (colormap) “map”. Esta matriz es un array m x 3 de valores en punto flotante en el intervalo [0,1] I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Imágenes Formatos manejados por MATLAB: Intensity Images •Una imagen de intensidades es una matriz de datos “I” cuyos valores representan intensidades en algún rango I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Imágenes Formatos manejados por MATLAB: Binary Images •Una imagen binaria se almacena como una matriz bidimensional de ceros y unos I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Imágenes Formatos manejados por MATLAB: RGB Images •Una imagen RGB (“truecolor” image) se almacena en MATLAB como un array de datos mxnx3 que definen las componentes r,g,b para cada pixel. Las imágenes RGB no utilizan paleta. I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Formatos de Imágenes Formatos MATLAB: Multiframe Image Arrays • Para ciertas aplicaciones se necesita trabajar con colecciones de imágenes relacionadas con el tiempo (Resonancia Magnética o Películas) o con proyecciones •Cada imagen separada se denomina “frame”. Si un array contiene múltiples frames se concatenan a lo largo de la cuarta dimensión •P.E., un grupo de imágenes A1, A2, A3, A4, A5, se pueden almacenar en un solo array A = cat(4,A1,A2,A3,A4,A5) Para extracción tercer frame Æ FRM3 = MULTI(:,:,:,3) I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Tipos de Datos (MATLAB) • Por defecto MATLAB almacena sus datos como arrays de doble precision (double, 64-bit) floating-point • Para reducir los requerimientos de memoria MATLAB permite el almacenamiento de datos de imágenes en arrays de tipo uint8 y uint16. El dato se almacena como enteros sin signo de 8 ó 16 bits. • Ojo con las operaciones, MATLAB suministra funciones de conversión (im2double, im2uint8, im2uint16) I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Utilidades MATLAB para análisis de imágenes I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Utilidades MATLAB para análisis de imágenes I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Utilidades MATLAB para análisis de imágenes I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Utilidades MATLAB para análisis de imágenes I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Utilidades MATLAB para análisis de imágenes I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Utilidades (MATLAB) Más Posibilidades ..... • Image types • • • • Working with image data Displaying images Geometric Operations Neighbourhood and block processing Transforms Analyzing and enhancing images Color • • • I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Lab 1: Manipulación de Imágenes Problemas I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería Lab1: (Materiales y Documentación) Material: a) MATLAB 5.3 o superior, Image Processing Toolbox b) PC WinXX c) WebCam (USB) Recursos On-line: a) MATLAB: www.mathworks.com b) Página Asignatura: http://serdis.dis.ulpgc.es/~ieq-sp Referencias de interés: a) [Son99] Sonka M., Hlavac V., Boyle V. , “ Image Processing, Analysis and Machine Vision”, Chapman & Hall Computing, 2ª ed. 1.999. b) [Tru98] Trucco E., Verri A. "Introductory Techniques for 3D Computer Vision", Prentice Hall, 1.998 I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería ! Hasta la Próxima ¡ I.U. Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería