1 前言

自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括 RGB / CMYK / YIQ / YUV / HSI等等。

对于数字电子多媒体领域来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV这两种(实际上,这两种体系包含了许多种具体的颜色表达方式和模型,如sRGB, Adobe RGB, YUV422, YUV420 …), RGB是按三基色加光系统的原理来描述颜色,而YUV则是按照 亮度,色差的原理来描述颜色。

即使只是RGB YUV这两大类色彩空间,所涉及到的知识也是十分丰富复杂的,自知不具备足够的相关专业知识,所以本文主要针对工程领域的应用及算法进行讨论。

2 YUV相关色彩空间模型

2.1 YUV 与 YIQ YcrCb

对于YUV模型,实际上很多时候,我们是把它和YIQ / YCrCb模型混为一谈的。

实际上,YUV模型用于PAL制式的电视系统,Y表示亮度,UV并非任何单词的缩写。

YIQ模型与YUV模型类似,用于NTSC制式的电视系统。YIQ颜色空间中的I和Q分量相当于将YUV空间中的UV分量做了一个33度的旋转。

YCbCr颜色空间是由YUV颜色空间派生的一种颜色空间,主要用于数字电视系统中。从RGB到YCbCr的转换中,输入、输出都是8位二进制格式。

三者与RGB的转换方程如下:

RGB -> YUV:

实际上也就是:

Y=0.30R+0.59G+0.11B , U=0.493(B-Y) , V=0.877(R-Y)

RGB -> YIQ:

RGB -> YCrCb:

从公式中,我们关键要理解的一点是,UV / CbCr信号实际上就是蓝色差信号和红色差信号,进而言之,实际上一定程度上间接的代表了蓝色和红色的强度,理解这一点对于我们理解各种颜色变换处理的过程会有很大的帮助。

我们在数字电子多媒体领域所谈到的YUV格式,实际上准确的说,是以YcrCb色彩空间模型为基础的具有多种存储格式的一类颜色模型的家族(包括YUV444 / YUV422 / YUV420 / YUV420P等等)。并不是传统意义上用于PAL制模拟电视的YUV模型。这些YUV模型的区别主要在于UV数据的采样方式和存储方式,这里就不详述。

而在Camera Sensor中,最常用的YUV模型是 YUV422格式,因为它采用4个字节描述两个像素,能和RGB565模型比较好的兼容。有利于Camera Sensor和Camera controller的软硬件接口设计。

3 YUV2RGB快速算法分析

这里指的YUV实际是YcrCb了,YUV2RGB的转换公式本身是很简单的,但是牵涉到浮点运算,所以,如果要实现快速算法,算法结构本身没什么好研究的了,主要是采用整型运算或者查表来加快计算速度。
首先可以推导得到转换公式为:

        R = Y + 1.4075 *(V-128)

YIQ、YUV、YCrCb 与 RGB关系相关推荐

  1. 色差输出 S-Video YUV YCbCr YPvPr RGB VGA WXGA

    色差输出 S-Video YUV YCbCr YPvPr RGB VGA WXGA 色差输出 色差信号y,r-y,b- y信号一般通称为y, cr,cb; 习惯上y,cr,cb为数字(pcm)的色差信 ...

  2. SPDIF 色差输出 视频输出 S-Video YUV YCbCr YPbPr RGB VGA WXGA 分别的详细介绍 视频方式接口简介

    SPDIF 色差输出 视频输出 S-Video YUV YCbCr YPbPr RGB VGA WXGA 分别的详细介绍 视频方式接口简介 2008年04月05日 星期六 00:27 SPDIF 数字 ...

  3. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  4. YUV 格式与 RGB 格式的相互转换公式总结(C++版)

    YUV 格式与 RGB 格式的相互转换公式 最近在用的一个工业相机,输出的图像格式是 YUY2 格式.而在电脑上显示时需要 RGB 格式,所以就花了些时间在网上查了些相关的资料.说实话,网上关于 YU ...

  5. YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值

    YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值 0 前言 一. 公式:基于BT.601-6 二.常用颜色值 0 前言 :找了很多转换公式,这次打算梳理一下,我只采纳了YUV标称的以及RGB ...

  6. 图片YUV格式与RGB格式的转换

    YUV格式与RGB格式的转换 YUV格式介绍 YUV420.YUV422.YUV444 (1) YUV4:2:0 (2) YUV4:2:2 (3) YUV4:4:4 内存排列方式 YUV与RGB转换 ...

  7. yuv显卡转换rgb

    该文是转载:原文地址: http://blog.csdn.net/wangchenggggdn/archive/2010/07/05/5713075.aspx 首先要感谢ffmpeg, 如果没有它,所 ...

  8. c语言yuv图片cb,RGB、YUV和YCbCr

    之前对RGB.YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步. 首先要说明,上述的RGB.YU ...

  9. c语言bmp图像YUV转化成RGB,RGB与YUV图像格式的相互转换

    RGB与YUV图像格式的相互转换 (参考上的<RGB与YUV图像视频格式的相互转换>文章,做了些修改) RGB介绍:在记录计算机图像时,最常见的是采用RGB(红.绿,蓝)颜色分量来保存颜色 ...

  10. YUV格式转换RGB(基于opencv)

    在编写代码将需要处理YUV格从每个视频帧中提取,然后将其保存为图片.有两种常见的方法在线,第一种是通过opencv自带cvCvtColor,可是这样的方法有bug.得到的图片会泛白.另外一种方法是公式 ...

最新文章

  1. 【CodeVS】p1299 切水果
  2. python list查找元素下标_Python 查找list中的某个元素的所有的下标方法
  3. VC中使用低级音频函数WaveX播放声音文件
  4. VirtualBox linux 网络设置 Bridged Adapter模式
  5. linux命令栏下访问oracle,linux下远程连接oracle数据库
  6. SEO行业的路上没有捷径
  7. 数据结构与算法(Python)第三天
  8. 如何使用 @ OutputCache 指令的 VaryByCustom 属性来缓存不同版本的页面(二)
  9. lstm数学推导_LSTM简介以及数学推导(FULL BPTT)
  10. 本科毕业论文查重网站分享(维普、知网、万方、大雅等)
  11. Win10系统怎么注销微软账户
  12. 深入理解C语言小括号用法
  13. WIN7 通知栏处喇叭上有个小红叉,提示未插入“未插入扬声器或耳机”的解决方法
  14. 详解CAD软件2023功能更新-7个随附专业化工具组合
  15. OpenCV C++开发 第一节:Win7开发环境搭建
  16. 和云服务器同步文件,和云服务器同步文件
  17. windows渗透利器——PentestBox的内功和攻击力
  18. 广州移动华为认证培训之行
  19. Python:岱宗夫如何?齐鲁青未了.
  20. formdata格式传参

热门文章

  1. 常用的抓包工具有哪些?
  2. 子网划分的计算与可用主机数
  3. 获取Map的key值的几种方式
  4. elasticsearch7.x Java High Level REST客户端封装工具
  5. 华师计算机学院在职研究生,2021年华南师范大学在职研究生招生简章
  6. python足球作画
  7. System.out简单解释
  8. 这一年炼就的底层内功修养
  9. 手把手教做无人驾驶算法(二十八)--Tube MPC与MPC区别
  10. Cybertec PostgreSQL透明加密解析