当前位置:   article > 正文

TPU算子开发——Bayer2rgb算子原理

bayer2rgb

一.Bayer图像格式介绍

bayer格式图片是伊士曼·柯达公司科学家Bryce Bayer发明的,他发明的拜耳阵列被广泛运用在数字图像中。相机上面的图像传感器只能感受光强而无法感知光的波长,然而光的颜色却是由波长决定的,因此图像传感器是无法记录颜色的。
相机想要记录彩色图像,需要采集rgb三种颜色。其中最简单的采集方法就是用红绿蓝三种滤镜,分别对三种颜色的数据进行采集,但滤镜价格昂贵,且不好制造。
因此柯达公司提出了一种解决方案:在图像传感器的前面,放置一个滤光层,滤光层的滤光点与图像传感器的像素一一对应,每个滤光点只能通过红、绿、蓝三种光其中之一;这样记录下来的数据就成了bayer格式图像,也就是现在相机拍出的raw格式图像。
在这里插入图片描述
Bayer色彩滤波阵列,由一半的G,1/4的R,1/4的B组成,原理是因为人眼对绿光更敏感。根据不同于颜色的排列,我们把Bayer分为BayerRG、BayerBG、BayerGB、BayerBG四种。
在这里插入图片描述

二.Bayer2rgb算子步骤

1.图像边缘填充
Bayer2rgb第一步需要给图像扩充边界,这里应用的是反射padding。这种填充方式是以输入元素的边界为对称轴,以设定的padding大小为步长,将输入元素的边界内padding大小的元素,对称填充。
反射填充的目的是为了使边缘像素卷积操作后的结果更平滑,从而提升卷积效果。
2.去马赛克
Bayer格式图像为单通道数据,在人眼看来为灰度图。要想从bayer格式恢复成彩色图像,需要弥补每个像素的其他色彩分量,通过插值法用相邻的像素值进行计算,这个过程就叫做bayer插值,也叫“去马赛克”。
这里的插值法有很多种,算法速度和质量不能兼得。这里主要介绍大致原理。
1)红蓝色插值算法实现
R和B通过线性邻域插值计算,但这有四种不同的分布,如下图所示:
在这里插入图片描述
在(a)与(b)中,R和B分别取邻域的平均值。
在(c)与(d)中,取领域的4个B或R的均值作为中间像素的B值。
2)绿色插值算法实现
在这里插入图片描述
由于人眼对绿光反应最敏感,对紫光和红光则反应较弱,因此为了达到更好的画质,需要对G特殊照顾。
在上述(c)与(d)中,扩展开来就是上图的(e)与(f)中间像素G的取值,这也有一定的算法要求,不同的算法效果上会有差异。
(e)中间像素G值的算法如下:
在这里插入图片描述
(f)中间像素G值的算法如下:
在这里插入图片描述
当然,为了速度的提升,可以直接通过来4个G取均值来得到中间像素的G值,这将会减少一般的时间,算法如下:
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号