打印

BMP文件格式解析

[复制链接]
697|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
雾霾和青山|  楼主 | 2015-7-26 21:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW 数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。
  下面以Notepad++为分析工具,结合Windows的位图数据结构对BMP文件格式进行一个深度的剖析。
  BMP文件的数据按照从文件头开始的先后顺序分为四个部分:
  Ø  bmp文件头(bmpfile header):提供文件的格式、大小等信息
  Ø  位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息
  Ø   调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表
  Ø   位图数据(bitmap data):就是图像数据啦^_^
  下面结合Windows结构体的定义,通过一个表来分析这四个部分。

沙发
雾霾和青山|  楼主 | 2015-7-26 21:18 | 只看该作者
我们一般见到的图像以24位图像为主,即R、G、B三种颜色各用8个bit来表示,这样的图像我们称为真彩色,这种情况下是不需要调色板的,也就是所位图信息头后面紧跟的就是位图数据了。因此,我们常常见到有这样一种说法:
  位图文件从文件头开始偏移54个字节就是位图数据了,这其实说的是24或32位图的情况。这也就解释了我们按照这种程序写出来的程序为什么对某些位图文件没用了。
下面针对一幅特定的图像进行分析,来看看在位图文件中这四个数据段的排布以及组成。
  我们使用的图像显示如下:

QQ截图20150726211927.png (56.49 KB )

QQ截图20150726211927.png

使用特权

评论回复
板凳
雾霾和青山|  楼主 | 2015-7-26 21:19 | 只看该作者
bmp文件格式解析

bmp文件格式解析.rar

111.26 KB

使用特权

评论回复
地板
关小波522| | 2015-7-27 21:09 | 只看该作者
谢谢分享,不过一般单片机系统可能不会用到那么深

使用特权

评论回复
5
历史暴君| | 2015-7-27 21:21 | 只看该作者
图像解析,这个可以用在图像识别上

使用特权

评论回复
6
上山砍老虎| | 2015-7-27 21:34 | 只看该作者
这个好像没有压缩,我写过一个屏的程序,一个320*480的彩色图片,好几KB的代码

使用特权

评论回复
7
没有六一了| | 2015-7-27 21:59 | 只看该作者
JPG的存储方式是什么呢

使用特权

评论回复
8
peace555| | 2015-7-27 22:21 | 只看该作者
这个不错,第一次看到

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

283

帖子

0

粉丝