工作中常听说RGB/YUV/YCbCr 这样一些名词,概念上似乎很混淆?这里是一个简介,部分内容来自wiki,理解不对的地方欢迎指正。

A:首先两个基本概念:

Color model和Color Space.

1. Color Model: 为了表达人眼观察到的颜色,人们从数学模型上定义了一系列不同的color model,我们常见的有RGB,CMYK,YUV,YPbPr/YCbCr。

2. Color  Space:为了把这样的Color Model数学模型投射到相应的数学表达,根据对于颜色数据的不同处理方式,存储格式等等,产生了不同的Color Space。

本文主要介绍Color Model。Color Space常常涉及到许多具体的数学操作。两者在概念上有时候也会混淆一谈,倒也无所谓,基本上只有行业内人士才需要严格区分概念。

详细可以参考wiki: http://en.wikipedia.org/wiki/Color_space

B: 常用的Color Model简介:

http://en.wikipedia.org/wiki/Color_models

  • RGB在计算机显示中广泛采用(比如LCD,LED),其原色(Primary color)为RGB,是一种加性color model。意思是它是用哪几种光源来投射合成颜色的。几种光源(在纯黑背景上)被混合在一起。也有采用RGBA格式(GPU里面), Alpha代表透明度。
  • CMYK在印刷工业中广泛使用,其原色(Primary color)为 cyan, magenta, yellow, key (black)。是一种减性color model。意思是它是用几种墨水混合来表达被(白色背景)反射出来的颜色,以合成人眼需要识别的颜色。
  • YIQ在 NTSC 电视系统里面广泛使用。Y为亮度信息,IQ为色度信息。
  • YUV在PAL电视系统,以及很多Video 捕捉系统里面使用。Y为亮度信息,UV为色差(Chroma)信息。U/V分别等于blue–luminance/red–luminance。

注:Y’UV vs YUV

(1)Y表示辉度信息(luminance)—或者说是亮度的感知信息

(2)Y’ 表示亮度(Luma)信息—或者说是电子化的亮度信息(和显示系统的硬件信号,比如电压直接相关),

(3)因为人眼对于亮度的感知与实际的显示亮度不是成正比关系的,并不是说亮度增加一倍,人眼感知的亮度就会增加一倍,二者之间有非线性的关系。这个装换就是Gamma矫正。http://en.wikipedia.org/wiki/Gamma_compression

  • YPbPr/YCbCr: 是YUV坐标归一化后的一种color model,视频系统里面广泛采用。YPbPr是YCbCr的模拟版本,二者实际上是一回事,只是用于模拟和数字格式而已。

C:各种颜色模式之间的恩恩怨怨:

  • YIQ和YUV之间的关系: YIQ color space 相对YUV color space旋转 33°。
  • YUV与YPbPr/YCbCr:历史上,YUV被用于电视系统PAL (NTSC里面使用YIQ,是YUV color space的变种,见上文 )的颜色信号的模拟编码;YPbPr/YCbCr 则被用于视频和静态图像处理系统中的颜色编码(例如MPEG/JPEG)。如今,随着两种系统在网络时代的融合,YUV常常被混用于描述被YCbCr编码之后的文件格式 (比如,从ISP输出的数据格式)。
  • 在DVD时代,很多DVD厂商拿YPbPr来表达“逐行扫描”,YCbCr来表达“隔行扫描”,这里无论YPbPr还是YCbCr都是和CRT的扫描方式有关,都是模拟信号--其实和Color model完全不是一码事。属于偷换概念。

D:实际应用举例

现在移动终端中常用到的Camera Sensor,Spec.一般会指明支持哪些Color format.常常看到类似RGB,或者RGB888,YUV,或者YUV422,YUV420之类的输出格式表示:

RGB888:指的是输出信号用RGB格式,RGB的颜色深度均为8(即一个Pixel的颜色需要3X8=24bit来表示)。传统上有人称为RGB接口,并口,PPI口(输出简单,就是8或者16或者24根信号线)等等。不过MIPI口也是可以支持的。

RGB 格式的缺点是三种颜色的权重是类似的,因此信息很难压缩也不适合在带宽受限系统中传输—但是很适合pixel-by-pixel的画图板式操作,所以在显示系统里面被大量使用—比如Mobile display。对于

YUV422: 比较传统的YUV格式是YUV444,表示每个YUV分量均由4bit来表示。不过,犹豫人眼对于亮度信息(Y)的敏感度大于对于色度信息(UV)的敏感度,因此为了减少信息带宽,在对于视觉要求不高的应用中,部分色度信息可以被减少—称为色度抽样(Chroma subsampling),这样就有了YUV422,甚至是YUV420。

http://en.wikipedia.org/wiki/Chroma_subsampling

RAW data:

RAW data在影像学上只是一种概念,没有统一的标准,其基本思想是把原始的图像数据用尽可能靠近sensor感光输出的信号储存起来供后续处理。相对比较通用的RAW格式为DNG (Adobe). 对于移动设备中常用的CMOS sensor,多数不提供RAW data的输出(这一般是单反的feature)。一般会用Bayer格式,这个名字来自Bayer 滤镜,指的是一束光线投射到sensor上并产生相应的输出信号的透镜。输出的格式通是RGBG,GRGB or RGGB.之所以有两个G分量,一方面最小的感光面用矩形在几何上比较好安排(因此有4个感光分量),另一方面人眼对于绿色的敏感度更高一些。

http://en.wikipedia.org/wiki/Bayer_filter

http://en.wikipedia.org/wiki/Raw_image_format

RGB/YUV/YCbCr--关于显示,颜色你需要了解的一些事相关推荐

  1. 常见色域基础知识与色域转换公式(YUV/YCbCr/YIQ/RGB/R‘G‘B‘/CMYK)

    目录 常见色域基础知识与色域转换公式(YUV/YCbCr/YIQ/RGB/R'G'B'/CMYK) 色域基础知识 RGB 色域 YUV/YIQ色域 CMYK色域 色域转换原理 色域转换公式 常见色域基 ...

  2. 色差输出 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)的色差信 ...

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

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

  4. 【颜色空间转换大集合】RGB到YIQ,RGB到HSI和HSI到RGB,RGB到YcbCr,RGB到XYZ颜色转换matlab代码的Demo,含详细的解释

    废话不说,先上图, 实现方式:matlab 实现功能: 实验目标 了解图像颜色空间的转换关系. 了解图像的文件结构. 实验内容 完成如下颜色空间的转换.(4 Points) RGB -> YIQ ...

  5. C#制作一个图片查看器,具有滚轮放大缩小,鼠标拖动,图像像素化,显示颜色RGB信息功能

    目录 前言 一.界面设计 二.关键技术 1.把图片拖入到窗体并显示 2.实现图像缩放的功能 3.实现图像的移动效果 4.实时显示当前鼠标处的RGB值 5. 右击功能的实现 6.效果展示 总结 前言 使 ...

  6. YUV/YCbCr/YPbPr

    先记着几个重要结论(记住后就没那么纠结了): 1.YCbCr 有时会称为YCC. Y'CbCr 在模拟分量视频(analog component video)中也常被称为YPbPr. 2.一般人们所讲 ...

  7. yuv,ycbcr,ypbpr,yiq itu-r bt.656 itu-r bt.601

    YUV,是一种颜色编码方法. YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠. " ...

  8. 分量视频 Y'UV, YUV, YCbCr,YPbPr

    对一种颜色进行编码的方法统称为"颜色空间"或"色域",RGB和YUV,都是颜色空间的种类, Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YU ...

  9. RGB转YCbCr算法 之Matlab FPGA实现介绍

    1.引言 虽然现在RGB是计算机视觉最基本的三原色组成结构,但是YCbCr也有非常重要的角色,甚至却之不可,理由如下: 1)很多机器视觉,图像处理/检测识别算法,不关注色彩,只需要在灰度域处理即可: ...

最新文章

  1. 七段数码管段码表共阳_常用数字电路之显示篇数码管
  2. 四川大学线下编程比赛第一题:数字填充
  3. 兼容IE低版本的文件上传解决方案
  4. SQL--Chapter1_Overview of SQL Server
  5. TestNG和Maven配置指南
  6. db2设置数据库增量备份_DB2在线增量备份 还原增量备份及前滚恢复
  7. python字符串用空格切片_Python切片操作去除字符串首尾的空格
  8. html5两条直线,Html5新特性用canvas标签画多条直线附效果截图
  9. 文字投影_DLP投影仪指标含义汇总(文字稿)
  10. 前后端开源的一款简单的微信个人博客小程序
  11. iOS UI08_TableView界面传值
  12. Python自动化结算工资和统计报表
  13. AppStore下载安装失败
  14. python 常微分方程 画向量场_千里积于跬步——流,向量场,和微分方程[转载]...
  15. 阿里巴巴高级Java面试题(首发,70道)
  16. css之子元素选择器、属性选择器、伪元素选择器
  17. Rust语言——Package、Crate、Module
  18. skfuzzy.cmeans与sklearn.KMeans聚类效果对比以及使用方法
  19. CGdiObject::DeleteObject的说法
  20. LCD fb driver for linux 参数计算

热门文章

  1. H5页面随机数字键盘支付页面
  2. C#中的多线程 - 同步基础
  3. kprobe原理解析
  4. NOIP2005普及组第3题 采药 (背包问题)
  5. hdu5489 Removed Interval dp+线段树优化
  6. SQL语法(1、安装操作)
  7. MySQL中varchar最大长度是多少
  8. HDU 1757 A Simple Math Problem (矩阵快速幂)
  9. 阮一峰:jQuery官方基础教程笔记
  10. .NET中的正则表达式 (三)RegexCompilationInfo 类