BMP转YUV实验报告
学号:201510413025 姓名: 宋靳锞 班级: 15广电工3班
本次实验结果如下:
24位图
16位图
8位
4位:
1位:
300*299的图片
右边的黑色就是补得黑框
一、BMP文件的基础知识
位图由4部分组成
位图文件头 BITMAPFILEHEADER |
包含 BMP 图像文件的类型、显示内容等信息 |
位图信息头 BITMAPINFOHEADER |
BMP 图像的宽、高、压缩方法,以及定义颜色等信息 |
调色板PALETTE |
可选,真彩色图(24位的 BMP)就不需要调色板 |
位图数据IMAGEDATA |
24 位图中直接使用 RGB,而其他的小于 24 位的使用调色板中颜色索引值 |
BMP的各个部分都有结构体定义
位图文件头
typedef struct tagBITMAPFILEHEADER {
WORD bfType; /* 说明文件的类型 */
DWORD bfSize; /* 说明文件的大小,用字节为单位 */
WORD bfReserved1; /* 保留,设置为 0 */
WORD bfReserved2; /* 保留,设置为 0 */
DWORD bfOffBits; /* 说明从 BITMAPFILEHEADER 结构开始到实际的图像数
据之间的字节偏移量 */
} BITMAPFILEHEADER;
信息头文件
typedef struct tagBITMAPINFOHEADER {
DWORD biSize; /* 说明结构体所需字节数 */
LONG biWidth; /* 以像素为单位说明图像的宽度 */
LONG biHeight; /* 以像素为单位说明图像的高速 */
WORD biPlanes; /* 说明位面数,必须为1 */
WORD biBitCount; /* 说明位数/像素,1、2、4、8、24 */
DWORD biCompression; /* 说明图像是否压缩及压缩类型 BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS */
DWORD biSizeImage; /* 以字节为单位说明图像大小 ,必须是4 的整数倍*/
LONG biXPelsPerMeter; /* 目标设备的水