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]

最新文章

  1. 深入解析js异步编程利器Generator
  2. NSFileManager
  3. Floyd算法 及其运用
  4. What is the behavior of lnk files?
  5. c#数组乱序,打乱数组
  6. 【原创】alias与export
  7. theano中的logisticregression代码学习
  8. Dev GridControl 按条件合并相同单元格
  9. windows下载安装requests
  10. safari的调试工具
  11. pcommlite串口通讯库使用
  12. es6笔记7^_^class
  13. (读书笔记)第2章 TCP-IP的工作方式
  14. JavaScript(第六天)【函数】
  15. Angular UI框架 Ng-alain @delon的脚手架的生成开发模板
  16. 使用GDAL工具对FY3系列卫星数据进行校正
  17. Android为TV端助力 UDP协议
  18. openstack第三章:nova
  19. [Ynoi2018]末日时在做什么?有没有空?可以来拯救吗?
  20. 解决easyUI中翻页后前面已钩选项自动变为未选择的问题

热门文章

  1. 备份-泛函编程(23)-泛函数据类型-Monad
  2. Vuex教程简单实例
  3. react性能调谐与diff算法
  4. SSM项目中表单分页操作(PageHepler使用)
  5. luoguP1725 琪露诺 单调队列
  6. position:搜索框显示历史浏览记录
  7. 51nod1126 求递推序列的第N项【递推】
  8. vue中访问数据接口的配置
  9. ecshop3 调用指定分类下推荐/热卖/新品商品,可指定调用数量
  10. lucene_01_入门程序