BMP图像操作幻灯片.pptVIP

  • 9
  • 0
  • 约4.16千字
  • 约 25页
  • 2016-12-05 发布于浙江
  • 举报
* 数字图像处理 实验二:BMP图像操作 数字媒体技术系 * * 安排 目的 了解和掌握BMP图像的文件格式 Visual C++实现BMP图像文件格式的打开和显示 * BMP文件格式是微软公司为其Windows环境设置的标准图像格式 Windows环境下运行的所有图像处理软件都支持BMP图像文件格式 Windows系统内部各图像绘制操作都是以BMP为基础 BMP图像文件格式 * BMP图像文件主要特点 1、每个文件只能存放一幅图像 2、用户可根据需要决定是否进行压缩处理 3、可以存储单色、16色、256色及真彩色图像 4、红、绿、蓝三原色的排列顺序与其他图像文件格式相反 * Windows定义了两种位图文件类型: 设备相关位图(DDB):是一种内部位图格式,显示的图像依计算机显示系统的设置不同而不同,因此一般不存储文件,windows3.0以前版本只支持。 设备无关位图文件格式(DIB):可以在不同的机器或系统中显示位图所固有的颜色。与DDB相比,DIB是一种外部的位图格式 BMP图像文件的结构 位图文件头 位图信息头 颜色表(调色板) 图像像素数据阵列 BMP图像文件格式 * BMP图像文件组成 * typedef struct tagBITMAPFILEHEADER { WORD? ? bfType;? ? ? ?// 位图文件的类型,必须为BM DWORD? ?bfSize;? ? ? ?// 位图文件的大小,以字节为单位 WORD? ? bfReserved1;? // 位图文件保留字,必须为0 WORD? ? bfReserved2;? // 位图文件保留字,必须为0 DWORD? ?bfOffBits;? ? // 位图数据的起始位置,以相对于 //位图 文件头的偏移量表示,以字节为单位 } BITMAPFILEHEADER; 位图文件头 其数据结构中包含了BMP文件的类型、大小等信息,称为BITMAPFILEHEADER,长度固定为14字节,其结构定义为 * 位图信息头 BMP位图信息头数据用于说明位图的尺寸等信息,其长度固定为40字节,其结构定义为 * 位图信息头结构 typedef struct tagBITMAPINFOHEADER { DWORD? biSize;? ? ? ? ? ? // 本结构所占用字节数 LONG? ?biWidth;? ? ? ? ? ?// 位图的宽度,以像素为单位 LONG? ?biHeight;? ? ? ? ? // 位图的高度,以像素为单位 WORD? ?biPlanes;? ? ? ? ? // 目标设备的级别,必须为1 WORD? ?biBitCount;? // 每个像素所需的位数,必须是1(双色), ? ? ? ? ? ? ? ? ? ? ? ? ? // 4(16色),8(256色)或24(真彩色)之一 DWORD? biCompression;? ? ?// 位图压缩类型,必须是 0(不压缩), ? ? ? ? ? ? ? ? ? ? ? ? ? // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型) DWORD? biSizeImage;? ? ? ?// 位图的大小,以字节为单位 LONG? ?biXPelsPerMeter;? ?// 位图水平分辨率,每米像素数 LONG? ?biYPelsPerMeter;? ?// 位图垂直分辨率,每米像素数 DWORD? biClrUsed;? ? ? ? ?// 位图实际使用的颜色表中的颜色数 DWORD? biClrImportant;? ? // 位图显示过程中重要的颜色数 } BITMAPINFOHEADER; * typedef struct tagRGBQUAD { BYTE? rgbBlue;? ? ?// 蓝色的亮度(值范围为0-255) BYTE? rgbGreen;? ? // 绿色的亮度(值范围为0-255) BYTE? rgbRed;? ? ? // 红色的亮度(值范围为0-255) BYTE? rgbReserved; // 保留,必须为0 } RGBQUAD; 颜色表 颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。 RGBQUAD结构的定义如下 * 颜色表(续) 颜色表中RGBQUAD结构数据的个数由biBitCount来确定: 当biBitCount=1, 2个表项 4, 16个表项 8, 256个表项

文档评论(0)

1亿VIP精品文档

相关文档