一.实验原理
1.BMP文件
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式, BMP文件的图像深度可选lbit、4bit、8bit、16bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
2.BMP文件的构成
典型的BMP图像文件由四部分组成:
(1)位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息;
(2)位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;
(3)调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;
(4)位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。
3.二进制编辑器打开BMP文件
前两个字节42 4D表示图像类型为BMP ,文件头FILEHEADER为14字节依次包含文件大小,偏移量等信息,信息头INFOHEADER为40字节,依次包含宽度,高度,深度,图像大小等信息。之后便根据深度的不同,存储的数据发生不同。
(1)24bit
由于24bitBMP图像是真彩色,故无调色板。INFOHEADER后直接开始存实际的位图数据。
(2)8bit
由于8bitBMP图像非真彩色,故需要调色板。
调色板所占空间字节数=sizeof(RGBQUAD)∗2^BitCount (如8bitBMP调色板所占空间字节数=4*2^8=2^10=1024)
所以INFOHEADER后的1024个字节属于改8bit BMP文件的调色板部分。
二.BMP2YUV文件转换流程分析
1.初始化(打开两个文件、定义变量和缓冲区等)
2.BMP文件,抽取或生成RGB数据写入缓冲区
3.调