bmp位图处理后的存储

来源:百度知道 编辑:UC知道 时间:2024/09/23 08:32:04
我用c语言编程读入了一个bmp位图文件,如果不做处理,直接写入硬盘,可以讲存储的图像用ACDsee读出,但是如果进行二值化处理后,ACDsee就读不出了,请问存储的时候对bmp头文件信息要做什么修改么?如果做边缘话处理的话,还需要对头文件信息修改么。最好会带玩有代码有注释 谢谢
有c的代码讲解么,我现在用的是c 最好不是c++

MP(Bitmap的缩写)图像是指文件名后缀为BMP的位图图像。位图图像在计算机中使用很广泛,例如在windows中,记事本、写字板中的文字就是用位图图像表示出来的。许多以其它格式存储的图像,就是在位图图像的基础上,进行优化处理后得到的,例如JPEG图像等。

在数字图像处理中,许多算法就是针对24位真彩色位图或灰度位图设计的。因此,很有必要介绍一下位图文件的这两种存储格式。

二、24位真彩色图像存储格式

把下图的24位真彩色图像格式在16位编辑器(例如VC编辑器)中打开,可以看到图像的二进制数据。

24位真彩色的二进制数据为:

这是24位真彩色位图文件数据一部分。这一部分数据包括位图文件头、位图信息头和位图阵列三部分。

(一)位图文件头

位图文件头用来记录标志文件大小的一些信息,在文件中占14个字节,存储的内容如下:

字节

1
2
3
4
5
6
7
8

9
10
11
12
13
14

000000

42
4D
CC
B4
02
00
00
00

00
00
36
00
00
00

其中:

42 4D 为位图的标志,即ASCII码为BM

CC B4 02 表示位图文件的总字节数,换算成十进制为(02B4CC)H=(177356)10,即这副图像的大小为177356字节。

00 00 00 00 00 为保留字节,用来存储文件大小的数据。

36 00 00 00 00 表示位图阵列的起始位置,(36)H=(54)10即54字节开始为位图阵列。
<