`
beike
  • 浏览: 356598 次
社区版块
存档分类
最新评论

Bmp 标准

阅读更多

工具软件:工具软件:Hex   Workshop   或   UltraEdit  
  首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856   3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。 在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。  
  424D   4690   0000   0000   0000   4600   0000   2800   0000   8000   0000   9000   0000   0100*1000   0300   0000   0090   0000   A00F   0000   A00F   0000   0000   0000   0000   0000*00F8   0000   E007   0000   1F00   0000   0000   0000*02F1   84F1   04F1   84F1   84F1   06F2   84F1   06F2   04F2   86F2   06F2   86F2   86F2  
  ......  
  BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。  
  一、图像文件头  
  1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP格式。  
  2)2-3:整个文件大小。4690   0000,为00009046h=36934。  
  3)4-5:保留,必须设置为0。  
  4)6-7:从文件开始到位图数据之间的偏移量。4600   0000,为00000046h=70,上面的文件头就是35字=70字节。  
  5)8-9:位图图信息头长度。  
  6)10-11:位图宽度,以像素为单位。8000   0000,为00000080h=128。  
  7)12-13:位图高度,以像素为单位。9000   0000,为00000090h=144。  
  8)14:位图的位面数,该值总是1。0100,为0001h=1。  
  二、位图信息头  
  9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。T408支持的是16位格式。1000为0010h=16。  
  10)16-17:压缩说明:有0(不压缩),1(RLE   8,8位RLE压缩),2(RLE   4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字 节表示一个像素,位域分配为r5b6g5。图中0300   0000为00000003h=3。  
  11)18-19:用字节数表示的位图数据的大小,该数必须是4的倍数,数值上等于位图宽度×位图高度×每个像素位数。0090   0000为00009000h=80×90×2h=36864。  
  12)20-21:用象素/米表示的水平分辨率。A00F   0000为0000   0FA0h=4000。  
  13)22-23:用象素/米表示的垂直分辨率。A00F   0000为0000   0FA0h=4000。  
  14)24-25:位图使用的颜色索引数。设为0的话,则说明使用所有调色板项。  
  15)26-27:对图象显示有重要影响的颜色索引的数目。如果是0,表示都重要。  
  三、彩色板  
  16)28-35:彩色板规范。对于调色板中的每个表项,用下述方法来描述RGB的值:  
  1字节用于蓝色分量    
  1字节用于绿色分量    
  1字节用于红色分量    
  1字节用于填充符(设置为0)  
  对于24-位真彩色图像就不使用彩色表,因为位图中的RGB值就代表了每个象素的颜色。但是16位r5g6b5位域彩色图像需要彩色表,看前面的图,与上面的解释不太对得上,应以下面的解释为准。  
  图中彩色板为00F8   0000   E007   0000   1F00   0000   0000   0000,其中:  
  00FB   0000为FB00h=1111100000000000(二进制),是红色分量的掩码。  
  E007   0000为   07E0h=0000011111100000(二进制),是绿色分量的掩码。  
  1F00   0000为001Fh=0000000000011111(二进制),是红色分量的掩码。  
  0000   0000总设置为0。  
  将掩码跟像素值进行“与”运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、 6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储 器(同样要反序),就可以转换为24位标准BMP格式了。  
  四、图像数据阵列

分享到:
评论

相关推荐

    lena.bmp标准测试图像

    做实验经常用到的经典光学图像lena.bmp格式,分辨率512*512,大小为470KB,适用于图像处理,方便实用

    29张标准测试图像,bmp图像

    29张标准测试图像,bmp图像,可以用来做图像处理

    BMP图片格式说明

    BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件...

    c语言显示位图ShowBMP

    标准c显示bmp useage: showbmp jjw.bmp 在DOS命令行下输入:showbmp jjw.bmp就可以显示图形了 注意: 1.图形要是8位或24位的bmp图象,否则不能显示 2.本程序已经编译通过,但是显示图形的时候有点慢,毕竟是边转换边...

    stm32f103的bmp图片显示

    BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP...

    BMP280海拔气压传感器STM32代码,支持二次开发

    BMP280海拔气压传感器STM32代码,支持二次开发

    C实现将BMP文件转base64编码

    基于C/C++实现的将标准BMP格式图片,转换成标准base64编码文件

    BMP388代码和资料.zip

    BMP388数据手册以及stm32代码,用的官方标准库以及模拟IIC协议,容易移植,点击本人主页有相关教程

    STM32实现气压传感器测量(BMP180)

    STM32实现气压传感器测量(BMP180) 四种方式实现大气压采集 1)标准库模拟IIC实现气压值采集; 2)标准库硬件IIC实现气压值采集; 3)HAL库模拟IIC实现气压值采集; 4)HAL库硬件IIC实现气压值采集。 博客地址...

    标准测试图像(含lena,boboon等bmp,tiff,jpg图像

    标准测试图像(含lena,boboon等bmp,tiff,jpg图像

    气压传感器BMP180驱动-基于STM32 prj_BMP180.rar

    BOSCH博世气压传感器BMP180驱动--基于STM32F103,成功上板验证,标准IIC接口时序,通过串口打印气压数据。

    BMP图像文件格式介绍

    BMP文件格式是微软公司为其Windows环境设置的标准图像格式,Windows环境下运行的所有图像处理软件都支持BMP图像文件格式,Windows系统内部各图像绘制操作都是以BMP为基础. 这份资料详细介绍了BMP图像文件格式

    LabVIEW非标准bmp转png格式

    LabVIEW非标准bmp转png格式

    BMP1_熵_bmp图像计算_

    编程实现对bmp图像最大值,最小值,标准差,熵,各灰度值频率的计算

    bmp 真彩色转灰度

    BMP图像文件的操作,编写C++程序,可以将一个标准24bit真彩色BMP文件中三基色图像提取出来存成独立的8bit灰度图像(BMP)

    BMP测试图片及显示源码

    BMP测试图片及显示源码,Linux测试代码,附带标准测试图片。

    BMP读取与显示

    此程序用以 教学 读取各种类型的 BMP 图片,并设计了一些关于 BMP 读取的类与函数,并附有 各种标准的 BMP 图片 作为样例进行测试。程序自文档化,学院派风格,可读性强,推荐在学习BMP格式的同学借鉴。

    BMP 转 RGB YUV 工具

    将标准BMP24的图像 一次性生成 RGB32 RGB24 RGB16 GRAY RGB4444 RGB5551 YUV422 YUV444COM YUV444SEP YUV420 Y_UV22 Y_UV20 YUV422SEP 等格式的二进制文件 是制作UI和测试LCDC的好工具 Y_UV20 为simi planar 即...

    BMP位图文件的解析 实验代码

    读取一个标准的24位真彩色BMP文件,然后转化为灰色图像,最后存储为8位BMP文件。

    STM32F411CEU6_BMP280驱动压高度源码.rar

    STM32F411CEU6_BMP280驱动压高度源码,为标准库

Global site tag (gtag.js) - Google Analytics