YUV颜色编码的工作原理
计算RGB值
要确定YUV值,就必须首先读出芯片,并根据原始数据确定RGB值。
RGB转换
第一步,先由算法计算各个像素的完整RGB值。举例来说,这表示即使一个像素只对绿光敏感,相机也能接收到该像素的完整RGB信息。要实现此目的,就需要对相邻的红色和蓝色像素的信息进行插值。当然,该插补值只是接近真实情况的近似值。RGB解析有多种算法,每种算法的复杂程度和计算时间决定了该近似值的精准度。
RGB转换的一个缺点是每个像素的数据量会叠加。如果单个像素的深度通常为8比特,转换后每个颜色(红、绿、蓝)的深度均为8比特,因此累积的总深度为24比特。
YUV编码
在YUV编码中,RGB值会被转换成一个强度分量(Y)和另外两个颜色编码分量(U和V):前者覆盖从黑到白的范围,而后两者则为该颜色编码值。
YUV 4:4:4扫描
从RGB到YUV的转换是线性的,不会造成信息丢失,它也不依赖于特定的相机等硬件。将RGB转换为YUV的标准公式如下:
Y = 0.299 R + 0.587 G + 0.114 B
U = 0.493 * (B - Y)
V = 0.877 * (R - Y)
实际上,特定相机所使用感光芯片具有不同的动态特性,因此方程中的系数可能会略有不同。如需了解有关相机的具体信息,请查阅文档。
这种类型的转换也被称为YUV 4:4:4扫描。通过这种扫描方式,每个像素都能接收亮度和色彩信息,“4:4:4”表示信号中Y、U和V分量各自所占的比例。
YUV 4:2:2扫描
为了将每个像素传输的平均数据量从24比特减少到16比特,通常只记录每隔一个像素的颜色信息。这种扫描方式也被称为YUV 4:2:2扫描。人眼对亮度的敏感度远高于对色彩的敏感度,尽管这种转换会造成实际的信息损失,但实际效果几乎不存在明显区别。彩色相机的数字YUV 4:2:2输出深度在每像素24比特和每像素8比特之间交替变化,即平均每像素为16比特。
我们的彩色相机集成了高效的RGB转换算法。您在我们的所有彩色相机中都可以选择输出模式,为每个像素提供原始芯片数据或高质量的YUV 4:2:2信号。有些相机型号还能提供RGB / BGR数据。
了解详情
探索我们的相机,并在文档中查找有关其图像格式的详细介绍。