平面,半平面和交织格式之间的区别是什么



颜色模型与颜色空间之间的差异

RGB565与RGB888不同的任何建议链接

yuv vs rgb vs ycbcr。?

rgb是一种添加色模型,其中红色,绿色和蓝色强度以不同的组合添加在一起以产生详尽的颜色。

rgb888-> r是8位值从0到255。RGB565->这里的r是RGB888的R(8位)最重要的5位。 这里的G是RGB888的G(8位)的6个最重要的位。 这里B是RGB888的B(8位)的5位最重要的位。

如果您看到从RGB888转换为RGB565的数学计算,则如下:

简短的int rgb565_pixel;rgb565_pixel =((R>> 3)<< 11)|((g>> 2)<< 5)|(b>> 3);

这是每个像素的24位转换为每个像素。

来到YUV:YUV是颜色格式,您可以将亮度和颜色成分与RGB格式完全分开。

y代表亮度成分,其中CB和CR代表颜色组件。

平面:在记忆中,y接着是CB,然后是Cr

[y1y2 ......] [cb1cb2 ......] [Cr1cr2 ........]

半平面:在内存中,y接着是CB和CR的交织数据,如下所示:

[y1y2 ......] [cb1cr1cb2cr2 ......]

交错:如果YUV422交错数据,则如下:

y1u1y2v1 y3u2y4v2 ...

有各种颜色空间系统。

  • RGB(主要由捕获或显示设备使用)

  • yuv(模拟系统中的ypbpr)(数字系统中的YCBCR)(大多数所有视频/图像处理/压缩都以这种格式发生。因为Luma和Chroma组件是独立的)

  • hsb hue satuaration亮度。(RGB颜色的替代表示)

  • cmyk(打印媒体使用此颜色空间)


各种Yuv格式(仅8位)

1。计划者

  • 所有y都将在一个数组/平面中,然后您将在另一个数组/平面中,然后V将在另一个数组/平面

  • 这里所有3个数组也可以在单个缓冲区中不同。

i420,i422

反向计划者或交织的计划者:

yv12与i420完全一样,但是U和V飞机的顺序是反向的

2。半计划者

  • 半平面格式具有两个平面,而不是三个平面,一个平面,一个用于亮度的平面,两个平面的平面平面,两个平面的平面。

  • 这里两个数组也可以在单个缓冲区中不同。

NV12,NV16

尊敬的半计划者或交织的计划者:

u和v的订单在第二平面互换。

NV21,NV61

3。包装格式

以包装的格式,通常只有一个平面。(这是类似RGB的)

(数据包格式通常无法处理垂直子采样。)

uyvy或y422

yuy2或v422(反向格式)


由于所有不同的子系统都有自己的格式/fourcc/acro以识别任何格式,因此会产生很多混乱。

喜欢gtreamer/ffmpeg/v4l2等。

最新更新