BMP位图MFC单文档分割窗口显示和二值化.doc

BMP位图MFC单文档分割窗口显示和二值化.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BMP位图MFC单文档分割窗口显示和二值化

BMP位图文件的4个组成部分bmp文件大体上分成四个部分。 位图文件头BITMAPFILEHEADER 、 位图信息头BITMAPINFOHEADER 、 调色板Palette 、 实际的位图数据ImageDate 第1部分为位图文件头BITMAPFILEHEADER,是一个结构体类型,该结构的长度是固定的,为14个字节。其定义如下: typedef struct tagBITMAPFILEHEADER { ??? WORD bfType;??????? ??? DWORD bfSize;????? ??? WORD bfReserved1; ? ??? WORD bfReserved2; ???? DWORD bfOffBits; } BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; 1.文件头信息块 0000-0001 :文件标识,为字母ASCII码“BM”。 0002-0005 :文件大小。 0006-0009 :保留,每字节以“00”填写。 000A-000D :记录图像数据区的起始位置。各字节的信息含义依次为:文件头信息块大小,图像描述信息块的大小,图像颜色表的大小,保留(为01)。 第2部分为位图信息头BITMAPINFOHEADER,也是一个结构体类型的数据结构,该结构的长度也是固定的,为40个字节(WORD为无符号16位整数,DWORD为无符号32位整数,LONG为32位整数)。其定义如下: typedef struct tagBITMAPINFOHEADER { ??? DWORD biSize; ?图像描述信息块的大小,常为28H。 ??? LONG biWidth; ?????????? ??? LONG biHeight; ????????? ??? WORD biPlanes; ?????=1???? ??? WORD biBitCount?;????????记录像素的位数 ??? DWORD biCompression; 数据压缩方式 ??? DWORD biSizeImage; ?????图像区数据的大小 ??? LONG biXPelsPerMeter; ??指定目标设备的水平分辨率,单位是像素/米 ??? LONG biYPelsPerMeter; ?? ??? DWORD biClrUsed;???? 位图实际用到的颜色数 ??? DWORD biClrImportant;??位图显示过程中重要的颜色数,如果该值为零,则认为所有的颜色都是重要的。 } BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER; 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部分为颜色表。颜色表实际上是一个RGBQUAD结构的数组,数组的长度由biClrUsed指定(如果该值为零,则由biBitCount指定,即2的biBitCount次幂个元素)。RGBQUAD结构是一个结构体类型,占4个字节,其定义如下: typedef struct tagRGBQUAD { ??? BYTE rgbBlue; ??? BYTE rgbGreen; ??? BYTE rgbRed; ??? BYTE rgbReserved; }RGBQUAD; 3.颜色表 颜色表的大小根据所使用的颜色模式而定:2色图像为8字节;16色图像位64字节;256色图像为1024字节。其中,每4字节表示一种颜色,并以B(蓝色)、G(绿色)、R(红色)、alpha(32位位图的透明度值,一般不需要)。即首先4字节表示颜色号0的颜色,接下来表示颜色号1的颜色,依此类推。 第4部分是位图数据,即图像数据,其紧跟在位图文件头、位图信息头和颜色表(如果有颜色表的话)之后,记录了图像的每一个像素值。对于有颜色表的位图,位图数据就是该像素颜色在调色板中的索引值;对于真彩色图,位图数据就是实际的R

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档