基于bayer型阵列的空间域插值算法分

蒲杰
女,重庆邮电大学,在读硕士,研究方向为移动通信。
李振中
重庆邮电大学通信与信息工程学院。
屈刚
江苏省邮电规划设计院有限责任公司。

1 引言
在数码照相机系统中,为降低数字照相机的体积和成本,生产厂家通常采用CCD或者CMOS图像传感器,而传感器只能识别光的强度而不能识别光的色彩,故我们一般在光射在传感器之前,将光进行滤波,只能允许部分色彩光进入传感器,使得传感器将进入光的强度转换成电压形式,以电压的大小来表征光的强弱。我们将其允许通过部分光的阵列称为CFA(Color Filter Array)阵列, 我们将每个像素中只有一种基色的马赛克图变换成每个像素包括红、绿、蓝色的全色图的过程称之为插值[1],是一种图像增强技术。CFA有很多形式,最为常用的为bayer型阵列,如图1所示。

而图像增强的方法分为空间域方法和频域方法,对频域处理,则是修改图像的傅立叶变换为基础或使用小波变换对图像进行增强效果,但是算法比较复杂,为实现简单化,一般对图像像素进行直接处理,即进行空间域插值处理。

在空间域,基于bayer型CFA的插值方法按照原理,一般分为两类,第一类忽略像素间的相关性,比如临近插值、双线性插值,他们在图像的高频区域不能得到比较好的效果。另一类,则考虑了像素之间的相关性,比如梯度插值法,它可以在图片高频区域能得到比较好的效果。但是在这些经典插值算法中均采用了平滑的均值插值算法,即每一个插值核拥有同等的权重(0.5或者0.25),这样的处理依然忽略了较多的图片细节,在图片的边界区域还是难以避免错误的色彩。Kimmel提出一种为插值分量提供不同权重的方法[2],为硬件简单实现,本文中提出G分量的插值在水平和垂直方向自适应地设置权重,使得插值能达到更好的效果。

2 传统插值算法分析
一个传感器一般由上百万个像素组成,当光线通过CFA(bayer型)阵列之后,单色光线通过相机的镜片打在传感器上,每个像素都为单色光,从而理想的bayer图是一个较为昏暗的马赛克图,如果靠的足够近,能够清楚的看到红、绿、蓝色的点,如图2所示。插值过程就是通过临近像素的颜色得到本身像素缺乏的颜色,从而得到全色图。

2.1 临近插值法
在bayer阵列中,将三基色图片插值成彩色图片最为简单的便为临近插值法。由于各个基色整个图片中,大部分是缓慢均匀的变化,则我们将某个像素中缺少的基色用其周边对应此基色的像素值代替从而达到插值效果,其公式如下:

临近插值只是一个简单的赋值过程,没有考虑各个像素之间的相关性,固在插值处理过程中,会使图片马赛克化,尤其图片中存在一些非平滑度过区域时,更为严重。

2.2 双线型插值法
双线型(bilinear)插值算法针对RGB三基色不同通道单独进行插值运算,它作为插值算法的最基本算法,是以后改进插值算法的提出以及性能分析的一个参考,其算法原理为对于某个像素的某一个色彩通道而言,其采用周边同通道的平均值,公式如下:

其中N为滤波窗口中所求通道像素个数, 为滤波窗口中不同与的同通道像素,以bayer阵列部分像素为例:
(1) 在B点插值G、R通道值,正如在坐标(2,2)点处:

(2) 在R点插值G、B通道值,正如在坐标(3,3)点处:

(3) 在G点插值R、B通道值,正如在坐标(2,3)点处:

由于双线型插值是在独立通道中进行的,它只考虑了同种基色之间的相关性而没有考虑全色图中所有通道的相关性,从而双线性插值不能得到很让人满意的插值效果,其在边缘会出现一些锯齿现象。

2.3 梯度插值法
自然世界中的彩色图,它的RGB三通道具有相当强的相关性,对于每一个通道都能表示相同的内容,因为人眼对绿色比较敏感,则在bayer阵列中,绿色分量占据了50%,而R、B分量各占了25%。由于RGB三通道相邻像素具有很强的相关性,并且G分量已知数据又比较多,那么我们需要准确有效的得到全图的G分量,再根据相关性估算出未知的75%R、B分量。

本节提出一种基于梯度的插值算法,为保证插值是沿着边界进行而不是跨越边界,恢复G分量时,先通过计算水平方向和竖直方向的梯度来检测边界方向,从而选择合适的插值方向,假设η 为水平方向梯度值,δ 为垂直方向梯度值,那么:

如果δ <η 说明在水平方向存在边界的可能性比较大,插值沿着可能的边界进行,即在水平方向进行,而水平方向的邻域像素与被插值点的像素的相关行也会大于数值方向的像素,插值结果为

如果δ >η ,则认为竖直方向存在边界的概率大,插值在数值方向进行,插值结果为

如果两者比较相等的话,则认为该像素点处在一个平滑的区域内,插值在整个邻域内进行,插值结果为:

一旦亮度被确定,则色度分量通常是由亮度信号和色度信号的相关性来进行插值的,在对红色和蓝色通道插值时,用到的基本思想是Cok[3]提出的基于色比恒定插值方法,所谓色比恒定思想,在早期的插值算法中也已经有了应用,它认为在一副图片区域内,其色彩亮度总是自然度过的,色比(通常定义为R/G,B/G)基本上不会发生突变,即

在上面的等式中Rij和Gmn为测出的值,Gij为插值得到的结果,那么为了得到坐标为(m,n)点的Rmn色差值,则通过等式变形得到

利用上述原理,对bayer型阵列进行插值,首先根据水平和垂直方向梯度的大小确定整个图片中的绿色G分量,然后利用色比恒定原理恢复红色和蓝色通道的信息。

3 改进插值法
正如上述算法所分析,传统插值均采用了平滑的均值插值算法,即每一个插值核拥有同等的权重(0.5或者0.25),基于Kimmel提出一种为插值分量提供不同权重的方法,本节中对G分量的插值在水平和垂直方向自适应地设置权重算法进行实现[4],并且在色差通道上采用了色差恒定原理,这样就避免了,在纯红色边缘或者纯蓝色边缘,R/G,B/G将趋近无穷大,容易产生噪声或者引入邻域内不相关的像素而产生各种图片误差与失真现象,算法如下:
(1)在每个保留R或B分量的点上需要插值计算其G分量,若i,j为当前待插值点的行和列位置,分别计算G分量水平和垂直方向的邻域均值和梯度值

(2)计算水平均值和垂直均值对于插值作用的加权系数,公式为

(3)对G分量的水平均值和垂直均值分别采用加权系数进行加权处理,最终的差值结果为

(4)为避免在色比恒定算法中边界G分量趋近为0的情况出现,而使插值出现噪声,再此我们对色差通道采用色差恒定原理,跟色比恒定原理类似,在自然图片中其色彩亮度总是自然度过的,色差(通常定义为R-G,B-G)基本上不会发生突变,即

在上面的等式中Rij和Gmn为测出的值,Gij为插值得到的结果,那么为了得到坐标为(m,n)点的Rmn色差值,则通过等式变形得到

以坐标点(2,2)为例

从上面的公式可以看出,水平均值和垂直均值中,梯度绝对值大,则权重小,说明属于垂直边界方向,因此可以避免边界模糊。梯度绝对值大,则权重大,说明属于平行边界方向,在边界不会因为出现G分量为0而导致失真现象的情况发生,因此可以强化边界效果。

4 实验结果及结论
在本部分为了验证文中提出的插值算法的效果,分别采用黑白条纹、真彩图进行分析[5]。图片依次为原始图片、bayer阵列图、临近差值法、双线性插值法、梯度插值法以及改进插值法处理效果图,如图3、图4所示。

由上面的图片可以得出,所有的插值方法都能得到比较满意的插值效果,但是临近插值在边界处出现明显的锯齿现象,双线性插值虽然没有明显的锯齿显现,但是边缘比较模糊,对梯度插值,由于在G分量的插值上是沿边界进行插值,效果比较好,但是在色差的插值过程中采用了色比恒定原理,从而在G分量为0的边界处出现了失真现象,最后从视觉上看给改进算法,它在整体上没有出现锯齿、模糊以及失真现象,算法原理又比较简单,容易硬件实现,可以算作是一个比较好的算法,以下给出了他们几种算法的PSNR值,从数值上再次说明改进的插值算法最接近原图,见表1.

参考文献
1 B. E. Bayer. Color image array[P].U.S. Patent, No.3917065, 1976
2 Ron Kimmel. Demosaicing:Image reconstruction from colorCCD samples. IEEE transactions on image processing.1999, 8(9):1221-1228
3 D.R. Cok. Simnal processing method and apparatus forproducing interpolated chrominance values in a sampledcolor image signal. U.S. Patent, No.4642678,1987
4 王林,杨克俭.基于双线性插值的图像缩放算法[J]. 电脑编程技巧与维护, 2008,10:53-55
5 刘方. 基于Bayer彩色滤波阵列插值算法的研究[D]. 硕士学位论文,成都,电子科技大学,2006

转载 基于bayer型阵列的空间域插值相关推荐

  1. 【Pytorch神经网络理论篇】 26 基于空间域的图卷积GCNs(ConvGNNs):定点域+谱域+图卷积的操作步骤

    图卷积网络(Graph Convolutional Network,GCN)是一种能对图数据进行深度学习的方法.图卷积中的"图"是指数学(图论)中用顶点和边建立的有相关联系的拓扑图 ...

  2. 基于空间域的信息隐藏关键技术研究

    实践题目:基于空间域的信息隐藏关键技术研究 目标是实现对320x240的灰度图像(样本自选,不能是lena图像)进行信息隐藏设计,应用空间域信息隐藏方法(例如LSB替换方法等)进行实验测试.对上述技术 ...

  3. 【youcans 的 OpenCV 学习课】7. 空间域图像滤波

    专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 [youcans 的 OpenCV 学习课]7. 空间域图像滤波 图像滤波是在尽可能保留图像 ...

  4. 基于c#的相关性分析_基于数字高程模型的城市地貌与地名相关性分析——以兰州市为例...

    江西地名研究 基于数字高程模型的城市地貌与地名 相关性分析--以兰州市为例 文/张鹏丽,李育 提要:以兰州市为例,使用 ASTER 30米分辨率的数字高程模型DEM并提取了兰州市周边所有地名信息:通过 ...

  5. 传统基本图像处理方法:图像增强(灰度变换、直方图增强、空间域滤波、频率域滤波)、图像分割、图像配准等

    图像处理设计主要有以下几种处理:图像增强(灰度变换.直方图增强.空间域滤波.频率域滤波).图像分割.图像配准等等. 图像增强: 图像增强作为基本的图像处理技术,目的在于通过对图像进行加工使其比原始图像 ...

  6. 基于XC2V1000型FPGA的FIR抽取滤波器的设计

    http://hi.baidu.com/hieda/blog/item/3613b6bf6f4dd00e18d81f78.html 基于XC2V1000型FPGA的FIR抽取滤波器的设计 摘要:介绍X ...

  7. 空间域图像增强:卷积和空间域滤波

    1.什么是卷积? 卷积:数学中关于两个函数的一种无穷积分运算,是通过两个函数f 和g 生成第三个函数的一种数学算子,表征函数f 经过翻转和平移与g 的重叠部分的累积. 2.什么是空间卷积? 线性空间滤 ...

  8. 【五】空间域图像增强

    1 空间域增强基础 空间域增强是对图像的一个邻域,用滤波.平滑.锐化等方法,从而增强图像. 2 空间域滤波 滤波就是将信号中特定波段频率滤除,常用傅里叶变换及其逆变换等实现. 具体过程就是取一个方形模 ...

  9. 数字图像处理——第三章 空间域图像增强(空间滤波)

    文章目录 1. 空间滤波基础 2. 线性滤波器 2.1 平滑空间滤波器 2.2 锐化空间滤波器 2.2.1 基于一阶微分的图像增强--梯度法 2.2.2 基于二阶微分的图像增强--拉普拉斯算子 3. ...

最新文章

  1. 【鬼网络】之远程访问及控制ssh
  2. 计算机基础扎实,到底是说什么?
  3. [2021.4.7多校省选模拟33]A,B,C
  4. java迷宫类编程题_第十届蓝桥杯省赛java类B组 试题 E:迷宫 (动态规划之回溯法)...
  5. 在线HTTP请求/响应头转JSON工具
  6. 多元统计分析最短距离法_多元统计分析(11个常见的多变量分析方法)
  7. SQL后计算的利器SPL
  8. DBC文件格式文档【翻译】
  9. ST-Link驱动安装不正确,设备管理器黄色感叹号,win10安装stlink驱动
  10. 从重大事件保障,看华为如何打造一流保障体系
  11. 轻松实现页面提交时,显示“提交中..”
  12. 三角形边长求高的c语言函数公式,三角形内三角函数与边长计算公式
  13. 255%可用已接通电源_直流稳压电源五款电路图详解
  14. 【机器学习】逻辑回归案例一:保险与年龄之间关系分析
  15. Java 简单的摇骰子游戏:案例
  16. win7关闭程序兼容性助手和windows Defender
  17. mysql rpm怎么用_linux下mysql(rpm)安装使用手册
  18. Keli5 打开Cypress CY7C68013A(51单片机)官方开发包例程
  19. js将对象会集合转换为json字符串。Jackson
  20. Python selenium新窗口和老窗口的切换

热门文章

  1. nacos学习总结二(注册中心)
  2. SpringBoot 项目将文件图片资源上传到本地静态资源文件夹下(指定文件夹下)
  3. 激活函数Relu 及 leakyRelu
  4. Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)
  5. 身份证问题讲解全连接神经网络
  6. 考研英语单词列表【原创】
  7. java毕业设计选题基于javaweb实现的政府机关公文|文件收发管理系统
  8. 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置
  9. 大话oracle rac 集群,大话ORACLE RAC 集群、ORACLE Clusterware
  10. 关于WPS的WordVBA中,函数的形式参数的传递方法总是提示缺少等号的解决方法