YUV格式与RGB格式的转换
文章部分摘自 https://blog.csdn.net/Evankaka/article/details/38176025
https://blog.csdn.net/Guofengpu/article/details/53241542
最近有个场景,上层调用方传输的图片格式为YUV420SP,需要进行YUV与RGB的转换,故了解下YUV格式
YUV格式介绍
YUV格式被称为亮度-色度模型(Luma-ChromaModel)。它是通过数学转换,将RGB三通道转换为一个代表亮度的通道(Y,又称为Luma),和两个代表色度的通道(UV,并称为Chroma)来记录图像的模型。
YUV420、YUV422、YUV444
对于一张图片,像素大小为w*h,宽高分别为w和h
(1) YUV4:2:0
4:2:0并不意味着只有Y,Cb而没有Cr分量..它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0.
其中的Y是w* h,U和V是w/2* (h/2). 需要占用的内存:w * h * 3 / 2
(2) YUV4:2:2
每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,每个由两个水平方向相邻的像素组成