[BMP图像的二进制数据分析与研究报告.doc
文本预览下载声明
题目 BMP图像的二进制数据分析与研究报告
学 院: 信息科学与技术学院
专 业: 控制科学与工程
学 生: X X
指导教师: XXX
2014 年 12 月 02 日
1、位图的简介
位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(device-dependent bitmap,DDB)文件格式。Windows 3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(device-independent bitmap,DIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者bmp。位图以像素为单位,采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩。
2、位图的组成
典型的BMP图像主要由四个部分组成:位图文件头、位图信息头、颜色表和位图数据。BMP文件头的大小为14字节,文件头包括BMP图像文件的类型、文件大小、位图起始位置等信息;位图信息头的大小为40字节,信息头包括BMP图像的宽、高、压缩方法,以及定义颜色等信息;颜色表的大小为,颜色表用于说明位图中的颜色,其有若干个表项,每一个表项是一个RGQUAD类型的结构,定义一种颜色;位图数据记录了位图的每一个像素值,记录的顺序为在扫描行内是从左到右,扫描行之间是从下到上,位图的一个像素值所占的字节数biBitCount有关,当biBitCount=8时,1个像素占1个字节,此时为灰度图像;当biBitCount=24时,1个像素占3个字节,按顺序分别为B、G、R,此时为彩色图像;Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充。
3、位图的二进制数据分析
本文通过UltraEdit图像编辑器打开一幅名为“Color.bmp”的位图(图像见附录一),UltraEdit以二进制数据形式显示BMP图像,并通过对二进制数据的更改可以实现对BMP图像的更改。
3.1二进制数据中的含义
图3.1 位图头文件
如图3.1所示0000h-000dh为位图头文件,14字节的文件头分析:0000h-0001h两字节用于识别位图类型,本位图中424D表示位图为BMP型;0002h-0005h四字节表示文件大小,字节内部是先高八位后低八位,字内部是先低八位后高八位,本位图大小为000EFAEEh=981742字节;0006h-0009h四字节为位图文件保留字,必须设置为0;000Ah-000Dh四字节表示从文件开始到位图数据之间的偏移量,本位图=54字节。
图3.2 位图信息头
如图3.2所示0000eh-0035h为位图信息头,40字节的位图信息头分析:000Eh-0011h四字节描述位图信息块的大小,本位图为28h;0012h-0015h四字节表示图像的宽度,本位图为0000022Ah=554像素;0016h-0019h四字节表示图像的高度,本位图为000001BBh=443像素;001Ah-001Bh两字节表示图像的plane总数,恒为1,本位图为0001h=1;001Ch-001Dh两字节表示图像的颜色位数的取值,本位图为0020h=32;001Eh-0021h四字节表示图像的压缩方式,本位图=0,即没有压缩;0022h-0025h四字节表示图像数据区的大小其必须是4的倍数,本位图=0,即本文位图数据区为保留字;0026h-0029h四字节表示水平每米有多少像素,本位图为00000EC4h=3780像素/米;0026h-0029h四字节表示垂直每米有多少像素,本位图为00000EC4h=3780像素/米;002Eh-0031h四字节表示图像所用的颜色数,固定为0,本位图=0;0032h-0035h四字节表示重要颜色数吧,固定为0,本位图=0。
图3.3 位图颜色表
如图3.3所示0036h-0435h为颜色表,1024字节的颜色表分析:对于颜色表中的每个表项,这4个字节用下述方法来描述RGB的值:1字节用于蓝色分量,1字节用于绿色分量,1字节用于红色分量,1字节用于填充符(设置为0)。
图3.4 位图数据区
如图3.4所-000E
显示全部