颜色模型与颜色空间之间的差异
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等。