martes, 24 de julio de 2012

Formato BPM

.BMP es el formato propio del programa, que viene con el sistema operativo Windows. Es posible guardar imágenes de 24 bits (16,7 millones de colores), 8 bits (256 colores) y menos.
A este tipo de archivos puede hacérsele una compresión sin pérdida de calidad: este tipo de compresión es llamada RLE o por sus siglas en ingles(Run-length encoding).
El formato BMP es uno de los más simples. Fue desarrollado por Microsoft e IBM en forma conjunta, lo que explica su uso amplio uso en plataformas Windows y OS/2. Los archivos con formato .BMP, en sistemas operativos Windows, representan la sigla BitMaP (o también Bit Mapped Picture), o sea mapa de bits. Un archivo BMP, es un archivo de imagen de gráficos, con píxeles almacenados en forma de tabla de puntos que administra los colores como colores reales o usando una paleta indexada.


Imagen tomada de http://disenodepresentaciones.wordpress.com

Imagen tomada de http://4.bp.blogspot.com

Los mapas de bits están compuestos por direcciones en las cuales están presentes códigos de color, uno para cada cuadro en la matriz pixelada. Con esto podemos decir que a mayor cantidad de pixeles la imagen podrá tener una mayor calidad y nitidez. Al aplicar un zoom y verlos en una escala mayor la imagen pierde calidad, por el contrario si se observa en una escala menor se persibe un aumento en la calidad de la misma. No son comúnmente utilizados en paginas web debebido a su gran tamaño en relación con su resolución.
Debido a su gran peso generalmente son trasformados a otros formatos como JPEG, GIF o PNG los cuales utilizan algoritmos para conseguir una mayor compresión.

A continuación se detalla la estructura de la cabecera de un fichero .BMP

Bytes
Información
0, 1
Tipo de fichero "BM"
2, 3, 4, 5
Tamaño del archivo
6, 7
Reservado
8, 9
Reservado
10, 11, 12, 13
Inicio de los datos de la imagen
14, 15, 16, 17
Tamaño de la cabecera del bitmap
18, 19, 20, 21
Anchura (píxels)
22, 23, 24, 25
Altura (píxels)
26, 27
Número de planos
28, 29
Tamaño de cada punto
30, 31, 32, 33
Compresión (0=no comprimido)
34, 35, 36, 37
Tamaño de la imagen
38, 39, 40, 41
Resolución horizontal
42, 43, 44, 45
Resolución vertical
46, 47, 48, 49
Tamaño de la tabla de color
50, 51, 52, 53
Contador de colores importantes
El Bitmap de una imagen .BMP comienza a leerse desde abajo a arriba, es decir: en una imagen en 24 bits los primeros 3 bytes corresponden al primer píxel inferior izquierdo.





ESTRUCTURAS
imagen tomada de http://quito.olx.com.ec/
Encabezado del archivo
El encabezado del archivo proporciona información acerca del tipo de archivo (mapa de bits) y su tamaño, así como también indica dónde comienza realmente la información de la imagen.
El encabezado comprende cuatro campos:
·         La firma (en 2 bytes), que indica que se trata de un archivo BMP con dos caracteres
·         BM424D en hexadecimal, que indica que se trata de un mapa de bits de Windows
·         BA que indica que se trata de un mapa de bits OS/2
·         CI que indica que se trata de un icono de color de OS/2
·         CP indica que es un puntero de color de OS/2
·         IC indica que es un icono de OS/2
·         PT indica que es un puntero de OS/2
·         El tamaño total del archivo en bytes (codificado en 4 bytes)
·         Un campo reservado (en 4 bytes)
·         El desajuste de la imagen (en 4 bytes), es decir, la ubicación del comienzo de la información de la imagen en relación con el comienzo del archivo
Encabezado de información del mapa de bits
El encabezado de información del mapa de bits proporciona información acerca de la imagen, en especial las dimensiones y los colores.
La información del mapa de bits comprende cuatro campos:
·         El tamaño del encabezado de información del mapa de bits en bytes (codificado en 4 bytes). Los siguientes valores hexadecimales son posibles según el tipo de formato BMP:
·         28 para Windows 3.1x, 95, NT
·         0C para OS/2 1.x
·         F0 para OS/2 2.x
·         El ancho de la imagen (en 4 bytes), es decir, el número de píxeles contados de forma horizontal
·         La altura de la imagen (en 4 bytes), es decir, el número de píxeles contados de forma vertical
·         El número de planos (en 2 bytes). Este valor es siempre 1
·         La profundidad del modelo de color (en 2 bytes), es decir, el número de bits usados para codificar el color. Este valor puede ser equivalente a 1, 4, 8, 16, 24 ó 32
·         El método de compresión (en 4 bytes). Este valor es 0 cuando la imagen no está comprimida o 1, 2 ó 3 según el tipo de compresión usado:
·         1 para la codificación RLE de 8 bits por píxel
·         2 para la codificación RLE de 4 bits por píxel
·         3 para la codificación de campo de bits, lo que significa que el color fue codificado por una máscara triple representada por la paleta
·         El tamaño total de la imagen en bytes (en 4 bytes).
·         La resolución horizontal (en 4 bytes), es decir, el número de píxeles por metro contado de forma horizontal
·         La resolución vertical (en 4 bytes), es decir, el número de píxeles por metro contado de forma vertical
·         El número de colores de la paleta (en 4 bytes)
·         El número de colores importantes de la paleta (en 4 bytes). Este campo puede equivaler a 0 cuando todos los colores son importantes.
Paleta de imágenes
La paleta es opcional. Cuando se define la paleta, ésta contiene 4 bytes de forma sucesiva para cada una de las entradas, que representan:
·         El componente azul (en un byte)
·         El componente verde (en un byte)
·         El componente rojo (en un byte)
·         Un campo reservado (en un byte)


Codificación de imágenes
La codificación de imágenes se realiza escribiendo en forma sucesiva los bits que corresponden a cada píxel, línea por línea, comenzando por el píxel del extremo inferior izquierdo.
·         Las imágenes de 2 colores usan 1 bit por píxel, lo que significa que un byte permite codificar 8 píxeles
·         Las imágenes de 16 colores usan 4 bits por píxel, lo que significa que un byte permite codificar 2 píxeles
·         Las imágenes de 256 colores usan 8 bits por píxel, lo que significa que se necesita un byte para codificar cada píxel
·         Las imágenes de colores reales usan 24 bits por píxel, lo que significa que se necesitan 3 bytes para codificar cada píxel, respetando la alternancia del orden de los colores para el azul, el verde y el rojo.
Cada línea de la imagen debe comprender un número total de bytes que sea múltiplo de 4; si este esquema no se cumple, la línea se debe completar con todos los 0 necesarios para respetar el criterio. 


BIBLIOGRAFIA

No hay comentarios:

Publicar un comentario