Bayer阵列
由于传感器只能感受到光的强度,而无法感知颜色,所以需要用红、绿、蓝颜色的滤光片将光中的R、G、B亮度滤出,再通过R、G、B的组合得到各种色彩。Bayer阵列是使用一个传感器获得彩色图像的方法,其传感器上的R、G、B滤光片排布有4种类型,分别是GRBG, GBRG, BGGR, RGGB。这种颜色滤波阵列(CFA)的到的信息中,每个位置总有部分R\G\B的像素值缺失,需要通过去马赛克的方法,将每个位置对应的RGB信息恢复出来。
去马赛克方法
去马赛克的核心思想是“插值”,即通过未知信息附近的已知信息插值得到未知信息。双线性插值是最简单直接的插值方式,这种插值使用R、G、B每个颜色通道已有的信息,取平均计算未知值。这样的做法会给图像边缘带来严重的锯齿,即拉链效应。可以通过对每个点x,y方向的梯度进行计算,仅用梯度小的方向做邻域插值来缓解拉链效应。
VNG(Variable Number of Gradients)方法是对上面x,y方向算梯度的改进,通过计算5x5区域上下左右,左上、左下、右上、右下共计8个方向的梯度,仅用梯度小于阈值的方向做插值,可以处理斜着的边缘。
利用色彩恒常性方法做去马赛克,是按照邻接区域色调要尽量保持一致的原理来做的。它用色差或者色比来衡量色调。先计算所有像素的G通道结果,然后在G的基础上,使用邻近区域的色差、色比插值,计算得到R和B。