电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

bmp图像压缩算法详细解析

bmp图像压缩算法详细解析_第1页
1/12
bmp图像压缩算法详细解析_第2页
2/12
bmp图像压缩算法详细解析_第3页
3/12
问题:将一张 bmp 图像的灰度值压缩存储到一个中间文件,然后利用中间文件还原这张图片。 初一看,这应该是两个程序吧,一个压缩程序一个解压程序。那就先压缩好喽,恩,压缩...可是要怎么读取它的灰度值呀?文件里不会只保存它的灰度值吧,点开属性,发现这是一张256*192的图片,如果图片文件里只有灰度值,那么大小应该是256*192 B,而实际大小是50230字节。。可见还有其它信息,根据经验,应该还有一个对图像的描述信息吧,这样那些图像显示程序才能知道以怎样的方式去显示它,毕竟不是所有的 bmp 图片都是灰度图片。额,只好求助百度了.............经过整理,我把 bmp 图像编码格式发到下面。 BMP 文件被分成4个部分:位图文件头(Bitmap File Header)、位图信息(BitmapInfoHeader)、颜色表(Color Map)和位图数据(即图像数据,Data Bits 或 Data Body) 第1部分为位图文件头 BITMAPFILEHEADER,是一个结构体类型,该结构的长度是固定的,为14个字节。其定义如下: typedef struct tagBITMAPFILEHEADER { WORD bfType; 位图文件类型,必须是0x424D,即字符串“BM” DWORD bfSize; 位图文件大小,包括这14个字节。 WORD bfReserved1; Windows 保留字,暂不用。 WORD bfReserved2; Windows 保留字,暂不用。 DWORD bfOffBits; 从文件头到实际的位图数据的偏移字节数 } BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; 第2部分为位图信息头 BITMAPINFOHEADER,也是一个结构体类型的数据结构,该结构的长度也是固定的,为40个字节(WORD 为无符号16位整数,DWORD 为无符号32位整数,LONG 为32位整数)。其定义如下: typedef struct tagBITMAPINFOHEADER { DWORD biSize; 本结构的长度,为 40个字节。 LONG biWidth; 位图的宽度,以像素为单位。 LONG biHeight; 位图的高度,以像素为单位. WORD biPlanes; 目标设备的级别,必须是1。 WORD biBitCount 每个像素所占的位数(bit),其值必须为1(黑白图像)、4(16色图)8 (256色)、24(真彩色图),新的 BMP 格式支持32位色。 DWORD biCompression; 位图压缩类型,有效的值为 BI_RGB(未经压缩)、BI_RLE8、BI_RLE4、 BI_BITFILEDS ( 均 为Windows定 义 常 量 )。 这 里 只 讨 论 未 经 压 缩 的 情 况 , 即 biCompression=BI_RGB。 DWORD biSizeImage; 实际...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

bmp图像压缩算法详细解析

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部