前言
图像处理的第一步就是读取图像数据,图像数据存储的文件格式有很多,比如Bmp,Jpg,Png等。通过opencv算法库,我们可以很方便的读取这些文件中的图像数据。其实,我们也可以根据图片文件的存储方式,自己编码实现对图片数据的读取。Bmp格式图片,在图像领域经常被使用,由于没有经过编码,因此进行数据读取非常方便,下面就详细介绍Bmp格式图片的数据结构。
数据结构
位图文件由文件头、信息表、颜色表、图像数据四个部分组成。
// 文件头
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; //文件类型,必须为BM(1-2字节)
DWORD bfSize; //文件大小,以字节为单位(3-6字节,低位在前)
WORD bfReserved1; //保留字,必须为0(7-8字节)
WORD bfReserved2; //保留字,必须为0(9-10字节)
DWORD bfOffBits; //位图数据的起始位置&#