1.2.1 BMP 文件结构 1.2 BMP文件结构及其存取 数字图像在外存储器设备中的存储形式是图像文件,图像必须按照某个已知的、公认的数据存储顺序和结构进行存储,才能使不同的程序对图像文件顺利进行打开或存盘操作,实现数据共享。图像数据在文件中的存储顺序和结构称为图像文件格式。目前广为流传的图像文件格式有许多种,常见的格式包括 BMP、GIF、JPEG、TIFF、PSD、DICOM、MPEG 等。在各种图像文件格式中,一部分是由某个软硬件厂商提出并被广泛接受和采用的格式,例如BMP、GIF 和 PSD 格式;另一部分是由各种国际标准组织提出的格式,例如 JPEG、TIFF和 DICOM,其中JPEG 是国际静止图像压缩标准组织提出的格式,TIFF 是由部分厂商组织提出的格式,DICOM 是医学图像国际标准组织提出的医学图像专用格式。 BMP 文件是Windows 操作系统所推荐和支持的图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,所以称为位图(bitmap)文件,因其文件扩展名为 BMP,故称为 BMP 文件格式,简称 BMP 文件。本书对图像的算法编程都是针对 BMP 图像文件的,因此在本章中我们详细介绍BMP 文件结构及其读写操作,以加深对图像数据的理解。 1.2.1 BMP文件结构 如图1-7 所示,BMP 图像文件被分成4 个部分:位图文件头 (Bitmap File Header)、位图信 息 头 (Bitmap Info Header)、颜 色 表 (Color Map)和位图数据(即 图像数据,Data Bits或 Data Body)。 第 1 部分为位图文件头 BITMAPFILEHEADER,是一个结构体 类 型 ,该 结构的长 度 是固 定 的,为 14 个字节 。其定 义 如下 : typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; BITMAPFILEHEADER 结构的各个域 详细说 明 如下 : bfType:位图文件类 型 ,必须是0x424D,即 字符 串 “BM”,也 就 是说 ,所有的“*.bmp”文件的头 两 个字节 都是“BM”。 bfSize:位图文件大小,包括这14 个字节。 bfReserved1, bfReserved2:Windows 保留字,暂不用。 bfOffBits:从文件头到实际的位图数据的偏移字节数,图1-7 中前 3 个部分的长度之和。 图1-7 BMP 文件结构示意图 第 2 部分为位图信息头 BITMAP...