BMP序列转YUV文件

目录

一.实验目的

二.实验要求

三.实验步骤

四.实验原理及部分代码

五.实验结果


一.实验目的

  1. 理解图像文件的基本组成
  2. 掌握结构体作为复杂数据对象的用法。进一步熟悉由问题到程序的解决方案,并掌握编程细节:如内存分配、倒序读写、字节序、文件读写过程等。

二.实验要求

1.含5个不同的场景画面的bmp文件,要求带含有班级、学号后四位和本人姓名(缩写或昵称均可)的logo。(基本要求为24bit的BMP,进阶要求为支持小于24bit的BMP。

2.编写将第一步所生成的多个BMP文件转化为YUV文件要求可在命令行中设置每个画面出现的帧数。最后形成的YUV文件应至少包含 200 帧。重点掌握函数定义、缓冲区分配、倒序读写、结构体的操作。

3.对整个程序进行调试,并将生成的YUV文件用播放软件观看,验证是否正确。

三.实验步骤

  1. 打开文件
  2. 读取文件头、信息头
  3. 调色板判断
  4. 读取RGB数据
  5. RGB转YUV
  6. 输出YUV

四.实验原理及部分代码

1.头文件BMP2YUV.h

#ifndef BMP2YUV_H_
#define BMP2YUV_H_
 
#pragma once
#include<windows.h>
 
void ReadRGB(FILE* pfile, const BITMAPFILEHEADER& file_h,const BITMAPINFOHEADER& info_h, unsigned char* rgbData_Out);
void RGB2YUV(unsigned long w, unsigned long h, unsigned char* rgbData, unsigned char* y,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值