1、图像处理作业 分析bmp的文件结构项目名称:分析BMP文件每个字节的含义姓名:周鹤班级:自动化96学号:2009054131提交日期:2012年3月15日摘要:使用WinHex查看文件7.bmp的十六进制代码,分析每个字节的含义。一、 技术讨论和报告BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。它一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。在系统中以BMP为扩展名保存。其中,各部分的具体内容如下:1. 文件头信息块:0000-0001:文件标识,为字母ASCII码“BM”。0002-0005:文件大小。
2、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:水平每米
3、有多少像素,在设备无关位图(.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. 图像数据区颜色表接下来位为位图文件的图像数据区,在此部分记录着每点像
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:(6E04 0000)表示整个文件大小是0000046Eh=1134字节 0006
5、-0009:(0000 0000)保留,设置为0 000A-000D:(3604 0000)从文件开始到位图数据之间的偏移量,为0000 0436h=1078字节2. 图像描述信息块 000E-0011:(2800 0000)图像描述信息块长度,通常为28H 0012-0015:(0700 0000)位图宽度,以像素为单位,7.bmp的宽度为7个像素 0016-0019:(0700 0000)位图高度,以像素为单位,7.bmp的高度为7个像素 001A-001B:(0100)位图的位面数,该值总是1。0100,为0001h=1 001C-001D:(0800)每个像素的位数,7.bmp文件的每
6、个像素位数为8,即有28=256色 001E-0021:(0000 0000)压缩说明,7.bmp不压缩 0022-0025:(3800 0000)图像区数据的大小为56个字节 0026-0029:(0000 0000)用象素/米表示的水平分辨率 002A-002D:(0000 0000)用象素/米表示的垂直分辨率002E-0031:(0000 0000)表示使用全部颜色0032-0035:(0000 0000)表示所有颜色一样重要3. 颜色表根据BMP文件结构的定义,因为7.bmp图像是256色的位图,所以应该有256个调色板,每个调色板占4字节,整个调色板一共1024字节大小。地址:000
7、00036h开始到00000435h结束对于调色板中的每个表项,用下述方法来描述RGB的值: 1字节用于蓝色分量 1字节用于绿色分量 1字节用于红色分量 1字节用于填充符(设置为0)在Adobe Photoshop CS中查看实际显示的颜色表:以左上角第一个颜色为例:可以看出正好和颜色板中的第一个4字节(0000 0000)中的前三个字节(0000 00)对应,余下同理。4. 图像数据区根据BMP文件结构的定义,如果一个图像有调色板,那么紧跟在调色板后面的是图像的数据,这些数据不是实际的颜色值,而是指向调色板数组的索引,根据索引来获取调色板中的颜色。7.bmp的图像数据区如下:因为7.bmp是256色的位图,即采用了8位色深作为指向调色板数组的索引,所以根据上图显示的数据可以得知:67 63 64 54 56 62 62 00 62 65表示cat2.bmp位图左下角第1个像素的颜色等于调色板103,第2个像素的颜色等于调色板99 ,第3个像素的颜色等于调色板100 ,第4个像素的颜色等于调色板84依此类推。其中00为填充字节。三、 处理结果见二、结果讨论 附录:无 参考文献:揭秘数据解密的关键技术 刘颖东 人民邮电出版社 源代码:无
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1