颜色模型和颜色空间之间的区别
RGB565与RGB888的不同之处是任何建议的链接
YUV vs RGB vs YCbCr。?
答案 0 :(得分:17)
RGB是一种加色模型,红色,绿色和蓝色强度以不同的组合加在一起,形成一组详尽的颜色。
RGB888 - > R是8位值,从0到255不等.G和B相同。 RGB565 - >这里R是来自RGB888的R(8位)的5个最高有效位。 这里G是来自RGB888的G(8位)的6个最高有效位。 这里B是来自RGB888的B(8位)的5个最高有效位。
如果您看到从RGB888转换为RGB565的数学计算,它看起来如下:
short int rgb565_pixel; rgb565_pixel =((R>> 3)<< 11)| ((G>> 2)<< 5)| (B>> 3);
每像素24位转换为每像素16位。
来到YUV:YUV是一种颜色格式,您可以将RGB格式的亮度和颜色分量完全分离。
Y表示亮度分量,其中Cb和Cr表示颜色分量。
平面:在记忆中,Y后跟Cb,然后是Cr
[Y1Y2 ......] [Cb1Cb2 ......] [Cr1Cr2 .......]
半平面:在内存中,Y后跟Cb和Cr的交错数据,如下所示:
[Y1Y2 ......] [Cb1Cr1Cb2Cr2 ......]
交错:在YUV422交错数据的情况下,它如下所示:
Y1U1Y2V1 Y3U2Y4V2 ......
答案 1 :(得分:0)
有各种色彩空间系统。
RGB(主要用于捕获或显示设备)
YUV(模拟系统中的 YPbPr)(数字系统中的 YCbCr)(大多数视频/图像处理/压缩都以这种格式进行。因为亮度和色度分量是分开的)
HSB 色调饱和度亮度。 (RGB 颜色的替代表示)
CMYK(印刷媒体使用此色彩空间)
各种 YUV 格式(仅 8 位)
1.规划师
所有 Y 将在一个阵列/平面中,然后所有 U 将在另一个阵列/平面中,然后 V 将在另一个阵列/平面中
这里所有 3 个数组也可以在单个缓冲区中处于不同的偏移量。
I420、I422
反向规划器或交错规划器:
YV12 与 I420 完全一样,只是 U 平面和 V 平面的顺序相反
2.半规划师
半平面格式有两个平面而不是三个,一个平面用于亮度,一个平面用于两个色度分量。
这里两个数组也可以在单个缓冲区中处于不同的偏移量。
NV12、NV16
reversed semi planners or interleaved planners :
此处 U 和 V 的顺序在第二个平面中互换。
NV21、NV61
3.打包格式
在打包格式中,您通常只有一个平面。 (这有点像RGB)
(数据包格式通常无法处理垂直子采样。)
UYVY 或 Y422
YUY2 或 V422(反转格式)
因为所有不同的子系统都有自己的格式/fourCC/macro 来识别任何格式,因此造成了很多混乱。
像 Gtreamer/ffmpeg/v4l2 等