【数据压缩】yuv2rgb

YUV2与RGB图像变换 实验目标 使用c以及c++语言编写色彩空间的转换,利用YUV文件转换为RGB文件并比较不同。 实验原理 1.YUV与RGB空间的相互转换 由电视原理可知,亮度和色差信号的构成如下: Y=0.2990R+0.5870G+0.1140B R-Y=0.7010R-0.5870G-0.1140B B-Y=0.2990R+0.5870G+0.8860B 为了使色差信号的动态范围控制在0.5之间,需要进行归一化,对色差信号引入压缩系数。归一化后的色差信号为: U=0.1684R+0.3316G+0.5B V=0.5R- 阅读详情


1、本实验涉及原理


(1)YUV与RGBRGB空间的相互转换
        
由电视原理可知,亮度和色差信号的构成如下:
         Y
=0.2990R+0.5870G+0.1140B
         R-Y
=0.7010R -0.5870G -0.1140B
         B-Y
=-0.2990R -0.5870G+0.8860B
为了使色差信号的动态范围控制在0.5 0.5之间,需要进行归一化对色差信号引入压缩系数。归一化后的色差信号为:
        U
=-0.1684R -0.3316G+0.5B
        V
=0.5R -0.4187G -0.0813B


自然,我们可以写出由YUV表示的RGB的表达式,我们可以自己计算,我是从网上查到的公式如下:




(2)我们知道从RGB文件转换成YUV文件时,是分别写入y_buffer,u_buffer和v_buffer的,所以在YUV转RGB文件时我沿袭了这个想法,读入的YUV文件就开辟了三块区域分别存放YUV数据流。而在4:2:0格式下,UV分量的大小都只有Y分量的1/4,而RGB每个都是一样大小,所以y_buffer给开width*height,u_buffer和v_buffer都是开width*height/4。而RGB每块区域都是width*height,所以RGB文件给开width*height*3大小的缓存。


需要注意的是,我们写yuv2rgb.cpp时,原先从RGB转4:2:0的YUV需要进行下采样,所以4:2:0的YUV转RGB需要进行上采样,将一个U或V

【数据压缩】RGB2YUV/YUV2RGB实验报告 YUV与RGB空间的相互转换: (经过动态幅度调整后) Y=0.2990*R+0.5870*G+0.1140*B U=-0.1684*R+-0.3316*G+0.5*B V=0.5*R-0.4187*G-0.0813*BYUV与RGB空间的相互转换: R = Y+(R-Y) = Y+1.14075(V-128) G = Y+(G-Y) 阅读详情

相关推荐

数据压缩:yuv2rgb并通过rgb2yuv进行验证

由电视原理可知RGB与YUV的关系: Y=0.2990*R+0.5870*G+0.1140*B R-Y=0.7010*R-0.5870*G-0.1140*B B-Y=-0.2990*R-0.5870*G+0.8860*B 归一化后: U=-0.1684*R-0.3316*G+0.5*B V=0.5*R-0.4187*G-0.0813*b 则 R=Y+(R-Y)= Y + 1.40

g_m_n的博客 492

数据压缩作业1-2|针对down.rgb和down.yuv分析三个通道的概率分布,并计算各自的熵

实验任务 对文件down.rgb和down.yuv分析三个通道的概率分布,并计算各自的熵。(编程实现)两个文件的分辨率均为256*256,yuv为4:2:0采样空间,存储格式为:rgb文件按每个像素BGR分量依次存放;YUV格式按照全部像素的Y数据块、U数据块和V数据块依次存放。 实验目的 了解RGB和YUV与图像信号的联系,并能够编写程序计算各分量的熵,同时得出图像数据压缩中对RGB和YUV的分析意义。 实验内容 1.首先了解一下rgb,yuv 下面链接简单了解一下RGB与像素的关系 http://www

m0_55764256的博客 278

数据压缩实验一:彩色空间转换实验(yuv2rgb)

一、基本原理 1、rgb转yuv公式 Y=0.2990*R+0.5870*G+0.1140*B R-Y=0.7010*R-0.5870*G-0.1140*B B-Y=-0.2990*R-0.5870*G+0.8860*B 为了使色差信号的动态范围控制在0.5之间,需要进行归一化。 U= 0.492*(B-Y)= -0.147*R-0.289*G+0.436*B  V= 0.8

namino_的博客 672

数据压缩原理实验2_实验报告

数据压缩原理实验2_BMP2YUV文件转换一、实验原理 1.BMP文件的组成结构 BMP 文件的图像深度可选 lbit、4bit、8bit、16bit 及 24bit。BMP 文件存储数据时,图像的扫 描方式是按从左到右、从下到上的顺序( 所以bool flip = FALSE)。 典型的 BMP 图像文件由四部分组成: 位图头文件数据结构、位图信息数据结构、调色板、位图数据。 相应的数

jiaoshiyuan的博客 514

数据压缩实验一:yuv转rgb

一、实验原理 1.彩色空间转换的基本思想及转换公式 (1)YUV与RGB空间的相互转换 RGBàYUV基本公式: Y=0.2990R+0.5870G+0.1140B R-Y=0.7010R-0.5870G-0.1140B B-Y=-0.2990R-0.5870G+0.8860B 为了使色差信号的动态范围控制在0.5之间,需要进行归一化,对色差信号引入压缩系数。归一化后的色差信号为:

fang_na的博客 743

YUV2RGB快速算法分析

YUV实际是YcrCb了,YUV2RGB的转换公式本身是很简单的,但是牵涉到浮点运算,所以,如果要实现快速算法,算法结构本身没什么好研究的了,主要是采用整型运算或者查表来加快计算速度。 首先可以推导得到转换公式为: R = Y + 1.4075 *(V-128) G = Y – 0.3455 *(U –128) – 0.7169 *(V –128) B = Y...

程序猿老樊的博客 1588

YUV420格式图片 和 视频 测试用

在开发过程种,自己制作的YUV420图片一张,以及YUV420视频一段,虽然质量不好,但是测试用足以。

Yocto下载加速秘籍:用清华镜像+PREMIRRORS配置让构建速度翻倍

本文详细解析了如何通过配置Yocto的PREMIRRORS优先级策略,并利用清华大学等国内镜像源,显著加速构建过程中的源码下载。文章提供了具体的配置示例和验证方法,帮助开发者解决网络瓶颈,实现构建速度翻倍,提升开发效率。

game4的博客 276

安装keil5(MDK)及导入pack包教程

首先说明的是我安装的Keil版本为Keil V5.29.0.0 1、安装软件 右键管理员权限运行安装包 设置安装路径以及pack的存放路径 随意输入First Name和E-mail 安装驱动 完成软件安装,然后可以先关闭弹出的Pack Install(一会再添加) 2、激活一下软件 打开桌面的Keil File → License Management(我之前注册过了) 右...

hrx-@@ 10万+

比亚迪开放平台接口实战:车身状态监测与智能车联应用开发

本文详细介绍了如何利用比亚迪开放平台的车身状态接口进行智能车联应用开发。通过核心类BYDAutoBodyworkDevice,开发者可以安全获取车辆VIN、车门车窗状态、蓄电池电压、方向盘转角等实时数据,并利用监听器实现状态实时响应。文章提供了从SDK集成、接口调用到典型应用场景(如远程车况检查、车队管理)的完整实战指南,助力开发者快速构建基于比亚迪车辆数据的创新应用。

weixin_29176179的博客 725

“华为”云桌面系统声音比较小,如何调大?

调整操作系统声音 开启云桌面,登录账户之后,进入操作系统,鼠标左键点击右下角的声音图标,把声音调到最大(如下图); 可以考虑使用浏览器在线听音乐,确定声音的音量! 如果只是耳麦声音小,可以鼠标右键点击声音图标,选择录音设备(R),如下图: 点击“录音设备(R)”后进入,鼠标右键点击“麦克风”选择属性,将侦听级别调至最大,确定! 调整华为云终端声音(软设置) 将鼠标移至桌面的顶端中间位置,打开如下图的样式图标,鼠标左键点击“主页”; 点击“主页”之后,将回到云桌面的终端操作界面,

shunchang的专栏 2337

【网络安全 | 渗透工具】Hydra安装使用详细教程

Hydra,也称九头蛇,是一款非常强大的暴力破解工具(密码能否被破解关键在于字典是否足够强大),支持多种服务协议的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装。该工具支持以下协议的爆破:Hydra在kali中自带,这里介绍windows下的安装方法。zip下载地址:https://gitcode.com/maaaaz/thc-hydra-windows/tree/master下载完成后解压: 再将thc-hydra-windows-mast

等风来 9201

COMSOL有限元仿真深度指南:为结构件添加预应变

一、什么是预应力和预应变? 我们知道,结构力学问题中,结构件在外载荷作用下产生变形响应以吸收外载荷做功带来的能量;而在结构内部,整体的受力和变形则是通过固体微元的应力与应变传递的。 对于线弹性材料来说,应力与应变的关系可以线性表达,也即 σ=Dεσ = Dεσ=Dε ;在该式中,无论固体微元的应变程度多大,弹性矩阵DDD都是一个不变的常值。而对于超弹性材料来说,应力与应变的关系则需要通过应变能密度函数WWW来表征(详细参加博客《COMSOL有限元仿真深度指南:超弹性模型有限元分析入门》)。 从上面我们也不难

忘了面孔的Batou 7170

【硬件工程师面经整理2_电源篇】

硬件工程师面经整理_电源篇

LeeYLong的博客 2767

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

下一篇: 【数据压缩】bmp2yuv
cimoaa
博客等级 码龄10年 2粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值