Camera图像处理原理及实例分析
作者:刘旭晖 colorant@163.com 转载请注明出处
BLOG:http://blog.youkuaiyun.com/colorant/
做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果。否则,缺乏了理论的指导,只能是凭感觉和经验去碰,往往无法准确的把握问题的关键,不能掌握 sensor 调试的核心技术,无法根本的解决问题。
1.1 色彩感应及校正
1.1.1 原理
人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。 一般来说,我们可以通俗的用 RGB三基色的概念来理解颜色的分解和合成。
理论上,如果人眼和 sensor 对光谱的色光的响应,在光谱上的体现如下的话,基本上对三色光的响应,相互之间不会发生影响,没有所谓的交叉效应。
但是,实际情况并没有如此理想,下图表示了人眼的三色感应系统对光谱的响应情况。可见 RGB的响应并不是完全独立的。
下图则表示了 Kodak 某相机光谱的响应。可见其与人眼的响应曲线有较大的区别。
1.1.2 对 sensor的色彩感应的校正
既然我们已经看到 sensor 对光谱的响应,在 RGB各分量上与人眼对光谱的响应通常是有偏差的,当然就需要对其进行校正。不光是在交叉效应上,同样对色彩各分量的响应强度也需要校正。通常的做法是通过一个色彩校正矩阵对颜色进行一次校正。
该色彩校正的运算通常由 ISP 完成,软件通过修改相关寄存器得到正确的校正结果。值得注意的一点是,由于 RGB -> YUV的转换也是通过一个 3*3 的变换矩阵来实现的,所以有时候这两个矩阵在 ISP 处理的过程中会合并在一起, 通过一次矩阵运算操作完成色彩的校正和颜色空间的转换。
1.2 颜色空间
1.2.1 分类
实际上颜色的描述是非常复杂的,比如 RGB三基色加光系统就不能涵盖所有可能的颜色,出于各种色彩表达,以及色彩变换和软硬件应用的需求,存在各种各样的颜色模型及色彩空间的表达方式。这些颜色模型,根据不同的划分标准,可以按不同的原则划分为不同的类别。
对于 sensor 来说,我们经常接触到的色彩空间的概念,主要是 RGB , YUV这两种(实际上, 这两种体系包含了许多种不同的颜色表达方式和模型, 如 sRGB, Adobe RGB, YUV422, YUV420 …) , RGB如前所述就是按三基色加光系统的原理来描述颜色, 而YUV则是按照 亮度,色差的原理来描述颜色。
1.2.1.1 RGB YUV的转换
不比其它颜色空间的转换有一个标准的转换公式,因为 YUV在很大程度上是与硬件相
关的,所以 RGB与 YUV的转换公式通常会多个版本,略有不同。
常见的公式如下
PAL 制:
Y=0.299R+0.587G+0.114B
U=0.493(B-Y) = -0.15R-0.29G+0.44B
V=0.877(R-Y) = 0.62R-0.52G-0.10B
此外,还有,NTSC制:
但是这样获得的 YUV值存在着负值以及取值范围上下限之差不为 255 等等问题,不利于计算机处理,所以根据不同的理解和需求,通常在软件处理中会用到各种不同的变形的公式 :
体现在 Sensor 上,我们也会发现有些 Sensor 可以设置 YUV 的输出取值范围。原因就在于此。 从公式中,我们关键要理解的一