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