bmp文件研究

本文详细解读了BMP图像文件结构,包括BITMAPFILEHEADER和BITMAPINFOHEADER的内容,以及3×3黑白图片的像素布局和DIB数据区的字节解析。重点介绍了位深度、颜色编码和填充字节的处理。
摘要由CSDN通过智能技术生成

BMP图片结构
  
BMP图像
  42 4D 5A 00 00 00 00 00 00 00 36 00 00 00 28 00
  00 00 03 00 00 00 03 00 00 00 01 00 18 00 00 00
  00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 FF FF FF 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 FF FF FF 00 00 00
  图像是3×3的,左下和右上两个象素为白色,其余均为黑色
  42 4D 是BITMAPFILEHEADER结构体的bfType,这两个字节是固定的"BM",表示该文件是bmp文件。
  5A 00 00 00 表示bmp文件的大小,是BITMAPFILEHEADER结构体的bfSize,由于内存高低位颠倒,所以文件大小为&H0000005A=90字节。
  00 00 是BITMAPFILEHEADER结构体的bfReserved1,无意义。
  00 00 是BITMAPFILEHEADER结构体的bfReserved2,无意义。
  36 00 00 00 表示DIB数据在文件中的偏移量,是BITMAPFILEHEADER结构体的bfOffBits,由于内存高低位颠倒,所以DIB偏移量为&H00000036=54字节。
  BITMAPFILEHEADER结构体结束,总共14字节,下面是BITMAPINFOHEADER结构体。
  28 00 00 00 是BITMAPINFOHEADER结构体的biSize,由于内存高低位颠倒,所以BITMAPINFOHEADER结构体大小为&H00000028=40字节。
  03 00 00 00 是BITMAPINFOHEADER结构体的biWidth,表示bmp文件的宽度,由于内存高低位颠倒,所以bmp文件宽度为&H00000003=3像素。
  03 00 00 00 是BITMAPINFOHEADER结构体的biHeight,表示bmp文件的高度,由于内存高低位颠倒,所以bmp文件高度为&H00000003=3像素。
  01 00 是BITMAPINFOHEADER结构体的biPlanes,表示bmp表示的平面数,显然只有一个平面,该值恒为1,由于内存高低位颠倒,所以平面数为&H0001=1。
  18 00 是BITMAPINFOHEADER结构体的biBitCount,表示bmp图片的颜色位数,由于内存高低位颠倒,所以颜色位数为&H0018=24位色。
  00 00 00 00 是BITMAPINFOHEADER结构体的biCompression,全为0表示图片未压缩。
  24 00 00 00 是BITMAPINFOHEADER结构体的biSizeImage,表示DIB数据区的容量大小,由于内存高低位颠倒,所以DIB大小为&H00000024=36字节。
  00 00 00 00 是BITMAPINFOHEADER结构体的biXPelsPerMeter,表示图片X轴每米多少像素,可省略不写。
  00 00 00 00 是BITMAPINFOHEADER结构体的biYPelsPerMeter,表示图片X轴每米多少像素,可省略不写。
  00 00 00 00 是BITMAPINFOHEADER结构体的biClrUsed,表示使用了多少个颜色索引表,这里等于0,没有颜色索引表。
  00 00 00 00 是BITMAPINFOHEADER结构体的biClrImportant,表示有多少个重要的颜色,等于0时表示所有颜色都很重要。
  BITMAPINFOHEADER结构体结束,总共40字节。
  BITMAPFILEHEADER结构体加BITMAPINFOHEADER结构体等于14+40=54,正好满足DIB的偏移量,所以后面就是DIB数据区。
  由于从BITMAPINFOHEADER结构体得知bmp图片是24位色,所以一个像素只使用3个字节。
  FF FF FF 表示第1个像素颜色,蓝:&HFF,绿:&HFF,红:&HFF。
  00 00 00 表示第2个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  00 00 00 表示第3个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  这是一个3*3像素的图片,前面这3个像素就是图片的最底部的一行,从左到右,因为DIB扫描行是上下颠倒的,但是左右不颠倒。
  另外,DIB数据规定,每个扫描行的字节数必须是4字节的整数倍,不足的需补零凑够4字节的整数倍,这里每行的3个像素只有9字节,需补3字节凑够一个扫描行12字节才满足4字节的整数倍,所以接下来的3字节为:
  00 00 00 表示第1扫描行填充字节,无意义。
  00 00 00 表示第4个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  00 00 00 表示第5个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  00 00 00 表示第6个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  00 00 00 表示第2扫描行填充字节,无意义。
  00 00 00 表示第7个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  00 00 00 表示第8个像素颜色,蓝:&H00,绿:&H00,红:&H00。
  FF FF FF 表示第9个像素颜色,蓝:&HFF,绿:&HFF,红:&HFF。
  00 00 00 表示第3扫描行填充字节,无意义。
  以C:\WINDOWS\Blue Lace 16.bmp为例,简要说明一下bmp图片的结构。这张图片是一张典型的4位、16色的bmp图片,每台电脑上都应该有这张图片。在说明之前请安装好UltraEdit软件以便察看bmp图片的16进制值。
  一个bmp图片由3大部分组成:BITMAPFILEHEADER结构体,BITMAPINFO结构体,DIB数据区。其中DIB意思就是Device-Independent Bitmap(设备无关位图)。两个结构体的定义如下:(注意Integer类型占2个字节,Long类型占4个字节) 。

# 高校智慧校园解决方案摘要 智慧校园解决方案是针对高校信息化建设的核心工程,旨在通过物联网技术实现数字化校园的智能化升级。该方案通过融合计算机技术、网络通信技术、数据库技术和IC卡识别技术,初步实现了校园一卡通系统,进而通过人脸识别技术实现了更精准的校园安全管理、生活管理、教务管理和资源管理。 方案包括多个管理系统:智慧校园管理平台、一卡通卡务管理系统、一卡通人脸库管理平台、智能人脸识别消费管理系统、疫情防控管理系统、人脸识别无感识别管理系统、会议签到管理系统、人脸识别通道管理系统和图书馆对接管理系统。这些系统共同构成了智慧校园的信息化基础,通过统一数据库和操作平台,实现了数据共享和信息一致性。 智能人脸识别消费管理系统通过人脸识别终端,在无需接触的情况下快速完成消费支付过程,提升了校园服务效率。疫情防控管理系统利用热成像测温技术、视频智能分析等手段,实现了对校园人员体温监测和疫情信息实时上报,提高了校园公共卫生事件的预防和控制能力。 会议签到管理系统和人脸识别通道管理系统均基于人脸识别技术,实现了会议的快速签到和图书馆等场所的高效通行管理。与图书馆对接管理系统实现了一卡通系统与图书馆管理系统的无缝集成,提升了图书借阅的便捷性。 总体而言,该智慧校园解决方案通过集成的信息化管理系统,提升了校园管理的智能化水平,优化了校园生活体验,增强了校园安全,并提高了教学和科研的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值