bmp位图结构详解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
bmp位图结构详解

要辨认图像中的字符,起首要会处理惩罚图像,把图像的信息读出来。这就必须先懂得图像的布局,存储体式格式。清华大学出版的一本《数字图像处理惩罚编程入门》给了我不少帮助。第一章的Windows位图和调色板让我对bmp图像有了根蒂根基懂得。对于彩色图,可以用RGB模型来默示。根蒂根基上所有色彩都可以用这三种色彩的组合来形成。但实际上也有一些差别,小于24位图都哄骗到了调色板,也就是一张R、G、B表,主如果为了节俭存储空间。bmp文件布局如下: ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图一 bmp位图布局示意图 ? 第一项目组为位图文件头BITMAPFILEHEADER,是一个布局,其定义如下: typedef struct tagBITMAPFILEHEADER { WORD?????????? bfType; DWORD bfSize; WORD?????????? bfReserved1; WORD?????????? bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 这个布局的长度是固定的,为14个字节(WORD为无符号16位整数,DWORD为无符号32位整数),各个域的申明如下: bfType 指定文件类型,必须是0 x,即字符串“BM”,也就是说所有.bmp文件的头两个字节都是“BM”。 bfSize 指定文件大小,包含这14个字节。 bfReserved1,bfReserved2????? 为保存字,不消推敲 bfOffBits 为从文件头到实际的位图数据的偏移字节数,即图1.3中前三个项目组的长度之和。 第二项目组为位图信息头BITMAPINFOHEADER,也是一个布局,其定义如下: typedef struct tagBITMAPINFOHEADER{ DWORD? biSize; LONG??????????? biWidth; LONG??????????? biHeight; WORD?????????? biPlanes; WORD?????????? biBitCount DWORD? biCompression; DWORD? biSizeImage; LONG??????????? biXPelsPerMeter; LONG??????????? biYPelsPerMeter; DWORD? biClrUsed; DWORD? biClrImportant; } BITMAPINFOHEADER; 这个布局的长度是固定的,为40个字节(LONG为32位整数),各个域的申明如下: biSize 指定这个布局的长度,为40。 biWidth 指定图象的宽度,单位是象素。 biHeight 指定图象的高度,单位是象素。 biPlanes 必须是1,不消推敲。 biBitCount 指定默示色彩时要用到的位数,常用的值为1(曲直短长二色图), 4(16色图), 8(256色), 24(真彩色图)(新的.bmp格局支撑32位色,这里就不做评论辩论了)。 biCompression 指定位图是否紧缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS(都是一些Windows定义好的常量)。要申明的是,Windows位图可以采取RLE4,和RLE8的紧缩格局,但用的不久不多。我们往后所评论辩论的只有第一种不紧缩的景象,即biCompression为BI_RGB的景象。 biSizeImage 指定实际的位图数据占用的字节数,其实也可以从以下的公式中策画出来: biSizeImage=biWidth’ × biHeight 要重视的是:上述公式中的biWidth’必须是4的整倍数(所以不是biWidth,而是biWidth’,默示大于或便是biWidth的,最接近4的整倍数。举个例子,若是biWidth=240,则biWidth’=240;若是biWidth=241,biWidth’=244)。 若是biCompression为BI_RGB,则该项可能为零 biXPelsPerMeter 指定目标设备的程度辨别率,单位是每米的象素个数,关于辨别率的概念,我们将在第4章具体介绍。 biYPelsPerMeter 指定目标设备的垂直辨别率,单位同上。 biClrUsed 指定本图象实际用到的色彩数,若是该值为零,则用到的色彩数为2biBitCount。 biClrImportant 指定本图象中首要的色彩数,若是该值为零,则认为所有的色彩都是首要的。 第三项目组为调色板Palette,当然,这里是对那些须要调色板的位图文件而言的。有些位图,如真彩色图,前面已经

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档