YUV与RGB格式的相互转换及误差

一、RGB转YUV

1、原理

a、YUV的计算公式:
在这里插入图片描述

b、动态保护范围:
在这里插入图片描述

2、源代码

源代码为老师发的代码此处略

3、实验结果

a、原rgb:在这里插入图片描述

b、转换后yuv:在这里插入图片描述

二、YUV转RGB

1、原理

a、RGB的计算公式:在这里插入图片描述

b、防止数据溢出
在这里插入图片描述

2、源代码及解释

a、yuvrgb.cpp(转换函数)
在这里插入图片描述
以上两图
以上,用数组的形式定义了yuv计算公式的系数,用于yuv的计算
在这里插入图片描述
参数的声明,以及判断宽高是否为偶数
在这里插入图片描述
定义y、u、v、rgb
在这里插入图片描述
函数的主要部分,将yuv转rgb
在这里插入图片描述

b、main函数
在这里插入图片描述
引入库,声明
在这里插入图片描述
赋初值,参数定义
在这里插入图片描述
文件的打开和输出
在这里插入图片描述
开辟空间
在这里插入图片描述
转换及输出
在这里插入图片描述

3、实验结果

a、原yuv:在这里插入图片描述

b、转换后rgb:在这里插入图片描述
c、用第一个程序还原的yuv:在这里插入图片描述

4、误差

误差分析:因为数据溢出转换后得到的图片略有失真。

5、注意事项

rgb图像应按照gbr输出,注意输出顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值