基于像素组的去马赛克算法
施勇红霍俊彦卢峰黄维
(西安电子科技大学陕西西安710071 )
摘要:本文提出一种利用图像像素组特性的彩色滤镜阵列去马赛克的新算法。实验表明该算法在图像
的去马赛克过程中能有效抑制人工痕迹能达到可变梯度插值算法和线性插值算法的性能并能克服
这两种算法中的一些不足。
关键词:去马赛克;像素组
文献标识码:A中图分类号:文章编号:TN919.81672-464X(2006)04-0020-05
引言1
随着视频技术的飞速发展和数码摄(照)像机等电子产品的普及高质量图像或图像序列的采集与处理已经成为一个
非常活跃的研究领域而去马赛克则是其中一项必不可少的关键性技术。Demosaic()
图像的采集功能由图像传感器(或)完成。传统视频采集设备为、 、三基色采用不同的滤镜片得到所CMOS CCDRGB采集图像的 三色阵列。在经过数字化后即得到高质量的全彩色图像。在此过程中需要倍于图像大小的传感器阵RGB 3
列。为了简化工艺和降低成本
现在的消费类相机和摄像机大
都使用(CFA Color Filter Array,
彩色滤镜阵列) 在与图像大小
相同的传感器阵列中采集图像。
图列出了两种彩色摄像头1- 1
采集彩色图像的方式。
其中 图()在一个像素1- 1a
上使用三个传感器分别采集R
分量分量和分量。事实上 GB
一些专业的数码相机的确是采
用这种技术的。然而由于物理结
(a)三镜片摄像头(b)单镜片摄像头构的限制这样做很难得到较大图1- 1两种数字彩色摄像头的空间分辨率而且技术上实现
比较复杂。另外传感器是整个数码相机和数码摄像机中非常昂贵的部件通常占整个产品成本的这使得使用这种方式制造的数码相机和数码10-25%
摄像机的成本大大提高。为了提高采样的分辨率和降低成本 图()在1- 1b一个像素点采用一个传感器来采集、或者分量中的某一个颜色分量 RG B
这是通过使用彩色滤波阵列来实现的。即要采集的图像光线先经过光(CFA)
学聚集然后经过彩色滤波阵列在每个像素上获得、 、分量中的一个R GB
再经过量化获得颜色分量的亮度值。这种做法有两个优点:第一 由于一个像素上只使用一个颜色传感器相对于使用三个颜色传感器的图()中1- 1a方式大大缩小了在单个像素上占用的面积从而可以在单位面积上采集更多的像素即增加了图像的空间分辨率。第二这种方法实现起来也更为方便和简单。实际上绝大多数的彩色传感器都是使用彩色滤波阵列方式的。
使用不同的可以获得不同的图像输出阵列。其中以图中所示CFA 1-2
的模式图像阵列最为常见。 Bayer
图1-2 B ayer模式图像阵列
作就可以获得采集图像的三色阵列从而再现所采集图像。对所获得图像阵列的这种处理则被称为去马赛克R,G,B CFA
() 有时也被称为彩色插值)。 Demosaic(Color Interpolation图像插值可以分为线性插值和非线性插值。线性插值中有最近邻插值双线性插值和双三次插值等方法。线性插值方
法的不足之处在于容易引起失真即图像边缘阶梯型失真和边缘模糊。产生失真的原因是线性方法对所有的像素采用相同的插值函数没有考虑图像边缘。非线性插值算法对图像中边缘像素和非边缘像素进行不同的处理从而获得优于线性插值的效果。
业界常用算法分析2
为了进一步提高插值效果人们利用三个彩色通道之间的相关性插值。这类算法基于临近像素点色调平滑变化R,G,B
的假设这一假设是目前流行插值方法中所普遍使用的。下面以双线性插值算法和可变梯度值Variable Number of Gradients
(VN G)算法为例介绍常规的插值算法。
双线性插值分析2.1
双线性插值原理2.1.1在待插值颜色所属的像素点周围将具有相同颜色的像素点平均
值作为插值输出。
双线性插值实现过程2.1.2第一步红(蓝)色像
素点处的绿色分量插值
以图为例在与像素点处估计分量为例插值输出为该像素点东、西、南、北四个方向绿色像素点的平1-2 B7 R13 G
均值:
G7=(G2+G6+G12+G8)/4(1- 1)
(1-2)G 13=(G 8+G12+G18+G 14)/4第二步
绿色点处的红色、蓝色分量的插值就绿色点处于
奇数行和偶数行这两种情况考虑:
当绿色点处于奇数行时以图中的点插红色分量为例我们按照对红色分量进行插值:G14(1-3)
R14=(R13+R15)/2(1-3)当绿色点处于偶数行时以图中的点插红色分量为例我们按照对红色分量进行插值:G8 (1-4)
R8=(R3+R13)/2在绿色点估计蓝色分量的步(1-4)第三步蓝色红色点处的红色蓝色骤与上述完全相同。 //
分量的插值我们以图中的点插红色分量为例按照B7 (1-
进行插值:5)
R7=(R1+R3+R11+R13)/4我们分析了在蓝色点插红色分量的情(1-5)况在红色点估计蓝色分量与此相同。 至此我们已经得到所有的颜色分
量完成了插值步骤。
双线性插值优缺点分析2.1.3该算法的优点在于算法简单
复杂度低所需计算量小。
但是由于该算法对所有的像素点采取相同的操作而且没有利用不同彩色通道之间的相关性。对临域的像素点采用平均值相当于对图像进行了低通滤波所以使用该方法插值会降低图像分辨率这体现为图像中的边缘模糊。除此之外该方法还会在图像中的边缘处产生伪彩色() 。因此使用该方法插值会严重损害图像质量。 color artifacts
可变梯度值()插值分析2.2 VNG
算法原理2.2.1 VNG
算法计算像素点八个方向的梯度值根据所得结果计算出一个适当的门限值。当某一方向的梯度值超过门限值 VN G
就不采用该方向的颜色分量插值否则就利用该方向的颜色分量进行插值。算法实现过程2.2.2 VNG
以图为例算法共分两步:1-2 VNG
第一步我们插补红(蓝)色像素点的绿色分量与蓝(红)色分量。
如图所示以在估计和为例我们需要计算八个方向的梯度:1-2 R13 B13 G13/2 N=G8-G18+R3-R13+B7-B17/2+B9-B19/2+G2-G12/2+G4-G14/2 E=G14-G12+R15-R13+B9-B7/2+B19-B17/2+G10-G8/2+G20-G18/2 S=G8-G18+R23-R13+B7-B17/2+B9-B19 /2+G24-G14/2+G22-G12/2 W=G14-G12+R11-R13+B9-B7/2+B19-B17/2+G16-G18/2+G6-G8NE=B9-B17+R5-R13+G8-G12/2+G14-G18/2+G4-G8/2+G10-G14/2/2 SE=B19-B7+R25-R13+G14-G8/2+G18-G12/2+G20-G14/2+G24-G18/2 NE=B7-B19+R1-R13+G14-G8/2+G18-G12/2+G6-G12/2+G2-G8/2 NW=B17-B9+R21-R13+G8-G12/2+G14-G18/2+G22-G18/2+G16-G 12我们选出这八个梯度值的最小值和最大值 门限值。其中 。 MI NMAXT=k 1×MIN+k2*(MAX-MIN)k 1=1.5,k2=0.5
现在我们假设只有 满足小于门限值的条件只在这几个方向进行插值各分量如表所示。 SWNESE 2- 1
表2- 1
GB R
SG1 8(B1 7+B1 9)/2(R1 3+R23)/2
WG12(B7+B17)2(R1 1+R1 3)/2
N E(G4+G 8+G1 0+G1 4)/4 B 9(R 13+R5)/2
SE(G14+G1 8+G20+G24)/4B 1 9(R13+R25)/2
G=G 18+G 12+(G4+G8+G 10+G 14)/4+(G 14+G 18+G20+G24)/4(2- 1) sum
B=(B17+B19)/2+(B7+B17)2+B9+B19(2-2) sum
(2-3)R=(R13+R23)/2+(R11+R13)/2+(R13+R5)/2+(R13+R25)/2 sum
现在我们可以得出待插像素点的绿色与蓝色分量:
G13=R13+(G-R)/4(2-4) sumsum
(2-5)B13=R13+(B-R)/4在蓝色像素点插补绿色分量和红色分量的方法与在红色像素点sumsum
插补绿色分量和蓝色分量类似。 第二步在绿色像素点的红色分量和蓝色分量插值。我们对点插值和首先计算八个方向的梯度值:G13 R13 B13
R 2-R 12 R 4-R 14 B8-G18 G7-G17 G9-G19 N=G3-G13/2+/2++/2+/2+
++/2+/2+E=G15-G13 G9-G7 G19-G17 B10-B8/2+/2 R 14-R 12 B20-
B18
/2 S=++/2+/2+R22-R 12 B18-B8 G23-G13 G19-G9 G17-G7 R 24-R 14/2+W=++/2+/2+/2+R 12-R 14 G11-G13 G17-G19 G7-G9 B16-B18 B6-R 8/
2
+NE=++G9-G17 G5-G13 R4-R12B10-B8
+SE=G19-G7 G25-G13++R 24-R 12 B20-B8
R 2-R 14 G7-G19 G1-G13 B6-B18 N W=+++
++SW=G17-G9 G21-G13+R 22-R14B16-B8
同样我们根据这八个梯度值得出门限值再根据门限值来决定插值方向。具体步骤和上述相同。
插值算法的优缺点分析2.2.3 VNG该算法的优点在于有效克服了边缘模糊能抑制部分伪色彩提高了插值效果。缺点表现为算法复杂计算量大降低了插值效率。 因其处理时延较大不适合进行连续图像的实时处理。
基于像素组的算法3
像素组算法的基本思想3.1
自然界中的图像色彩是由一系列的像素组()构成并且在同一像素组中各个像素存在着必然的相互联Pixel Grouping
系即它们有相近的色彩与亮度。通过确定哪些像素属于同一像素组我们就能较好地估算出它们所要补插的缺失像素
并
能提高输出图像的效果。
大的不足。在插值效果与运算量之间找到了一个合适的平衡点是一种实用的去马赛克算法。像素组算法实现过程3.2
在图的阵列中绿色分量占红、蓝色分量各占是基于人眼对不同光波敏感度的差异即对绿色1-2 Bayer 50%25%
较红蓝色更为敏感。相应地我们在对不同色彩分量插值时做了区别对待。
在绿色分量插值中我们采用像素组的思路对每个像素点上、下、左、右四个方向的梯度进行计算判断出梯度值最小
(相关性最大)的方向然后对这个方向进行插值;在红像素与蓝像素的插值中我们构造了一个综合函数hue_transit(x1,x2,
其作用是进行相关性判断之间是否存在线性关系与平滑处理。x3,v1,v3)(x1,x2,x3)在红色和蓝色点插绿色分量3.2.1有两种情况。一种是在红色像素处插绿色像素值一种是在蓝色像素处插补绿色像素值。
下面仍以图的模型为例以在插绿色分量为例说明如何在红色像素处插绿色像素值。 1-2 Bayer R13
?N=|R3-R13|*2+|G8-G18|
?E=|R13-R15|*2+|G12-G 14|
?W=|R11-R13|*2+|G12-G 14|
?S=|R 13-R23|*2+|G 8-G 18|找出上面四个方向梯度中的最小值即在相关性最
当最小时大方向上插补绿色分量值。 ?N,G13=(G8*3+R13+G18-R 3)/4当最小时 ?E G13=(G14*3+R13+G12-R 15)/4
当最小时 ?W G13=(G12*3+R13+G14-R 11)/4
当最小时 ?S G13=(G18*3+R13+G8-R 23)/4
在蓝色像素处插补绿色像素值与在红色像素处插绿色像素值类似这里不再重复。至此原图像中的绿像素已Bayer补全。
在绿色点插红色和蓝色分量在对绿色像素点插值之前我3.2.2
们构造一个函数:hue_transit
#"%&%&%&v1+v3-v1 *x2-x1 x3-x1 x1<x2<x3 or x1>x2>x3hue_transit(x1,x2,x3,v1,v3)=’%&%%&&v1+v32+2*x2-x1-x34 else此函数是根据自变量之间是否具有线性关系(线性递增、线性递减或无线性关系) 来确定一个构造函数。 x1,x2,x3
对绿色像素点插值时我们以在点插和分量为例:G8 R8 B8
插蓝色分量时的具体含义为B8=hue_transit(G7,G8,G9,B7,B9)
当横向具有线性关系时 G7,G8,G9
B8=B7+(B9-B7)*(G8-G7)/(G9-G7)
否则
()B8=B7+B9/2+(2*G8-G7-G9)/4插红色分量时的具体含义为
R8=hue_transit(G3,G8,G13,R3,R13)
当纵向具有线性关系时 G3,G8,G13
R8=R3+(R13-R 3)*(G8-G3)/(G13-G3)
否则
RAKsmart 商家估摸着前段时间服务器囤货较多,这两个月的促销活动好像有点针对独立服务器。前面才整理到七月份的服务器活动在有一些配置上比上个月折扣力度是大很多,而且今天看到再来部分的服务器首月半价,一般这样的促销有可能是商家库存充裕。比如近期有一些服务商挖矿服务器销售不好,也都会采用这些策略,就好比电脑硬件最近也有下降。不管如何,我们选择服务器或者VPS主机要本着符合自己需求,如果业务不需要,...
香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...
特网云为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。官方网站:https://www.56dr.com/ 10年老品牌 值得信赖 有需要的请联系======================特网云推出多IP云主机...