YUV和RGB的相互转换实验报告

本文详细介绍了YUV与RGB之间的转换原理,包括转换公式、存储方式和实验流程。在实验中,作者指出在YUV转RGB过程中可能出现的图像溢出和颜色偏差问题,并提供了关键代码分析,最终得出正确转换结果。实验结果显示,YUV转RGB可能导致蓝色偏红、红色偏蓝的现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、彩色空间转换基本原理

1)彩色空间转换公式:

为了实现格式转换,我们首先要明确待转换格式和目标格式的特点和相互转换关系,这是编程实现转换的核心。对于RGB转YUV的过程,我们要首先拿到RGB文件的数据,再通过上图的YUV计算公式对其做运算,得到YUV数据,从而实现转换。而对于YUV转RGB则要首先获得YUV数据,用第二组RGB公式计算得到RGB数据。 在本实验中,转换公式如下。

Y = 0.298R + 0.612G + 0.117B;

U = -0.168R - 0.330G + 0.498B + 128;

V = 0.449R - 0.435G - 0.083B + 128;

R = Y + 1.4075( V - 128);

G = Y - 0.3455( U - 128) - 0.7169( V - 128);

B = Y + 1.779( U - 128);

其中,计算UV分量时+128是因为UV分量有负值,加上128刚好可以将变化范围调整为0—255。所以在做YUV转RGB时,要特别注意,给UV分量减去128才能代入去乘转换系数。

2)了解两种格式的存储方式:

RGB存储方式:RGB三个分量按照B、G、R的顺序储存。(4:4:4)


YUV存储方式:先存Y再存UV分量。(4:2:0)


3)初始化参数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值