文章目录
一:RGB(X)和BGR(X)
1.1 RGB24
RGB24即R分量、G分量和B分量分别占8bit(1个byte)。排列顺序为R-G-B:
每个像素点占字节大小:3 bytes。
1.2 BGR24
BGR24即B分量、G分量和R分量分别占8bit(1个byte)。排列顺序为B-G-R:
每个像素点占字节大小:3 bytes。
1.3 RGB32
RGB32与RGB24相比多了个A分量,且每个分量各占8bit(1个byte)。根据A的排列位置分为:RGBA和ARGB。RGBA排列顺序为R-G-B-A:
ARGB排列顺序为A-R-G-B:
每个像素点占字节大小:4 bytes。
1.4 BGR32
BGR32与BGR24相比多了个A分量,且每个分量各占8bit(1个byte)。根据A的排列位置分为:BGRA和ABGR。BGRA排列顺序为B-G-R-A:
每个像素点占字节大小:4 bytes。
ABGR排列顺序为A-B-G-R:
每个像素点占字节大小:4 bytes。
1.5 其他RGB相关
其他RGB相关格式,例如:RGB444,表示R分量、G分量和B分量分别占4bit;RGB686,表示R分量和B分量占6bit,G分量占8bit。这些格式一般都会带bit数说明且排列顺序同名称顺序。
二:YUV420
YUV420表示:Y分量与U、V分量的比为4:1:1,即每个像素对应一个Y分量,每4个像素对应一个U分量和一个V分量。根据排列顺序,YUV420分为 planar
和 packed(semi-planar)
格式。planar格式的YUV顺序存储;packed格式的YUV的UV分量交错存储。
- planar常见格式有: YUV420P(I420)、YV12;
- packed常见格式有: NV12(YUV420SP)、NV21。
2.1 Planar——YUV420P(I420)
YUV420P先存储所有Y分量,之后存储所有U分量,最后存储所有V分量:
每个像素点占字节大小:3/2 bytes。
2.2 Planar——YV12
YV12先存储所有Y分量,之后存储所有V分量,最后存储所有U分量:
每个像素点占字节大小:3/2 bytes。
2.3 Packed——YUV420SP(NV12)
YUV420SP先存储所有Y分量,然后U分量和V分量交错存储:
每个像素点占字节大小:3/2 bytes。
2.4 Packed——NV21
NV21先存储所有Y分量,然后将V分量和U分量交错存储:
每个像素点占字节大小:3/2 bytes。
三:YUV422
YUV422表示:Y分量与U、V分量的比为2:1:1,即每个像素对应一个Y分量,每2个像素对应一个U分量和一个V分量。
同样,YUV422也分为顺序存储和交错存储:
- planar常见格式: YUV422P;
- packed常见格式: YUY2(YUYV)、YVYU、UYVY
3.1 Planar——YUV422P
YUV422P先存储Y分量,然后存储U分量,最后存储V分量:
每个像素点占字节大小:2 bytes。
3.2 Packed
Packed类型像素排列顺序与名称相同,例如:
YUY2:
其他格式类似。
每个像素点占字节大小:2 bytes。