图像格式-RGB
RGB(红绿蓝) 是一种常见的彩色图像格式,用于表示数字图像中的颜色。让我们深入了解一下:
- 表示方式:
- RGB图像使用三个颜色通道来表示每个像素的颜色。
- 这三个通道分别是红色(R)、绿色(G)和蓝色(B)。
- 像素值:
- 每个通道的像素值通常在0到255之间。
- 例如,纯红色的像素值为(255, 0, 0),纯绿色为(0, 255, 0),纯蓝色为(0, 0, 255)。
- 颜色混合:
- 通过组合不同通道的像素值,我们可以创建各种颜色。
- 混合红、绿、蓝通道的像素值可以生成其他颜色。
1.RGB16
RGB16 是16位RGB图像格式.
编码方式:
- 在RGB16中,每个像素使用16位来表示。
- R(红色)、G(绿色)和B(蓝色)分量分别使用5位、6位和5位来编码。
- 存储顺序通常为RGB,即先存储红色分量,然后是绿色,最后是蓝色。
颜色深度:
- RGB16图像具有65536种不同的颜色。
- 红、绿、蓝分量的每个位数都可以表示2^5=32种不同的亮度级别。
常见的RGB16图像格式有:
RGB565:16位的,2个字节,5+6+5,第一字节的前5位是R,后三位和第二字节前三位是G,第二字节后5位是B。
- RGB565使用16位来表示每个像素的颜色。
- R(红色)使用5位,G(绿色)使用6位,B(蓝色)使用5位。
- 存储顺序通常为RGB,即先存储红色分量,然后是绿色,最后是蓝色。
- RGB565图像具有65536种不同的颜色。
RGB555:16位的,2个字节,RGB各5位,有1位未用。
- RGB555也使用16位来表示每个像素的颜色。
- R、G和B分量都使用5位来编码。
- 存储顺序通常为RGB。
- RGB555图像也具有65536种不同的颜色。
假设我们有一个RGB555值:0x10101 10101 10101
。这里的每个5位分量分别是:红色=21、绿色=21、蓝色=21。剩余的1位是空位,不影响颜色的表示。
2.RGB24
RGB16 是24位RGB图像格式,常用的有RGB888图像格式。
编码方式:R-8位,G-8位,B-8位
- 在RGB24中,每个像素使用3个字节来表示。
- 每个字节对应一个颜色值,分别是红色(R)、绿色(G)和蓝色(B)。
颜色深度:
- RGB24图像具有16777216种不同的颜色。
- 每个颜色通道(红、绿、蓝)分配了8位,因此每个通道可以表示256个不同的亮度级别。
3.RGB32
RGB32是32位RGB图像格式吗,常用的有RGB8888图像格式。
编码方式:
- 在RGB32中,每个像素使用32位来表示。
- R(红色)、G(绿色)和B(蓝色)分量都使用8位来编码。
- 存储顺序通常为BGRA,即先存储蓝色分量,然后是绿色,接着是红色,最后是透明度(Alpha)。
颜色深度:
- RGB32图像具有16777216种不同的颜色。
- 每个颜色通道(红、绿、蓝)分配了8位,因此每个通道可以表示256个不同的亮度级别。
4.RGB332
RGB332 格式适用于嵌入式系统,因为它不会消耗太多内存。通常用于表示彩色图像中的颜色。
编码方式:
- 在RGB332中,每个像素使用8位来表示。
- R(红色)、G(绿色)和B(蓝色)分量分别使用3位、3位和2位来编码。
- 存储顺序通常为BGR,即先存储蓝色分量,然后是绿色,最后是红色,剩下的8位保留。
颜色深度:
- RGB332图像具有256种不同的颜色。
- 红、绿、蓝分量的每个位数都可以表示2^3=8种不同的亮度级别。