跟着卷卷龙一起学 Camera--Demosaic
Demosaic
What is demosaic?
demosaic 是一个将 bayer 阵列的 raw 图,图像重构成一张三通道 RGB 图。对于 raw2yuv 的算法来说,demosaic 成了这类算法中必不可少的环节。这个模块做的好,可以避免紫边、摩尔纹、伪色的问题。
How to do demosaic?
对于 raw 图来讲,每个像素点只有 R\G\B 中的一个颜色分量。所以要想将 raw 图补全成三通道的完整的 RGB,就涉及到插值问题。
百度上常见的方案就是 G 分量取相邻四个像素的平均值插值,R/B 分量取四个角的 R/B 值的平均。
绿色像素的插值:上下左右像素的平均值指定为像素 G,例如:G8=(G3+G7+G9+G13)/4
红色、蓝色像素的插值:
在绿色位置插值时:相邻像个像素的平均值。例如:B7=(B6+B8)/2 R7=(R2+R12)/2
在红色和蓝色的位置插值时:四个领对的位置像素平均值。例如 R8=(R2+R4+R12+R14)/4
B12=(B6+B8+B16+B18)/4。
这种简单的插值方法是不可取的,很容易导致拉链效应。
正确的插值应该沿着图像的色差边缘垂直方向进行插值。利用梯度变化即两个通道之差,通常是用 G 通道分别减去 R 和 B 通道来增加通道之间的相关性,再用相减得到的结果进行插值。在计算梯度时综合了亮度分量梯度和使用的拉普拉斯二阶微分算子。也被称作自适应插值算法。
从左到右依次是原图、双线性插值、自适应插值。
高频信息是 demosaic 测试的关键点,可以看到插值法在高频细节很容易出现拉链效应和色彩失真。自适应法相对改善很多。
从上到下是原图、双线性插值法、自适应插值法。可以看到自适应插值法比双线性插值法的效果改善很多。 后来很多算法厂商也基于这种方法做自己的改善。
版权声明: 本文为 InfoQ 作者【卷卷龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/60ee42ef3598b22d174deb642】。文章转载请联系作者。
评论