一、YUV格式
1.YUV420格式
存储方式:先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)
举例:如果w = 4,h = 2,则:
yyyy
yyyy
uu
vv
即 yyyyyyyyuuvv
采样规律是:每个像素点都采样Y,奇数行采样1/2个U,不采样V,偶数行采样1/2个V,不采样U
需要占用的内存:w * h * 3 / 2
详细说明:在YUV420中,一个像素点对应一个Y,一个4X4的小方块对应一个U和V。对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图像。 width * hight =Y(总和) U = Y / 4 V = Y / 4。所以YUV420 数据在内存中的长度是 width * hight * 3 / 2,
假设一个分辨率为8X4的YUV图像,它们的格式如下图:
2.YUV422格式
本格式使用较为广泛
存储方式:Y->U->Y->V->Y->U->Y->V
举例:如果w = 4,h = 2,则:
YUYVYUYV
YUYVYUYV
需要占用的内存:w * h * 2
二、RGB格式
1.RGB24
存储方式:按顺序B->G->R->B->G->R顺序依次存储
需要占用的内存:w * h * 3
2.RGB32
相比RGB24多了8位的透明度A
存储方式:按顺序B->G->R->Alpha->B->G->R->Alpha顺序依次存储
需要占用的内存:w * h * 4
部分内容借鉴于:https://www.cnblogs.com/cyyljw/p/10830985.html