上海海洋大学《数字图像处理》课件-BMP图像的结构与读写.pptVIP

上海海洋大学《数字图像处理》课件-BMP图像的结构与读写.ppt

  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图像的结构与读写BMP的结构BMP的结构(位图文件头)typedefstructtagBMPFileHeader{ charbfty[2];//必须为BM,即0x424D?才是Windows位图文件 intbfsize;//整个BMP文件的大小shortbfreserved1;//保留,为0 shortbfreserved2; intbfoffbit;//文件起始位置到图像像素数据的字节偏移量}BMPFileHeader;BMP的结构(位图信息头)typedefstructtagBMPInfoHeader{ intbisize;//INFOHEADER结构体大小intbiwidth;//图像宽度(以像素为单位)intbiheight;//图像高度(可以正或负,为正说明图像是倒向的即图像存储是由下到上;该值是负数说明图像是倒向的即图像存储是由上到下)shortbiplanes;//图像数据平面,必须为1shortbibitcount;//1(2色),4(16色),8(256色)(要调色板);16,24,32(不要调色板)intbicompression;//压缩标志:0:不压缩,1:RLE8,2:RLE4,3:,4:intbisizeimage;//4字节对齐的图像数据大小intbix;//指定目标设备的水平分辨率,单位是像素/米intbiy;//指定目标设备的垂直分辨率,单位是像素/米intbiclrused;//实际使用的调色板索引数,0:使用所有的调色板索引intbiclrimportant;//重要的调色板索引数,0:所有的调色板索引都重要}BMPInfoHeader;BMP的结构(调色板结构)typedefstructtagRGBQUAD{unsignedcharrgbBlue;unsignedcharrgbGreen;unsignedcharrgbRed;unsignedcharrgbReserved;}RGBQUAD;需要注意的事项BMP图像存储1)每一行的字节数必须是4的整倍数,如果不是,则需要补齐。这在前面介绍biSizeImage时已经提到了。2)一般来说,BMP文件的数据是从下到上、从左到右的。即从文件中最先读到的是图像最下面一行的左边第一个像素,然后是左边第二个像素…接下来是倒数第二行左边第一个像素,左边第二个像素…依次类推,最后得到的是最上面一行的最右一个像素。代码编写#ifndef_BMP_STRUCT_2020_09_1#define_BMP_STRUCT_2020_09_1#pragmapack(2)typedefstructtagRGBQUAD{XXXXXXX}RGBQUAD;typedefstructtagBMPFileHeader{ XXXXXXX}BMPFileHeader;typedefstructtagBMPInfoHeader{XXX}BMPInfoHeader;#endif代码编写charcFilePathName[]=F:/FSS_Data/CCode/BMP/myfirstMain8.bmp;FILE*fp;intiCol,iRow,iWidth;inti,j;代码编写BMPFileHeaderstFileHeader;BMPInfoHeaderstInfoHeader;RGBQUADstRGBQUAD;/////////////////////////////////////doubledL;char*cR;intiL;//binary代码编写if((fp=fopen(cFilePathName,wb))==NULL) return-1;iCol=599;iRow=600;iWidth=(iCol+3)/4*4;//为什么?代码编写stFileHeader.bfty[0]=B;stFileHeader.bfty[1]=M;stFileHeader.bfsize=54+iWidth*iRow+256*4;stFi

您可能关注的文档

文档评论(0)

逍遥子 + 关注
实名认证
文档贡献者

互联网搬运工

1亿VIP精品文档

相关文档