Sei sulla pagina 1di 4

Procesamiento Digital de Imagenes

Tarea1 Leer un archivo BMP con color indexado de 8-bits


Ramiro De Santiago Lopez 17/09/2013

1.

Introduccion

Segun [1] una imagen en mapa de bits, tambin conocida como imagen matricial, bitmap, raster image o extensin .bmp (estos dos tomados del ingls), o imagen rster (un calco del ingls), es una estructura o chero de datos que representa una rejilla rectangular de pxeles o puntos de color, denominada matriz, que se puede visualizar en un monitor, papel u otro dispositivo de representacin. A las imgenes en mapa de bits se las suele denir por su altura y anchura (en pxeles) y por su profundidad de color (en bits por pxel), que determina el nmero de colores distintos que se pueden almacenar en cada punto individual, y por lo tanto, en gran medida, la calidad del color de la imagen.[1].

2.

Desarrollo

Esta practica tiene como objetivo conocer la estructura interna de una imagen bmp con color indexado de 8 bits, apoyandose de MATLAB como lenguaje de programacion para la lectura de imagenes bmp. Los objetivos especicos son los siguientes: 1. Hacer una funcin en MATLAB llamada readbmp.m que lea un archivo BMP que contenga una imagen de 8-bits. 2. Hacer un programa principal que llame a la funcin readbmp.m para leer las imgenes de prueba.

La direccion web [4] proporciona el centro de documentacion sobre MATLAB, asi que se ha apoyado en esta pagina web para la consulta de la mayoria de las intrucciones que se usaron en esta practica. La funcion redbmp( enme) recibe como parametro el nombre con extension del archivo que se quiere abrir. A continuacion se presenta parte del codigo de esta funcion. function I = readbmp( filename ) I=0; if exist(filename, file) == 2 ... ... else warning(MATLAB:fileNotFound, ... El archivo no existe: %s, filename); end En el codigo anterior se lee un archivo y se determina si exsite, de lo contrario se envia un mensaje de alerta informado sobre el error. Una vez que se valida correctamente la imagen bmp, la estructura de dicha imagen es cargada en un vector columna, el cual contiene todos los atributos de esta, es por esto que se tiene que porcesar cada atributo del vector para poder identicar las caracteristicas de dicha imagen, la siguiente tabla (tomada de [2]) muestra las principales propiedades necesarias para reconstruir la imagen a partir del vector columna previamente cargado en memoria.

Figura 1). Propiedades de imagenes bmp. En [5] se presenta el codigo escrito en MATLAB para obtener las pripiedades de la tabla anterior y asi poder contruir la matriz que representa la imagen ya sea imagen 2

en color o en escala de grises. A continuacion se muestra la manera de como usar la funcion redbmp() para visualizar una imagen bmp. %matriz de imagen a escala de grises mandrilGris=readbmp(mandril_8bits_gray.bmp); %matriz de imagen a color mandrilColor=readbmp(mandril_8bits_color.bmp); %grafico la imagen a escala de grises y le asigno titulo subplot(1,2,1); imshow(mandrilGris); title(Mandril Gris); %grafico la imagen a color y le agino un titulo. subplot(1,2,2); imshow(mandrilColor); title(Mandril Color) En la siguiente imagen se muestra la salida de dicho programa.

Figura 2). Salida del proograma.

3.

Concluciones

La estructura interna de un archivo *.bmp puede ser facilmente interpretada mediante MATLAB ya que este es un lenguaje de alto nivel el cual permite la manipulacion de matrices, entre otras cosas. Es util comprender la estructura interna de los archivos, ya que asi se puede entender mejor su funcionamiento, ademas de implementar tecnicas mas ecientes para el uso y modicacion de estos. 3

Referencias
[1] Imagen de mapa de bits. Wikipedia. http://es.wikipedia.org/wiki/Imagen_de_mapa_de_bits [2] Clase02_PDI_2013.pdf; Dr. Winfrido Gmez Flores; Cinvestav-Tamaulipas. 2013. [3] Microsoft Forum. http://social.msdn.microsoft.com/Forums/en-US/f5246783c192-407c-9b72-065f31e471ea/padding-byte-problem-when-i-read-4-bytebitmap. [4] MathWorks, Documentation Center. http://www.mathworks.com/help/ [5] Archivo readbmp.m