




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Bmp图像BMP文件格式,又称为Bitmap(位图)或是DIB(Device-IndependentDevice,设备无关位图),是Windows系统中广泛使用图像文件格式。因为它能够不作任何变换地保留图像像素域数据,所以成为我们取得RAW数据主要起源。Windows图形用户界面(graphicaluserinterfaces)也在它内建图像子系统GDI中对BMP格式提供了支持。bmp图像主题知识讲座第1页BMP文件数据按照从文件头开始先后次序分为四个部分bmp文件头(bmpfileheader):提供文件格式、大小等信息位图信息头(bitmapinformation):提供图像数据尺寸、位平面数、压缩方式、颜色索引等信息彩色表(colortable):可选,如使用索引来表示图像,调色板就是索引与其对应颜色映射表位图数据(bitmapdata):就是图像数据bmp图像主题知识讲座第2页BMP图像文件组成部分名称、大小和符号bmp图像主题知识讲座第3页位图文件头位图文件头包含相关于文件类型、文件大小、存放位置等信息,普通用BITMAPFILEHEADER结构来定义:typedefstructtagBITMAPFILEHEADER{/*bmfh*/UINTbfType;DWORDbfSize;UINTbfReserved1;UINTbfReserved2;DWORDbfOffBits;}BITMAPFILEHEADER;bmp图像主题知识讲座第4页其中bmp图像主题知识讲座第5页位图信息头位图信息用BITMAPINFO结构来定义,它由位图信息头(bitmap-informationheader)和彩色表(colortable)组成,前者用BITMAPINFOHEADER结构定义,后者用RGBQUAD结构定义。BITMAPINFO结构含有以下形式:typedefstructtagBITMAPINFO{/*bmi*/BITMAPINFOHEADERbmiHeader;RGBQUADbmiColors[1];}BITMAPINFO;其中:bmiHeader说明BITMAPINFOHEADER结构bmiColors说明彩色表RGBQUAD结构阵列bmp图像主题知识讲座第6页BITMAPINFOHEADER结构包含有位图文件大小、压缩类型和颜色格式,其结构定义为:typedefstructtagBITMAPINFOHEADER{/*bmih*/DWORDbiSize;LONGbiWidth;LONGbiHeight;WORDbiPlanes;WORDbiBitCount;DWORDbiCompression;DWORDbiSizeImage;LONGbiXPelsPerMeter;LONGbiYPelsPerMeter;DWORDbiClrUsed;DWORDbiClrImportant;}BITMAPINFOHEADER;bmp图像主题知识讲座第7页bmp图像主题知识讲座第8页彩色表定位应用程序可使用存放在biSize组员中信息来查找在BITMAPINFO结构中彩色表,以下所表示:pColor=((LPSTR)pBitmapInfo+(WORD)(pBitmapInfo->bmiHeader.biSize))bmp图像主题知识讲座第9页biBitCountbiBitCount=1表示位图最多有两种颜色,黑色和白色。图像数据阵列中每一位表示一个像素。biBitCount=4表示位图最多有16种颜色。每个像素用4位表示,并用这4位作为彩色表表项来查找该像素颜色。比如,假如位图中第一个字节为0x1F,它表示有两个像素,第一像素颜色就在彩色表第2表项中查找,而第二个像素颜色就在彩色表第16表项中查找。biBitCount=8表示位图最多有256种颜色。每个像素用8位表示,并用这8位作为彩色表表项来查找该像素颜色。比如,假如位图中第一个字节为0x1F,这个像素颜色就在彩色表第32表项中查找。biBitCount=24表示位图最多有224=16777216种颜色。bmiColors(或者bmciColors)组员就为NULL。每3个字节代表一个像素,其颜色有R、G、B字节相对强度决定。bmp图像主题知识讲座第10页图像数据压缩①BI_RLE8:每个像素为8位RLE压缩编码,可使用编码方式和绝对方式中任何一个进行压缩,这两种方式可在同一幅图中任何地方使用。编码方式:由2个字节组成,第一个字节指定使用相同颜色像素数目,第二个字节指定使用颜色索引。另外,这个字节对中第一个字节可设置为0,联合使用第二个字节值表示:第二个字节值为0:行结束。
第二个字节值为1:图像结束。
第二个字节值为2:其后两个字节表示下一个像素从当前开始水平和垂直位置偏移量。绝对方式:第一个字节设置为0,而第二个字节设置为0x03~0xFF之间一个值。在这种方式中,第二个字节表示跟在这个字节后面字节数,每个字节包含单个像素颜色索引。压缩数据格式需要字边界(wordboundary)对齐。bmp图像主题知识讲座第11页图像数据压缩②BI_RLE4:每个像素为4位RLE压缩编码,一样也可使用编码方式和绝对方式中任何一个进行压缩,这两种方式也可在同一幅图中任何地方使用。这两种方式是:编码方式:由2个字节组成,第一个字节指定像素数目,第二个字节包含两种颜色索引,一个在高4位,另一个在低4位。第一个像素使用高4位颜色索引,第二个使用低4位颜色索引,第3个使用高4位颜色索引,依这类推。绝对方式:这个字节对中第一个字节设置为0,第二个字节包含有颜色索引数,其后续字节包含有颜色索引,颜色索引存放在该字节高、低4位中,一个颜色索引对应一个像素。另外,BI_RLE4也一样联合使用第二个字节中值表示:第二个字节值为0:行结束。
第二个字节值为1:图像结束。
第二个字节值为2:其后两个字节表示下一个像素从当前开始水平和垂直位置偏移量。bmp图像主题知识讲座第12页彩色表彩色表包含元素与位图所含有颜色数相同,像素颜色用RGBQUAD结构来定义。对于24-位真彩色图像就不使用彩色表,因为位图中RGB值就代表了每个像素颜色。彩色表中颜色按颜色主要性排序,这能够辅助显示驱动程序为不能显示足够多颜色数显示设备显示彩色图像。RGBQUAD结构描述由R、G、B相对强度组成颜色,定义以下:typedefstructtagRGBQUAD{/*rgbq*/BYTErgbBlue;BYTErgbGreen;BYTErgbRed;BYTErgbReserved;}RGBQUAD;其中:rgbBlue指定蓝色强度rgbGreen指定绿色强度rgbRed指定红色强度rgbReserved保留,设置为0bmp图像主题知识讲座第13页位图数据紧跟在彩色表之后是图像数据字节阵列。图像每一扫描行由表示图像像素连续字节组成,每个像素占一个字节,取得这个字节后,以该字节为索引查询对应颜色(16位数据),每一行字节数取决于图像颜色数目和用像素表示图像宽度。扫描行是由底向上存放,这就是说,阵列中第一个字节表示位图左下角像素,而最终一个字节表示位图右上角像素,并以行为主序排列。也即我们见到第一个像素是图像最左下角数据,第二个像素为图像最终一行第二列数据,…一直到最终一行最终一列数据,后面紧接是倒数第二行第一列数据,依这类推。假如图像是24位或是32位数据位图话,位图数据区就不是索引而是实际像素值了。下面说明一下,此时位图数据区每个像素RGB颜色阵列排布:24位RGB按照BGR次序来存放每个像素各颜色通道值,一个像素全部颜色分量值都存完后才存下一个下一个像素,不进行交织存放。32位数据按照BGRA次序存放,其余与24位位图方式一样。像素排布规则与前述一致。bmp图像主题知识讲座第14页对齐规则我们知道Windows默认扫描最小单位是4字节,假如数据对齐满足这个值话对于数据获取速度等都是有很大增益。所以,BMP图像顺应了这个要求,要求每行数据长度必须是4倍数,假如不够需要进行比特填充(以0填充),这么能够到达按行快速存取。这时,位图数据区大小就未必是图片宽×每像素字节数×图片高能表示了,因为每行可能还需要进行比特填充。填充后每行字节数为:
,其中BPP(BitsPerPixel)为每像素比特数。在程序中,我们能够表示为:intiLineByteCnt=(((m_iImageWidth*m_iBitsPerP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古鄂尔多斯市东胜区九年级化学下册 8.4 常见的盐(2)教学实录 (新版)粤教版
- 小学信息技术第一册 我的图册-用看图软件创建图册教学实录 河大版
- 22《 为中华之崛起而读书》(第二课时)(教学设计)2024-2025学年统编版语文四年级上册
- ma信号转dc信号并电阻
- 2025年阿片类中毒解毒药项目发展计划
- 电脑的整流电路
- 2025年烧伤整形科手术器械项目发展计划
- 2023六年级数学上册 四 解决问题的策略第3课时 解决问题的策略(练习课)教学实录 苏教版
- 2024年秋九年级历史上册 第4课《古代罗马》教学实录 中华书局版
- 制定数字营销转型策略计划
- 证券分析(第6版)上部
- 2024年中级电工考前必刷必练题库500题(含真题、必会题)
- 认识晶体(完整版)课件
- 小学五年级家长会-主题班会
- DB11T 211-2017 园林绿化用植物材料 木本苗
- DB11T 527-2021 配电室安全管理规范
- 《PLC应用技术(西门子S7-1200)第二版》全套教学课件
- 学校校园安全隐患排查手册
- 豪迈集团笔试在线测评题
- 社会团体财务报表
- 行政区划管理条例学习解读课件
评论
0/150
提交评论