数字图像与机器视觉基础1

本文介绍了BMP文件格式的组成部分,包括文件头、信息头、调色板和图像数据,并通过比较不同位深度BMP文件的差异,探讨了它们对存储大小的影响。此外,文章还涉及图像处理编程,利用奇异值分解、开闭运算和轮廓识别等方法进行特征提取和条码识别。
摘要由CSDN通过智能技术生成

一、BMP文件

  BMP 文件格式,又称为 Bitmap(位图),是 Windows 系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据, 因此成为我们取得 RAW 数据的重要来源。Windows 的图形用户界面(graphical user interfaces) 也在它的内建图像子系统 GDI 中对 BMP 格式提供了支持。 BMP 文件的数据按照从文件头开始的先后顺序分为四个部分:

bmp 文件头(bmp file header) :提供文件的格式、大小等信息。

位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息

调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表 位图数据 (bitmap data):就是图像数据
 

二、比较不同位深度BMP文件

网上下载一张彩色照片

查看该图片信息,显示位深度24

 

 通过电脑画图程序和PS分别将该图片保存为32位、16位彩色和256色、16色、单色的位图(BMP)文件

对比文件大小

256 16 单色 32色 16色
3.51MB 7.03MB 450KB 14.0MB 3.51MB

可以看出只更换颜色数量对存储大小基本没有影响,但如果改变色彩位深度就会改变存储大小。

文件结构


位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节(位图数据,即图像数据,Data Bits 或Data Body)阵列,它具有如下所示的形式。

位图文件的组成

结构名称  符 号

位图文件头 (bitmap-file header) BITMAPFILEHEADER bmfh

位图信息头 (bitmap-information header) BITMAPINFOHEADER bmih

彩色表  (color table) RGBQUAD aColors[]

图像数据阵列字节 BYTE aBitmapBits[]

偏移量 域的名称  大小  内容

文件信息头BITMAPFILEHEADER

typedef struct tagBITMAPFILEHEADER { /* bmfh */

UINT bfType; 
DWORD bfSize; 
UINT bfReserved1; 
UINT bfReserved2; 
DWORD bfOffBits;

} BITMAPFILEHEADER;

其中

bfType 说明文件的类型,该值必需是0x4D42,也就是字符’BM’。
bfSize 说明该位图文件的大小,用字节为单位
bfReserved1 保留,必须设置为0
bfReserved2 保留,必须设置为0
bfOffBits 说明从文件头开始到实际的图象数据之间的字节的偏移量。这个参数是非常有用的,因为位图信息头和调色板的长度会根据不同情况而变化,所以你可以用这个偏移值迅速的从文件中读取到位数据。

位图信息头BITMAPINFOHEADER

结果体定义如下

typedef struct tagBITMAPINFOHEADER { /* bmih */

DWORD biSize; 
LONG biWidth; 
LONG biHeight; 
WORD biPlanes; 
WORD biBitCount; 
DWORD biCompression; 
DWORD biSizeImage; 
LONG biXPelsPerMeter; 
LONG biYPelsPerMeter; 
DWORD biClrUsed; 
DWORD biClrImportant;

} BITMAPINFOHEADER;

其中

biSize 说明BITMAPINFOHEADER结构所需要的字数。
biWidth 说明图象的宽度,以象素为单位。
biHeight 说明图象的高度,以象素为单位。注:这个值除了用于描述图像的高度之外,它还有另一个用处,就是指明该图像是倒向的位图,还是正向的位图。如果该值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值