一、和rgb之间换算公式的差异

yuv<-->rgb

Y'= 0.299*R' + 0.587*G' + 0.114*B'

U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')

V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')

R' = Y' + 1.140*V'

G' = Y' - 0.394*U' - 0.581*V'

B' = Y' + 2.032*U'

yCbCr<-->rgb

Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16

Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128

Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128

R' = 1.164*(Y’-16) + 1.596*(Cr'-128)

G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)

B' = 1.164*(Y’-16) + 2.017*(Cb'-128)

Note: 上面各个符号都带了一撇,表示该符号在原值基础上进行了gamma correction

二、来源上的差异

yuv色彩模型来源于rgb模型,

该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。

应用:basic color model used in analogue color TV broadcasting.

YCbCr模型来源于yuv模型。YCbCr is a scaled and offset version of the YUV color space.

应用:数字视频,ITU-R BT.601 recommendation

ps:

通过上面的比较可以确定,我们在h.264,mpeg等编码标准中用的yuv其实是YcbCr,大家不要被名称搞混淆了

4.1.3.3 彩色空间的线性变换标准
为了使用人的视角特性以降低数据量,通常把RGB空间表示的彩色图像变换到其他彩色空间。目前采用的彩色空间变换有三种:YIQ, YUV和YCrCb。每一种彩色空间都产生一种亮度分量信号和两种色度分量信号,而每一种变换使用的参数都是为了适应某种类型的显示设备。其中,YIQ适用于NTSC彩色电视制式,YUV适用于PAL和SECAM彩色电视制式,而YCrCb适用于计算机用的显示器。
1、 YUV与YIQ模型
  在彩色电视制式中,使用YUV和YIQ模型来表示彩色图像。在PAL彩色电视制式中使用YUV模型,其中的YUV不是那几个英文单词的组合词,而是符号,Y表示亮度,UV用来表示色差,U、V是构成彩色的两个分量;在NTSC彩色电视制式中使用YIQ模型,其中的Y表示亮度,I、Q是两个彩色分量
YUV的优点:
1、YUV表示法的重要性是它的亮度信号(Y)和色度信号(U、V)是相互独立的 。
2、YUV表示法的另一个优点是可以利用人眼的特性来降低数字彩色图像所需要的存储容量。
 
在考虑人的视觉系统和阴极射线管(CRT)的非线性特性之后,RGB和YUV的对应关系可以近似地用下面的方程式表示:

Y = 0.299R + 0.587G + 0.114B
U = - 0.147R- 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
 
3 \YIQ与RGB彩色空间变换
RGB和YIQ的对应关系用下面的方程式表示:
Y = 0.299R + 0.587G + 0.114B
I = 0.596R - 0.275G - 0.321B
Q = 0.212R - 0.523G + 0.311B
或者写成矩阵的形式,
 
4 YCrCb与RGB彩色空间变换
   数字域中的彩色空间变换与模拟域的彩色空间变换不同。它们的分量使用Y、Cr和Cb来表示,与RGB空间的转换关系如下:
Y=0.299R+0.578G+0.114B
Cr=(0.500R-0.4187G-0.0813B)+128
Cb=(-0.1687R-0.3313G+0.500B)+128
或者写成矩阵的形式,
 
4. ITU-R BT.601标准摘要
   ITU-R BT.601用于对隔行扫描电视图像进行数字化,对NTSC和PAL制彩色电视的采样频率和有效显示分辨率都作了规定。下表给出了ITU-R BT.601推荐的采样格式、编码参数和采样频率。
    ITU-R BT.601推荐使用4∶2∶2的彩色电视图像采样格式。使用这种采样格式时,Y用13.5 MHz的采样频率,Cr,Cb用6.75 MHz的采样频率。采样时,采样频率信号要与场同步和行同步信号同步。
 
1. 彩色空间之间的转换
  在数字域而不是模拟域中RGB和YCbCr两个彩色空间之间的转换关系用下式表示:
Y = 0.299R + 0.587G + 0.114B
Cr = (0.500R - 0.4187G - 0.0813B) + 128
Cb = (-0.1687R - 0.3313G + 0.500B) + 128
4.1.4.2  彩色电视信号的类型
1、 复合电视信号
    包含亮度信号、色差信号和所有定时信号的单一信号叫做复合电视信号(composite video signal),或者称为全电视信号。
2、 分量电视信号
分量电视信号(component video signal)是指每个基色分量作为独立的电视信号。每个基色既可以分别用R、G和B表示,也可以用亮度-色差表示,如Y、I和Q,Y、U和V。使用分量电视信号是表示颜色的最好方法,但需要比较宽的带宽和同步信号。
3、 S-Video信号
分离电视信号S-Video(Separated video-VHS)是亮度和色差分离的一种电视信号,是分量模拟电视信号和复合模拟电视信号的一种折中方案。使用S-Video有两个优点:
(1) 减少亮度信号和色差信号之间的交叉干扰。
(2) 不须要使用梳状滤波器来分离亮度信号和色差信号,这样可提高亮度信号的带宽。
 
2、 电视扫描和同步
扫描有隔行扫描(interlaced scanning)和非隔行扫描之分。非隔行扫描也称逐行扫描,图4-08表示了这两种扫描方式的差别。黑白电视和彩色电视都用隔行扫描,而计算机显示图像时一般都采用非隔行扫描。

图像处理——RGB-YRK-YUV-YCrCb的转换的更多相关文章

  1. Android 音视频编解码——RGB与YUV格式转换

    一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...

  2. 音视频编解码——RGB与YUV格式转换

    一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...

  3. 【性能优化】优化笔记之一:图像RGB与YUV转换优化

    本文主要介绍如何优化您自己的CODE,实现软件的加速.我们一个图象模式识别的项目,需要将RGB格式的彩色图像先转换成黑白图像.图像转换的公式如下: Y = 0.299 * R + 0.587 * G ...

  4. 【VS开发】【图像处理】 bayer, yuv, RGB转换方法

    因为我的STVxxx USB camera输出格式是bayer格式,手头上只有YUVTOOLS这个查看工具,没法验证STVxxx在开发板上是否正常工作. 网上找了很久也没找到格式转换工具,最后放弃了, ...

  5. 换一个思路压缩图片,RGB转YUV

    一般的压缩方案 做移动平台,终究都是要考虑纹理压缩的问题 IOS/PVR平台上一般会选用PVRTC格式,这个格式压缩还是很给力. Android上设备种类很多,支持的格式各有不同.如果平台能支持下载前 ...

  6. LCD LED OLED区别 以及RGB、YUV和HSV颜色空间模型

    led 液晶本身不发光,而是有背光作为灯源,白色是由红绿蓝三色组成,黑色是,液晶挡住了led灯光穿过显示器. lcd比led更薄. oled:显示黑色时,灯是灭的,所以显示黑色更深,效果更好. 这就不 ...

  7. 色彩空间RGB/CMYK/HSL/HSB/HSV/Lab/YUV基础理论及转换方法:RGB与YUV

    之前做个设计,现在从事IT,脑子里面关于RGB,RGBA,CMY,CMYK,YUV,但是具体理论还是不扎实.若干年前之前写过<水煮RGB与CMYK色彩模型—色彩与光学相关物理理论浅叙>&l ...

  8. RGB、YUV、HSV和HSL区别和关联

    RGB.YUV.HSV和HSL区别和关联 近期在做的一个需求和颜色转换有关系,所以本篇将开发过程中比较常见的 四种颜色 进行一番梳理. 一.RGB颜色空间 从我们最常见的RGB颜色出发,RGB分别对应 ...

  9. 多媒体编程基础之RGB和YUV

    一.概念 1.什么是RGB? 对一种颜色进行编码的方法统称为“颜色空间”或“色域”.用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量.RGB(红.绿.蓝)只是众多颜色空间 ...

  10. 视音频数据处理入门:RGB、YUV像素数据处理

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

随机推荐

  1. centos7安装bind(DNS服务)

    环境介绍 公网IP:149.129.92.239 内网IP:172.17.56.249 系统:CentOS 7.4 一.安装 yum install bind bind-utils -y 二.修改bi ...

  2. [Memcached]操作

    telnet连接memcached 查看端口是否可访问 # telnet 172.16.1.1 11211 Trying 172.16.1.1... Connected to 172.16.1.1. ...

  3. 杭电-------2048不容易系列之(4)考新郎(C语言)

    /* 思路:有n位新郎,但是又m位新郎会找错,那么有n-m位新郎会找对,而找对的n-m位新郎的找发就是在 n位新郎中随机找n-m位有多少种排列组合公式有n!/(m!*(n-m!)),而另外找错的新郎则 ...

  4. 详解Net Core Web Api项目与在NginX下发布

    前言 本文将介绍Net Core的一些基础知识和如何NginX下发布Net Core的WebApi项目. 测试环境 操作系统:windows 10 开发工具:visual studio 2019 框架 ...

  5. Arm开发板+Qt学习之路-析构函数和对话框一起时

    先记录一下代码 一:先将指针释放掉,在显示对话框 void MainWindow::canResponseError(SendCanMsgThread *sendCanMsgThread ){ std ...

  6. PMP--2.1 商业论证(经济可行性研究报告)

    ####################################################### PS:半个月没有更新文档,因为是有点单线程,在整理启动过程组和规划过程组的内容,在规划规 ...

  7. 静态存储SRAM设计

    SRAM即静态随机存取存储器.它是具有静止存取功能的内存,不需要刷新电路便能保存它内部存储的数据.在工业与科学用的很多子系统,汽车电子等等都用到了SRAM.现代设备中很多都嵌入了几千字节的SRAM.实 ...

  8. vue移动端下拉刷新、上拉加载

    由于自身的项目比较简单,只有几个H5页面,用来嵌入app中,所有没有引入移动端的UI框架,但是介于能让用户在浏览H5页面时有下拉刷新和上拉加载,有更好的用户体验,自己写组件实现. 1.下拉刷新Drop ...

  9. sql的一般查询语句(增删改查中的查)

    /*例子 判断规则 http://xxx.xxx/new.php?id=57 and 1=1 正确 http://xxx.xxx/new.php?id=57 and 1=2 错误 http://xxx ...

  10. Visual Studio Code中C/C++的环境配置

    Visual Studio Code 的功能十分强大,但是对我这种小白不是很友好,它和其它的集成开发工具不同,Visual Studio Code (以下简称VS)自身其实仅仅是一个编辑器, 是不具备 ...