1 图像的色彩表示方法——YUV和RGB

图像是用一个个像素组成的,可以用分辨率来表示图像这个矩形每行每列的像素个数。比如,一张图像的分辨率是wxh,表示这个图像由w行h列个像素组成。像素颜色表示方法有两种,YUV和RGB。

YUV

  1. 含义
    Y:是亮度值,即这个像素的灰度值。

U:色度值,蓝色分量。这个值,怎么计算出的?

V:色度值,红色分量。这个值,怎么计算出的?

每个像素都有YUV三个数据组成,每个数据占一个字节,即3*8=24bit。

  1. 数据量的简化
    由于人眼对亮度敏感,对色度不敏感。所以在一张图像中Y全部保留,相邻几个像素共用一个U和V,便能极大的减少图像的数据量,同时也能表示出图像的色彩。按照这种思想,出现了好几种YUV像素格式,分别有:

YUV444
每个像素都有自己的YUV分量
YUV422
每个像素都有自己的Y分量,每2个像素共用1个U和V

YUV Y YUV Y

YUV420
每个像素都有自己的Y分量,每4个像素共用1个U和V

YV Y YV Y

YUV411
YUV410
3. 存储格式
一帧 mxn 的图像,有多个Y,UV数据,这些数据的排列方式有三种

planner :Y U V 分开存储

UUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUU
VVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVV

semi-planner : Y单独存储,UV交叉存放

UVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUV
packed : YUV 全部交叉存放

YUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUVYUV
根据像素格式和存储格式,可以对YUV格式进行分类

在这里插入图片描述

l420 先U 后V
YV12 先V 后U
NV12 先U 后V, UV UV UV
NV21 先V 后U, VU VU VU

RGB
一帧 mxn 的图像,每个像素都可以用R G B 三原色来表示这个像素的颜色,通过三个颜色组合来表示一种颜色。这三个像素不一定是顺序排列的,可能是RGB, 也可能是BGR。

在实际应用中,RGB存在很多格式。

RGB565
每个像素16个字节,RGB分别占5 6 5个字节
内存高字节->低字节:RRRRR GGGGGG BBBBB
RGB1555
每个像素16个字节,RGB分别占5 5 5个字节
内存高字节->低字节:XRRRRR GGGGG BBBBB(X不用)
RGB24(888)
每个像素24个字节,RGB分别占8 8 8个字节
内存高字节->低字节:BBBBBBBB GGGGGGGG RRRRRRRR
RGB32
每个像素32个字节,RGB分别占8 8 8个字节
内存高字节->低字节:BBBBBBBB GGGGGGGG RRRRRRRR xxxxxxx(X不用)
ARGB32
每个像素32个字节,ARGB分别占8 8 8个字节, A为透明度
内存高字节->低字节:BBBBBBBB GGGGGGGG RRRRRRRR AAAAAAAA

YUV和RGB转换
计算公式是怎么来的?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值