跟着卷卷龙一起学Camera--Demosaic

476 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情

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测试的关键点,可以看到插值法在高频细节很容易出现拉链效应和色彩失真。自适应法相对改善很多。

从上到下是原图、双线性插值法、自适应插值法。可以看到自适应插值法比双线性插值法的效果改善很多。 后来很多算法厂商也基于这种方法做自己的改善。