作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习
擅长领域:驱动开发,嵌入式软件开发,BSP开发
作者主页:一个平凡而乐于分享的小比特的个人主页
文章收录专栏:IMX8MP,本专栏记录imx8mp开发板,学习开发过程中的问题及解决方法记录
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
Camera开发-相机输出常用数据格式
视觉相机常见的数据输出格式有: RGB格式、YUV格式、Rawdata格式。
1. RGB 格式
采用这种编码方法,每种颜色都可用三个变量来表示红色、绿色以及蓝色的强度。每一个像素有三原色 R 红色、G 绿色、B 蓝色组成。
1.1 RGB文件存储格式
RGB555
每个像素用16比特位表示,占2个字节,RGB分量都使用5位(最高位不用)
RGB1555
RGBA(ARGB)中的一种,一位用于表示透明度。0完全透明,1完全不透明
RGB565
每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位。
RGB24/RGB888
RGB24图像每个像素用24比特位表示,占3个字节,在内存中RGB各分量的排列顺序为:BGR BGR …
RGB32/RGBA8888
RGB32图像每个像素用32比特位表示,占4个字节,R,G,B分量分别用8个bit表示,存储顺序为B,G,R,最后8个字节保留。在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA …
RGB222
RGB222是一种8位的RGB格式,各分量占用2bit位,剩下的2bit位不用
1.2 典型应用场景
常用的 RGB 格式包括颜色通道的信息位数、每种颜色可以表示的颜色数量和典型应用场景等。
RGB 格式 | 颜色通道信息位数 | 可表示的颜色数量 | 典型应用场景 |
---|---|---|---|
RGB888 | 每种通道均为 8 位 | 16,777,216 | 数字图像处理、计算机游戏、电影和摄影等 |
RGB565 | R: 5位, G: 6位, B: 5位 | 65,536 | 嵌入式应用、机器视觉、数字标志等 |
RGBA8888 | R,G,B 各 8 位,A 通道为 8 位 | 16,777,216 | 图像编辑、视觉效果、移动应用等 |
RGB332 | 每个通道均为 3 位,共 8 位 | 256 | 简单图形、低成本设备、老式显示器等 |
注意,这里列出的应用场景只是典型的用途,实际应用还要根据具体情况进行选择。
2. YUV 格式
其中“Y”表示明亮度(Luminance 或 Luma),就是灰阶值;而“U”和“V”表示色度(Chrominance 或 Chroma),是描述影像色彩及饱和度,用于指定像素的颜色。
2.1 YUV的存储格式
YUV在存储格式上通常分为:平面格式(Planar),半平面格式(Semi-Planar),打包格式(Packed)。
平面格式(Planar):即Y、U、V是分开存储的,每个分量占一块地方,即YYY… UUU… VVV…
半平面格式(Semi-Planar):即Y单独占一块地方,但其后U、V又紧挨着排在一起,即YYYYYY… UVUVUV…
打包格式(Packed):即YUV是按像素点存储的,即YUYVYUYV…这样顺序存储。
2.2 采样方式
采样是将4个像素作为一组进行的,原因在于:图像每行所占字节数必须是4的倍数,才能保证无误的转换。
YUV 主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0。
下面三个图比较直观的显示了三种采样方式,其中黑点表示采样像素点的Y分量,空心圆表示采样像素点的UV分量。
YUV444,YUV 4:4:4采样,每一个Y对应一组UV分量8+8+8 = 24bits,3个字节
YUV422,YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节
YUV420,YUV 4:2:0采样,每四个Y共用一组UV分量一个YUV占8+2+2 = 12bits 1.5个字节
2.3 YUV420,YUV420P和YUV420SP
YUV420,YUV 4:2:0采样,每四个Y共用一组UV分量一个YUV占8+2+2 = 12bits 1.5个字节。
YUV420(Packed),又叫YUYV420,存储:YUV交错存储,按像素点存储。如YUVYUVYUV…
YUV420(planar),根据U、V的顺序,又有2种,U前V后即YUV420P又叫I420或YU12,V前U后,叫YV12(12表示一个像素 12 bits)。存储:YUV分开存储,如YYY… UUU… VVV…
YUV420(Semi-Planar),根据U、V的顺序,又有2种,U前V后叫NV12,也叫YUV420SP;V前U后叫NV21。存储:Y与UV分开存储,如YYYYYY… UVUVUV…
2.4 YUV422,YUV422P和YUV422SP
YUV422,即YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节。
YUV422(Packed),又叫YUYV422, 存储:YUV交错存储,按像素点存储。如YUYVYUYVYUYV…
YUV422(planar),根据U、V的顺序,又有2种,U前V后即YUV422P又叫I422或YU16,V前U后,叫YV16(16表示一个像素 16 bits)。存储:YUV分开存储,如YYY… UUU… VVV…
YUV422(Semi-Planar),根据U、V的顺序,又有2种,U前V后叫NV16,也叫YUV422SP;V前U后叫NV61。 存储:YUV分开存储,如YYYYYY… UVUVUV…
3. RAW DATA 格式
3.1 RAW
RAW 图像是指图像传感器数字图像,这种图像未经过任何处理,未压缩和未降噪,保留了其原始数据,以便后续的数字后期制作和处理。
3.2 采集过程
环境光/补光灯照在物理表面形成反射 –> 镜头汇聚光线 –> 图像传感器彩色滤镜阵列(CFA)将单色光照在光电二极管 –> 光电转换 –> ADC采集,其他模块转换排列为 设置的 bayer格式的RAW。
RAW 一般是使用 bayer 格式进行排列,每个像素实际只包含单种特定颜色 的光的强度(比如单个像素只能为R/G/B亮度信息)。
3.3 Bayer格式
由于人眼对于绿色更加敏感,所以加重了其在感光点的权重,Bayer格式中的G分量都是B、R分量的两倍。
bayer 序格式按照排列组合,一共分为4种:
排列1 | 排列2 | 排列3 | 排列4 |
---|---|---|---|
RG GB | BG GR | GR BG | GB RG |