RGB => YCbCr:

Y = 0.299R + 0.587G + 0.114B
Cb = -0.1726R - 0.3388G + 0.5114B + 128
Cr = 0.5114R - 0.4282G – 0.0832B + 128

Then we get YCbCr => RGB:

R = Y + 1.371(Cr – 128)
G = Y – 0.6982(Cr – 128) – 0.3365(Cb – 128)
B = Y + 1.732(Cb – 128)

8bit conversion equation
Y = (77R + 150G + 29B)>>8
Cb = (-44R – 87G + 131B)>>8 + 128
Cr = (131R – 110G – 21B)>>8 + 128

R = Y + (351(Cr – 128))>>8
G = Y – (179(Cr – 128) + 86(Cb - 128))>>8
= Y – (179Cr + 86Cb)>>8 + ((179 + 86) * 128)>>8
= Y + 133 – (128 + 179Cr + 86Cb)>>8
B = Y + (443(Cb - 128))>>8

To use look-up table, we can change to following format:

RGB => YCbCr:
We adjust a little of the factors to avoid saturation operation to improve performance
Y = (77R + 150G + 29B)>>8
Cb = (128B – 43R – 85G)>>8 + 128 = (32768 + 128B – 43R – 85G)>>8
Cr = (128R – 107G – 21B)>>8 + 128 = (32768 + 128R – 107G – 21B)>>8

It needs 8 look-up tables:
T_77 [256], T_150 [256], T_29 [256], T_128 [256],
T_43 [256], T_85 [256], T_107 [256], T_21 [256]

YCbCr => RGB
R = SATURATION (Y + 1.371(Cr – 128))  
G = SATURATION (Y – 0.6982(Cr – 128) – 0.3365(Cb – 128))
B = SATURATION (Y + 1.732(Cb – 128))
Here, “SATURATION (A)” means:
If (A > 255)
A = 255
Else if (A < 0)
A = 0

It needs 4 tables:
Cr_1371 [256], Cr_06982 [256], Cb_03365 [256], Cb_1732 [256]

YCbCr to RGB and RGB toYCbCr的更多相关文章

  1. RGB 与 (RGB转 YCbCr再转为 RGB)的图像

           RGB 与 (RGB转 YCbCr再转为 RGB)的图像   不可逆,能够从 矩阵的逆运算看出来. 附上 matlab 代码:         clc,clear; Source=imr ...

  2. Bayer RGB和RGB Raw

    Bayer RGB和RGB Raw 对于SENSOR来说,Bayer RGB和RGB Raw两者的图象结构都是BG/GR的(Bayer pattern说的是COLOR FILTER的结构, 分为两种: ...

  3. yuv420转rgb 及 rgb转bmp保存

    /// <summary> /// 将一桢 YUV 格式的图像转换为一桢 RGB 格式图像. /// </summary> /// <param name="y ...

  4. [#1] YCbCr与RGB的转换公式

    1 YCbCr简介 YCbCr颜色空间是将RGB颜色空间进行坐标转换后得到的,常用于数字电视系统.Y取值范围:16~235 Cb.Cr的取值范围:16~240 YCbCr经常和YUV混淆.两者的主要差 ...

  5. RGB、YUV和YCbCr介绍【转】

    RGB: 就是常说的红(Red).绿(Green)和蓝(Blue),每个图像的像素点由RGB三个通道的值组成. YUV和YCbCr: YUV与RGB的转换: Y'= 0.299*R' + 0.587* ...

  6. 谈谈“色彩空间表示方法”——RGB、YUY2、YUYV、YVYU、UYVY、AYUV

    转自:http://bbs.chinavideo.org/viewthread.php?tid=4143 还可参考http://www.fourcc.org/yuv.php 小知识:RGB与YUV-- ...

  7. 算法优化:rgb向yuv的转化最优算法,快得让你吃惊!

    朋友曾经给我推荐了一个有关代码优化的pdf文档<让你的软件飞起来>,看完之后,感受颇深.为了推广其,同时也为了自己加深印象,故将其总结为word文档.下面就是其的详细内容总结,希望能于己于 ...

  8. RGB转为Lab空间

    虽然若干年前就看过了关于色彩空间的介绍,但是直到今天才自己动手写代码做这件事情.虽然网络上已经有很多现成的例子,但是一则仅仅适用于浮点型的数据,另一方面,在实现上也有一些尚可优化之处. 色彩模型除了最 ...

  9. 算法优化:rgb向yuv的转化最优算法

    朋友曾经给我推荐了一个有关代码优化的pdf文档<让你的软件飞起来>,看完之后,感受颇深.为了推广其,同时也为了自己加深印象,故将其总结为word文档.下面就是其的详细内容总结,希望能于己于 ...

随机推荐

  1. POJ_2063_完全背包

    Investment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10090   Accepted: 3540 Descr ...

  2. 搜索引擎seo优化

    <a href="" title="SEO优化"></a> <img src="" alt="SEO ...

  3. lucene_08_solr导入数据库数据

    一步:在solr家目录中导入 下图的jar包 第二步:配置solr 家目录 solr_home\collection1\conf\solrconfig.xml.在config标签下加入requestH ...

  4. elasticsearch 权威指南入门阅读笔记(一)

    相关文档 esapi:https://es.xiaoleilu.com/010_Intro/10_Installing_ES.html     https://esdoc.bbossgroups.co ...

  5. Optimization on content service with local search in cloud of clouds

    曾老师的这篇文章发表于Journal of Network and Computer Applications,主要解决的是利用启发式算法决定如何在cloud of clouds中进行副本分发,满足用 ...

  6. 转载 - JTable 使用细讲

    原文地址:http://hi.baidu.com/jiajiajava/item/1a18431b322fc011e2f986ef JTable是Swing编程中很常用的控件,这里总结了一些常用方法以 ...

  7. windows 下 logstash 安装启动

    最新在研究elastic stack (elk)  : logstash 安装,下载最新版本的logstash: 点击打开链接 解压到磁盘根目录下:在logstash>bin 1.目录下创建:l ...

  8. 07springMVC视图解析器

    u  概述 u  常见视图解析器 u  UrlBasedViewResolver u  InternalResourceViewResolver u  视图解析器链 u  说明 1      概述 在 ...

  9. 开源分布式MySQL中间件探究与应用 dba+

  10. nutch的定时增量爬取

    译文来着: http://wiki.apache.org/nutch/Crawl 介绍(Introduction) 注意:脚本中没有直接使用Nutch的爬去命令(bin/nutch crawl或者是& ...