图像处理作业 分析bmp的文件结构.docx
《图像处理作业 分析bmp的文件结构.docx》由会员分享,可在线阅读,更多相关《图像处理作业 分析bmp的文件结构.docx(10页珍藏版)》请在冰豆网上搜索。
![图像处理作业 分析bmp的文件结构.docx](https://file1.bdocx.com/fileroot1/2022-12/6/b7d00e1d-e71c-4dfe-a5ff-f5d13d91cce3/b7d00e1d-e71c-4dfe-a5ff-f5d13d91cce31.gif)
图像处理作业分析bmp的文件结构
项目名称:
分析BMP文件每个字节的含义
姓名:
周鹤
班级:
自动化96
学号:
2009054131
提交日期:
2012年3月15日
摘要:
使用WinHex查看文件7.bmp的十六进制代码,分析每个字节的含义。
一、技术讨论和报告
BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。
它一般由4部分组成:
文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。
在系统中以BMP为扩展名保存。
其中,各部分的具体内容如下:
1.文件头信息块:
0000-0001:
文件标识,为字母ASCII码“BM”。
0002-0005:
文件大小。
0006-0009:
保留,每字节以“00”填写。
000A-000D:
记录图像数据区的起始位置。
各字节的信息依次含义为:
文件头信息块大小,图像描述信息块的大小,图像颜色表的大小,保留(为01)。
2.图像描述信息块
000E-0011:
图像描述信息块的大小,常为28H。
0012-0015:
图像宽度。
0016-0019:
图像高度。
001A-001B:
图像的plane总数(恒为1)。
001C-001D:
记录像素的位数,很重要的数值,图像的颜色数由该值决定。
001E-0021:
数据压缩方式(数值位0:
不压缩;1:
8位压缩;2:
4位压缩)。
0022-0025:
图像区数据的大小。
0026-0029:
水平每米有多少像素,在设备无关位图(.DIB)中,每字节以00H填写。
002A-002D:
垂直每米有多少像素,在设备无关位图(.DIB)中,每字节以00H填写。
002E-0031:
此图像所用的颜色数,如值为0,表示所有颜色一样重要。
3.颜色表
颜色表的大小根据所使用的颜色模式而定:
2色图像为8字节;16色图像位64字节;256色图像为1024字节。
其中,每4字节表示一种颜色,并以B(蓝色)、G(绿色)、R(红色)、alpha(32位位图的透明度值,一般不需要)。
即首先4字节表示颜色号1的颜色,接下来表示颜色号2的颜色,依此类推。
4.图像数据区
颜色表接下来位为位图文件的图像数据区,在此部分记录着每点像素对应的颜色号,其记录方式也随颜色模式而定,既2色图像每点占1位(8位为1字节);16色图像每点占4位(半字节);256色图像每点占8位(1字节);真彩色图像每点占24位(3字节)。
所以,整个数据区的大小也会随之变化。
究其规律而言,可的出如下计算公式:
图像数据信息大小=(图像宽度*图像高度*记录像素的位数)/8。
二、结果讨论
利用WinHex打开7.bmp文件截图如下:
每个字节的含义如下:
1.文件头信息块
0000-0001:
(424Dh)是字母ASCII码“BM”,表示这是一个BMP文件
0002-0005:
(6E040000)表示整个文件大小是0000046Eh=1134字节
0006-0009:
(00000000)保留,设置为0
000A-000D:
(36040000)从文件开始到位图数据之间
的偏移量,为00000436h=1078字节
2.图像描述信息块
000E-0011:
(28000000)图像描述信息块长度,通常为28H
0012-0015:
(07000000)位图宽度,以像素为单位,7.bmp的宽度为7个像素
0016-0019:
(07000000)位图高度,以像素为单位,7.bmp的高度为7个像素
001A-001B:
(0100)位图的位面数,该值总是1。
0100,为0001h=1
001C-001D:
(0800)每个像素的位数,7.bmp文件的每个像素位数为8,即有2^8=256色
001E-0021:
(00000000)压缩说明,7.bmp不压缩
0022-0025:
(38000000)图像区数据的大小为56个字节
0026-0029:
(00000000)用象素/米表示的水平分辨率
002A-002D:
(00000000)用象素/米表示的垂直分辨率
002E-0031:
(00000000)表示使用全部颜色
0032-0035:
(00000000)表示所有颜色一样重要
3.颜色表
根据BMP文件结构的定义,因为7.bmp图像是256色的位图,所以应该有256个调色板,每个调色板占4字节,整个调色板一共1024字节大小。
地址:
00000036h开始到00000435h结束
对于调色板中的每个表项,用下述方法来描述RGB的值:
1字节用于蓝色分量
1字节用于绿色分量
1字节用于红色分量
1字节用于填充符(设置为0)
在AdobePhotoshopCS中查看实际显示的颜色表:
以左上角第一个颜色为例:
可以看出正好和颜色板中的第一个4字节(00000000)中的前三个字节(000000)对应,余下同理。
4.图像数据区
根据BMP文件结构的定义,如果一个图像有调色板,那么紧跟在调色板后面的是图像的数据,这些数据不是实际的颜色值,而是指向调色板数组的索引,根据索引来获取调色板中的颜色。
7.bmp的图像数据区如下:
因为7.bmp是256色的位图,即采用了8位色深作为指向调色板数组的索引,所以根据上图显示的数据可以得知:
67636454566262006265表示cat2.bmp位图左下角第1个像素的颜色等于调色板[103],第2个像素的颜色等于调色板[99],第3个像素的颜色等于调色板[100],第4个像素的颜色等于调色板[84]……依此类推。
其中00为填充字节。
三、处理结果
见二、结果讨论
附录:
无
参考文献:
《揭秘数据解密的关键技术》刘颖东人民邮电出版社
源代码:
无