Imágenes digitales y su almacenamiento en la computadora La mayoría de las imágenes que trataremos en esta primer parte del curso serán imágenes en blanco y negro, también conocidas como imágenes en tonos de gris, o imágenes monocromáticas. Para representar un pixel de una imagen en blanco y negro, regularmente se usa un byte por pixel. Esto implica que el máximo valor que puede tomar el pixel es 255, y el mínimo es cero. Las imágenes de color, ocupan un espacio de memoria tres veces mayor al que ocupa una imagen en blanco y negro. Esto se debe a que la imagen de color guarda información sobre los tres canales RGB. Es decir tiene una imagen roja, una verde, y otra azul. Cada canal de color asigna un byte por pixel. También existen las imágenes binarias que se representan por “dos colores”, blanco y negro. Las imágenes binarias ocupan un bit por pixel. Cualquier imagen puede ser reducida a una imagen binaria. La calidad de la imagen se reduce al binarizar. El mecanismo para obtener una imagen binaria a partir de una imagen de color es el siguiente. Primero se hace una transformación de la imagen de color a una de blanco y negro. Finalmente la imagen monocromática se reduce a una imagen binaria. Existen varios algoritmos para realizar el último proceso, entre ellos están: “ditherinng”, halftonning”, “error de difusión”, el proceso no es invertible. Para almacenar un dato en el disco duro de la computadora existen dos formas, la forma asccii y la binaria. Los tres formatos que usaremos a lo largo del curso, consideran ambas opciones para el almacenamiento de los datos. . La opción ascii, es inconveniente porque ocupa un espacio mayor en el disco duro, sin embargo es portable a cualquier plataforma. Notar que el identificador del formato es diferente en cada caso. Formato *.pgm. El primer formato que analizaremos es el formato pgm, éste se usa para guardar imágenes en blanco y negro. La estructura para almacenar imágenes usando código binario –imágenes raw- es la siguiente: P5 # comentario, esta imagen fue creada por 900 systems corporation. B #Puede llevar varios comentarios, P5 se usa para B/W de tipo raw Columnas Renglones Máximo-de-pixel &%!”#/()&%$”#!&”/””?¡?=)(/&%&$!#!#”%””&&” … etc La estructura para el formato que usa código ascii es el siguiente: P2 # comentario, esta imagen fue creada por 900 systems corporation. #Puede llevar varios comentarios, P2 se usa para B/W en asccii Columnas Renglones Máximo-de-pixel 255 34 45 233 122 23 45 56 67 87 98 67 45 123 134 156 178 189 198 185 192 190 102 104 105 106 107 108 106 179 201 255 249 239 etc Formato *.ppm. El formato *.ppm, permite guardar imágenes de color. El orden en que están almacenados los pixeles es el siguiente RGB RGB RGB. En el caso binario, el byte que ocupa la posición 3n corresponde al color rojo, el que ocupa la posición 3n+1 al verde y el que ocupa la posición 3n+2 al azul. La estructura para el caso binario es la siguiente: P6 # comentario, esta imagen fue creada por 900 systems corporation. #Puede llevar varios comentarios, P6 es para imágenes de color y en raw Columnas Renglones Máximo-de-pixel &%!”#/()&%$”#!&”/””?¡?=)(/&%&$!#!#”%””&&” La estructura para el caso ascii se ve asi: P3 # comentario, esta imagen fue creada por 900 systems corporation. #Puede llevar varios comentarios,P3 es para imágenes de color en ascii Columnas Renglones Máximo-de-pixel 255 34 45 233 122 23 45 56 67 87 98 67 45 123 etc Formato *.pbm. El formato pbm se usa para almacenar imágenes binarias obtenidas por medio de “dithering” a partir de una imagen de color o blanco y negro. La siguiente es la estructura para el caso binario. P4 # comentario, esta imagen fue creada por 900 systems corporation. #Puede llevar varios comentarios, P4 se usa para de imágenes binaria raw Columnas Renglones &%!”#/()&%$”#!&”/””?¡?=)(/&%&$!#!#”%””&&” La estructura para el archivo en ascii es la siguiente: P1 # comentario, esta imagen fue creada por 900 systems corporation. #Puede llevar varios comentarios, P1 se usa para imágenes binarias ascii Columnas Renglones 00011100000000000000000001111110000000 Convención para el desplegado. Los formatos anteriores tienen la convención de asignar la intensidad mayor al valor 255, y la intensidad cero al valor de pixel cero. Sin embargo es posible modificar esta convención e invertir el orden. Los formatos anteriores se usan para imágenes que ocupan, un byte por pixel. Por lo tanto se establece una relación uno a uno entre valor de pixel y valor de intensidad, también llamado nivel de gris. Esto da origen al hecho de que algunos autores se refieran al valor del pixel como valor de gris, sin embargo no en todos los casos esto es valido. Frecuentemente se usa la relación lineal para mapear los valores de pixel a valores de intensidad. Dicha relación también puede ser modificada de acuerdo a las características y origen de los datos. Orden de los bytes. Algunos instrumentos proporcionan imágenes con un intervalo dinámico muy amplio. En esos casos, los datos se guardan en dos bytes. Cuando este sea el caso, el usuario deberá de tener en mente, si los datos fueron creados en un procesador intel o en un procesador motorola. El orden de empaquetar los bytes de números enteros es diferente, por lo tanto puede proporcionar errores.