• RSS订阅 加入收藏  设为首页
相机软件

RAW、RGB、YUV 图像格式区别

时间:2025/3/28 23:10:54   作者:Leslie   来源:正势利   阅读:51   评论:0
内容摘要:前言一、RAW二、RGB三、YUV1、采样方式2、排列方式3、命名方式4、类型四、分类简图五、文章来源:

前言

颜色是人的视觉系统对光谱中可见区域的感知效果,它仅存在于人的眼睛和大脑中。为了准确地描述颜色,必须引入色彩空间的概念。正如几何上用坐标空间来描述坐标集合,色彩空间用数学方式来描述颜色集合。

一、RAW

RAW 图像就是图像感应器将捕捉到的光源信号转化为数字信号的原始数据,是无损的,包含了物体原始的颜色信息等。RAW 数据格式一般采用的是 Bayer 排列方式,通过滤波光片,产生彩色滤波阵列(CFA),鉴于人眼对绿色波段的色彩比较敏感,Bayer 数据格式中包含了50%的绿色信息,以及各25%的红色和蓝色信息。 Bayer 排列格式有以下4种:

| R | G | | G | B |

| B | G | | G | R |

| G | R | | B | G |

| G | B | | R | G |

RAW图像是sensor出来的最原始的数据。 是光线透过滤镜之后直接得到的数据,每个像素只有一种颜色的数据。

通常情况下,每个像素的数据量是10bits或者12bits,当然也有sensor有其他的8,14,16等等。 RAW的基本介绍可以看这篇文章. 一般的摄像头都会支持RAW格式的输出,这样我们拿到RAW数据之后,是没有办法直接使用的,还要在host端做ISP,做色彩纠正,增强,HDR,插值成RGB,转成YUV,最后再使用。

像amba平台就是直接读取RAW数据,送入idsp来做一系列的3A操作的。另外记录一下,Amba平台对RAW数据有packed和compressed两种设定选择。如果未设置packed,每个像素不管是10位,12位,14位,都会占据2个字节16位,如果选择了packed,则会按照真实的位数排列。

如果设置了compressed,则会进行数据压缩,整体数据量平均每个像素达到27/32个字节。 有些项目,不追求很高的sensor的3A效果,就会直接使用sensor输出的YUV或者RGB,这就是使用了sensor内置的一些差值算法,直接得到图像,比较方便,并且省host的运算资源,但是不够自由,可以调节的东西不多。

对于RAW数据,会有不同的bayer类型,是GBRG,GRBG,RBBG,GBBR的一种,其实也就是透镜的类型。

但是不管在senosr做还是在host主机做,RAW想用起来,都是要做插值得到真正的RGB图像的。

二、RGB

在数字化的时代,需要一种标准来量化自然界的各种颜色。RGB 就是一种在数字化领域表示颜色的标准,也称作一种色彩空间,通过用三原色 R、G、B 的不同的亮度值组合来表示某一种具体的颜色。注意,RGB 里面存的是颜色的亮度值,而不是色度值。 在 windows 的绘图板中,我们就可以通过调试三原色不同的比例得到不同的颜色。

RAW、RGB、YUV_图像格式区别

RGB 常用的数据格式有 RGB888,RGB565,RGB555 这几种。

 RGB是大家很熟悉的一种类型。三原色的原理就不做太多介绍了。 在windows的绘图板中,我们就可以通过调试三原色不同的比例得到不同的颜色。 

三、YUV

RGB很好用,但是他对黑白图像的支持不是很好,因此,人们又会把RGB转成YUV格式。YUV中的Y,表示明亮度(Luma),就是灰度图。

RAW、RGB、YUV_图像格式区别

U和V分别对应Cb和Cr,代表色度(Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

YUV 是一种色彩编码方法,Y 表示明亮度(Luma),就是灰度图。U 和 V 分别对应 Cb(蓝色色度分量) 和 Cr(红色色度分量),代表色度(Choma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

那引入 YUV 这种色彩空间的好处有哪些呢?

YUV 提取 Y 亮度信号,可以直接给黑白电视使用,兼容黑白电视。

人眼对 UV 的敏感性小于亮度,这样我们适当减少 UV 的量,而不影响人的感官。所以才会有多种格式的 YUV描述,如420、422、444。

YUV 格式可以比 RGB 格式储存空间小。

那 RGB 存在的作用是什么呢? 目前人类发明的所有彩色的输入输出设备,本质上都只支持 RGB 数据。哪怕设备允许 YUV 的输入输出,那也是经过内部的数据转换而间接支持。

1、采样方式

分类方式根据采样的不同,分为 YUV444,YUV422,YUV420。

YUV444:每个像素点同时包含 Y/U/V 3个参数。

YUV422:每2个像素点共享一组 U/V 参数,同时每个像素拥有自己的 Y 参数。

YUV420:每4个像素点共享一组 U/V 参数,同时每个像素拥有自己的 Y 参数。

2、排列方式

确定了采样方式之后,数据的排列又分为3种:

planar:把 Y 数据,U 数据和 V 数据单独放置3块位置,形成3个平面。

semi-planar:把 Y 数据独立,UV 数据放在一起,形成2个平面。

packed:YUV 数据打包在一起,无论单独的 Y 数据 U 数据还是 V 数据,地址都不是连续的。

3、命名方式

YUV 的命名规则也有好几种,因此同一个类型有可能会有好几种名字,

YUVxxxP,YUVxxxSP 比如:YUV422P,YUV420SP。根据 plannar,semi-planner 和 packed 的类型来定义的。plannar 就是P,注意顺序都是 Y 前 U 中 V 后。semi-plannar 就是 SP,注意顺序都是 Y 前 UV 后。

Ixxx 比如:I422,I420。感觉是 plannar 的别称,I422 就是 YUV422P,I420 就是 YUV420P。

NVxx,YVxx 比如:NV12,NV21,NV16,YV12。NV 代表属于 semi-plannar,12代表一个像素所占的实际 bits。NV12 是 YUV420SP,每个像素占据1个 Y(8Bit)+1/4 个UV(8 * 2 / 4 = 4bit) =12bits。

4、类型

YUV根据采样方式不同,排列方式不同,命名方式不同,有N多类型。

四、分类简图

RAW、RGB、YUV_图像格式区别

五、文章来源:

https://www.cnblogs.com/lidabo/p/16801656.html

https://zhuanlan.zhihu.com/p/559189793?utm_id=0&wd=&eqid=8b3d16590001b3180000000564891df9


标签:图像 格式 区别 

逝者如斯,不舍昼夜作者QQ及微信:49922779 点击这里给我发消息

相关评论
QQ交流群:120100441    QQ客服:49922779 闽ICP备01008686号