【图像处理】颜色空间

这里介绍RGB、YUV颜色空间,及其他们的转换。


RGB颜色空间

通过RGB三个通道的变化及其它们的相互叠加来得到各式各样的颜色。
不同的图片可能采用不同的位深来表示RGB分量,比较常见的有:
RGB8 :256色,每个像素用8为表示,需要用调色板。
调色板表示存储颜色信息的区域,以RGB8的值为索引,在调色板中获取对应的颜色分量信息。
RGB565:每个像素用16位表示,R:G:B = 5:6:5

RGB24 :每个像素用24位表示,RGB分量各使用8位。


YUV颜色空间

YUV:Y表示亮度信息,UV表示色度信息。
对于YUV颜色空间,通常一个Y并不对应一对UV。这是由于人的眼睛对光比较敏感,在视频信号的传输过程中,为了提高信道利用率,UV分量通常进行压缩。常用的有YUV420,YUV411,YUV422。后面的422,411,420代表色度抽样。
当YUV444时,各分量不进行压缩。

YUV的色度抽样

需要注意的是:
Y:U:V = 4:2:0 表示:
1)第一个值:每行4个像素,总共两行。(这里的两行是标准中的约定,而4则代表着每行4个像素
2)第二个值:第一行中,有2个色度抽样。表示4个像素平分2个色度抽样。
3)第三个值:第二行中,没有色度抽样,那么就会采用与上一行相同的色度抽样。

一个色度抽样代表一对UV,那么在4:2:0的色度抽样中,每对UV代表2x2区域的像素。
如下图所示。



而4:1:1中,每对UV代表1x4区域。
在一些教科书中,经常有这样的表示,每个黑点对应于一对UV。



YUV420码流

以下为具体编码时的码流格式:


YUV420中,每个像素的亮度值都会传输,而每个色度值只会有一对U和V。每对UV对应于一个2x2的数据块。

对应于具体的马骝具体的yuv数据获取:
<span style="font-family:SimSun;font-size:14px;"><span style="font-family:SimHei;font-size:18px;">size.total = size.width * size.height;
y = yuv[position.y * size.width + position.x];
u = yuv[(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total];
v = yuv[(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total + (size.total / 4)];</span></span>

RGB转YUV

以下为具体的RGB转YUV矩阵运算。这些公式来源于NTSC standard 


所以,一般RGB转灰度时,有:
    
    

Gray= R*0.299 + G*0.587 + B*0.114


参考资料:

   
   
https://en.wikipedia.org/wiki/YUV#cite_note-13
 
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值