YCbCr色彩空间

一. RGB

三原色光模式(RGB color model)

表示方式

RGB 颜色空间

  • R(red): 红色
  • G(green): 绿色
  • B(blue): 蓝色

使用场景

摄影, 彩色电视, 彩色显示屏

 

二. HSV(HSL)

HSV(HSL) 是一种将 RGB 色彩模型中的点在圆柱坐标系中的表示法。

表示方式

HSV 颜色空间

  • H(Hue): 色相(表示什么颜色)
    • 每个角度上都有不同的颜色
  • S(Saturation): 饱和度(表示颜色的深浅)
    • 色轮上的饱和度, 从圆心出发, 半径越大, 饱和度越高
  • V(Value)/B(Light): 亮度值(表示颜色的明暗)
    • 从圆锥的顶点出发, 越往上, 亮度越大

使用场景

HSV 模型通常用于计算机图形应用中

特点

HSV 因为它类似于人类感觉颜色的方式,具有较强的感知度。而HSV以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”

  • 通过 S 分量, 调节饱和度更方便
  • 通过 V 分量, 调节亮度更方便

 

三. YUV(YCbCr)

YUV 是北美 NTSC 系统和欧洲 PAL 系统中模拟电视信号编码的基础

  • YCbCr 则是在世界数字组织视频标准研制过程中作为 ITU - R BT1601 建议的一部分, 其实是 YUV 经过缩放和偏移的翻版

一) 表示方式

通道分离

  • Y: 亮度信号
  • U(Cb): 蓝色色度分量
  • V(Cr): 红色色度分量

二) 使用场景

YCbCr 常用于视频领域, 也是 JPEG 图像编码中采用的色彩空间

YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间,常见的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等,其中比较常见的YUV420分为两种:YUV420P和YUV420SP。

  • 常用的 YUV 格式有 YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420
  • android平台下使用相机默认图像格式是NV21属于YUV420SP格式

其中 YUV420 的格式比较常用

 

YUV采样

YUV 4:4:4采样,每一个Y对应一组UV分量,一个YUV占8+8+8 = 24bits 3个字节。
YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节。
YUV 4:2:0采样,每四个Y共用一组UV分量,一个YUV占8+2+2 = 12bits 1.5个字节。

三) YUV420

YUV420 每四个 Y 共用一组 UV 分量

  • 分为 YUV420P 和 YUV420SP 两种子模式
  • YUV420P和YUV420SP都是基于4:2:0采样的,所以如果图片的宽为width,高为 heigth,在内存中占的空间为 width * height * 3 / 2 ,其中前 width * height 的空间存放Y分量,接着 width * height / 4 存放U分量,最后 width * height / 4 存放V分量。

YUV420

  • 其中颜色相同的表示一组 YUV 的像素

1. YUV420P

YUV420P 又叫plane平面模式, 是 YUV 标准格式 YUV420, 主要分为: YU12和YV12

  • YU12(android平台下也叫作I420格式): 先存储 Y 值, 再存储 U 值, 最后存储所有 V 值

YU12:亮度(行×列) + U(行×列/4) + V(行×列/4)

  • YV12: 先存储 Y 值, 再存储 V 值, 最后存储所有 U 值

YV12:亮度Y(行×列) + V(行×列/4) + U(行×列/4)

 

 

2. YUV420SP

YUV420SP 先存储所有 Y 值, 然后是 UV/VU 交替存储, 一共两个平面, 其主要的子格式有 NV12 和 NV21, 是一种two-plane模式

  • NV12: 先存储 Y 值, 再存储 UV

NV12存储顺序是先存Y值,再UV交替存储:YYYYUVUVUV,以 4 X 4 图片为例子,占用内存为 4 X 4 X 3 / 2 = 24 个字节

  • NV21: 先存储 Y 值, 再存储 VU

android手机从摄像头采集的预览数据一般都是NV21,存储顺序是先存Y,再VU交替存储,NV21存储顺序是先存Y值,再VU交替存储:YYYYVUVUVU,以 4 X 4 图片为例子,占用内存为 4 X 4 X 3 / 2 = 24 个字节

 

YUV和RGB转换

Y      =  (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
Cr = V =  (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128

B = 1.164(Y - 16) + 2.018(U - 128)
G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
R = 1.164(Y - 16) + 1.596(V - 128)

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值