Bayer图像的处理方法、装置及电子设备转让专利

申请号 : CN202311162979.8

文献号 : CN116896689B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜建国王晓哲李文国

申请人 : 归芯科技(深圳)有限公司

摘要 :

本发明提供一种Bayer图像的处理方法、装置及电子设备。所述方法包括:通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;通过色差滤波的方式重新计算每个非G像素的G分量,具体包括:以非G像素为中心设定一个第一计算窗口,根据第一计算窗口内每个像素的G分量,计算非G像素在G平面上的水平、垂直、上对角和下对角四个梯度能量,将其中的最小值作为最小梯度能量,最小梯度能量所在的方向作为非G像素的边缘方向;计算第一计算窗口内每个像素的色差并进行双边滤波,位于非G像素的边缘方向上的像素的值域距离与一个增益系数相乘,增益系数是根据最小梯度能量设定的;根据双边滤波结果,得到最终的所述非G像素的G分量。

权利要求 :

1.一种Bayer图像的处理方法,其特征在于,包括:

通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;

基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个所述非G像素的G分量,其中对于任意一个非G像素,通过色差滤波的方式重新计算所述非G像素的G分量包括:以所述非G像素为中心设定一个第一计算窗口,根据所述第一计算窗口内每个像素的G分量,计算所述非G像素在G平面上的水平梯度能量、垂直梯度能量、上对角梯度能量和下对角梯度能量,将其中的最小值作为最小梯度能量,所述最小梯度能量所在的方向作为所述非G像素的边缘方向;

计算所述第一计算窗口内每个像素的色差;

对所述第一计算窗口内每个像素的色差进行双边滤波,位于所述非G像素的边缘方向上的像素的值域距离与一个增益系数相乘,所述增益系数是根据所述最小梯度能量设定的;

根据双边滤波结果,得到最终的所述非G像素的G分量。

2.根据权利要求1所述的方法,其特征在于,

位于所述非G像素的边缘方向上的像素的值域距离表达式为:, 为调整前的值域距离,

为调整后的值域距离, 表示增益系数, 为像素p所在位置的色差, 为像素x所在位置的色差,像素p为当前非G像素,像素x属于当前非G像素的边缘方向直线上的点;

所述增益系数与所述最小梯度能量的关系表达式为:

其中,k2表示设定的gain曲线斜率,gain_min表示设定的增益系数最小值,Eth1表示设定的第一梯度能量阈值,Eth2表示设定的第二梯度能量阈值, 表示最小梯度能量。

3.根据权利要求1所述的方法,其特征在于,其中对于Bayer图像上任意一个非G像素,通过插值计算所述非G像素的G分量初始插值结果包括:以所述非G像素为中心设定一个第二计算窗口,计算所述非G像素的水平总梯度能量和垂直总梯度能量;

计算所述非G像素上、下、左、右四个方向的G分量插值结果,位置(i,j)的非G像素上、下、左、右四个方向的G分量插值结果依次表示为 、 、 、 ;

对所述非G像素上、下、左、右四个方向的G分量插值结果进行中值滤波计算,得到第一中值滤波结果,若所述非G像素的水平总梯度能量大于垂直总梯度能量,所述第一中值滤波结果取值为 的中值,否则所述第一中值滤波结果取值为的中值;

将所述第一中值滤波结果作为所述非G像素的G分量初始插值结果。

4.根据权利要求3所述的方法,其特征在于,所述计算非G像素的水平总梯度能量和垂直总梯度能量,包括:所述水平总梯度能量采用的计算表达式为:

其中, 表示非G像素的水平总梯度能量, 表示根据相同颜色像素之间原始颜色分量的差得到的水平梯度能量, 表示根据局部平均值得到的B、G像素饱和度参数,表示根据B像素和G像素之间原始颜色分量的差得到的水平梯度能量, 表示根据局部平均值得到的R、G像素饱和度参数, 表示根据R像素和G像素之间原始颜色分量的差得到的水平梯度能量;

垂直总梯度能量采用的计算表达式为:

其中, 表示非G像素的垂直总梯度能量, 表示根据相同颜色像素之间原始颜色分量的差得到的垂直梯度能量, 表示根据局部平均值得到的B、G像素饱和度参数,表示根据B像素和G像素之间原始颜色分量的差得到的垂直梯度能量, 表示根据局部平均值得到的R、G像素饱和度参数, 表示根据R像素和G像素之间原始颜色分量的差得到的垂直梯度能量。

5.根据权利要求3所述的方法,其特征在于,所述计算所述非G像素上、下、左、右四个方向的G分量插值结果,包括:在所述非G像素是B像素的情况下,采用的计算表达式为:

、 、 、 依次表示位置(i,j)的非G像素上、下、左、右相邻的四个G像素的G分量, 表示位置(i,j)的B像素的B分量, 表示位置(i‑2,j)的B像素的B分量, 表示位置(i+2,j)的B像素的B分量, 表示位置(i,j‑2)的B像素的B分量,表示位置(i,j+2)的B像素的B分量;

在所述非G像素是R像素的情况下,采用的计算表达式为:

、 、 、 依次表示位置(i,j)的非G像素上、下、左、右相邻的四个G像素的G分量, 表示位置(i,j)的R像素的R分量, 表示位置(i‑2,j)的R像素的R分量, 表示位置(i+2,j)的R像素的R分量, 表示位置(i,j‑2)的R像素的R分量,表示位置(i,j+2)的R像素的R分量。

6.根据权利要求3所述的方法,其特征在于,其中对于Bayer图像上任意一个非G像素,通过插值计算所述非G像素的G分量初始插值结果,还包括:对所述非G像素上、下、左、右相邻的四个G像素的G分量进行中值滤波计算,得到第二中值滤波结果,若所述非G像素水平总梯度能量大于垂直总梯度能量,所述第二中值滤波结果取值为 的中值,否则所述第二中值滤波结果取值为 的中值,其中 、 、 、

依次表示位置(i,j)的非G像素上、下、左、右相邻的四个G像素的G分量;

对所述第一中值滤波结果和所述第二中值滤波结果进行加权计算,将加权计算的结果作为所述非G像素的G分量初始插值结果。

7.根据权利要求6所述的方法,其特征在于,所述对所述第一中值滤波结果和所述第二中值滤波结果进行加权计算,将加权计算的结果作为所述非G像素的G分量初始插值结果,包括:采用的计算表达式为:

其中, 表示所述非G像素的G分量初始插值结果, 表示所述第一中值滤波结果, 表示所述第二中值滤波结果, 表示饱和度权重。

8.根据权利要求7所述的方法,其特征在于,所述饱和度权重按照下述方法取值:在所述非G像素是B像素的情况下,饱和度权重 的表达式为:在所述非G像素是R像素的情况下,饱和度权重 的表达式为:其中, 表示位置(i,j)的B像素的B分量, 表示位置(i,j)的R像素的R分量,k1表示设定的 曲线斜率, 表示设定的饱和度阈值,abs表示取绝对值。

9.根据权利要求1所述的方法,其特征在于,还包括:

通过插值计算每个B像素的R分量;

通过插值计算每个R像素的B分量;

通过插值计算每个G像素的R分量和B分量。

10.根据权利要求9所述的方法,其特征在于,还包括:

对每个像素的RGB分量进行边缘增强以及降噪。

11.一种Bayer图像的处理装置,其特征在于,包括:G分量插值模块,用于通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;

G分量更新模块,用于基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个所述非G像素的G分量,其中对于任意一个非G像素,通过色差滤波的方式重新计算所述非G像素的G分量包括:以所述非G像素为中心设定一个第一计算窗口,根据所述第一计算窗口内每个像素的G分量,计算所述非G像素在G平面上的水平梯度能量、垂直梯度能量、上对角梯度能量和下对角梯度能量,将其中的最小值作为最小梯度能量,所述最小梯度能量所在的方向作为所述非G像素的边缘方向;

计算所述第一计算窗口内每个像素的色差;

对所述第一计算窗口内每个像素的色差进行双边滤波,位于所述非G像素的边缘方向上的像素的值域距离与一个增益系数相乘,所述增益系数是根据所述最小梯度能量设定的;

根据双边滤波结果,得到最终的所述非G像素的G分量。

12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至10任一所述的Bayer图像的处理方法。

13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1至10任一所述的Bayer图像的处理方法。

说明书 :

Bayer图像的处理方法、装置及电子设备

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种Bayer图像的处理方法、装置及电子设备。

背景技术

[0002] 当今的数码相机内部的CDD或者CMOS传感器广泛采用贝尔(Bayer)模式的颜色滤波阵列(CFA)来采集图像。每个采样位置只有RGB其中一种颜色通道的像素值,需要利用去
马赛克(Demosaic)技术把每个采样位置缺少的其它两种像素值插值出来,生成RGB格式的
图像。
[0003] 现有的去马赛克方法,包括双线性插值,三次样条插值等。这些方法只利用同一种颜色的信息进行插值,在插值方向判断上未能有效利用不同颜色通道之间的相关信息,对
插值方向做出误判,从而插值出来的图像容易出现摩尔纹以及边缘锯齿现象。

发明内容

[0004] 有鉴于此,本发明提供了一种Bayer图像的处理方法、装置及电子设备,能够有效区分细条纹区域的边缘方向,使得G分量插值更准确,进而计算出来的色差更准确。
[0005] 第一方面,本发明提供一种Bayer图像的处理方法,包括:
[0006] 通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;
[0007] 基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个所述非G像素的G分量,其中对于任意一个非G像素,通过色差滤波的方式重新计算所述非G像素
的G分量包括:
[0008] 以所述非G像素为中心设定一个第一计算窗口,根据所述第一计算窗口内每个像素的G分量,计算所述非G像素在G平面上的水平梯度能量、垂直梯度能量、上对角梯度能量
和下对角梯度能量,将其中的最小值作为最小梯度能量,所述最小梯度能量所在的方向作
为所述非G像素的边缘方向;
[0009] 计算所述第一计算窗口内每个像素的色差;
[0010] 对所述第一计算窗口内每个像素的色差进行双边滤波,位于所述非G像素的边缘方向上的像素的值域距离与一个增益系数相乘,所述增益系数是根据所述最小梯度能量设
定的;
[0011] 根据双边滤波结果,得到最终的所述非G像素的G分量。
[0012] 可选地,位于所述非G像素的边缘方向上的像素的值域距离表达式为:
[0013] , 为调整前的值域距离,为调整后的值域距离, 表示增益系数;
[0014] 所述增益系数与所述最小梯度能量的关系表达式为:
[0015]
[0016] 其中,k2表示设定的gain曲线斜率,gain_min表示设定的增益系数最小值,Eth1表示设定的第一梯度能量阈值,Eth2表示设定的第二梯度能量阈值。
[0017] 可选地,其中对于Bayer图像上任意一个非G像素,通过插值计算所述非G像素的G分量初始插值结果包括:
[0018] 以所述非G像素为中心设定一个第二计算窗口,计算所述非G像素的水平总梯度能量和垂直总梯度能量;
[0019] 计算所述非G像素上、下、左、右四个方向的G分量插值结果,位置(i,j)的非G像素上、下、左、右四个方向的G分量插值结果依次表示为 、 、 、 ;
[0020] 对所述非G像素上、下、左、右四个方向的G分量插值结果进行中值滤波计算,得到第一中值滤波结果,若所述非G像素的水平总梯度能量大于垂直总梯度能量,所述第一中值
滤波结果取值为 的中值,否则所述第一中值滤波结果取值为
的中值;
[0021] 将所述第一中值滤波结果作为所述非G像素的G分量初始插值结果。
[0022] 可选地,所述计算非G像素的水平总梯度能量和垂直总梯度能量,包括:
[0023] 所述水平总梯度能量采用的计算表达式为:
[0024]
[0025] 其中, 表示非G像素的水平总梯度能量, 表示根据相同颜色像素之间原始颜色分量的差得到的水平梯度能量, 表示根据局部平均值得到的B、G像素饱和度参
数, 表示根据B像素和G像素之间原始颜色分量的差得到的水平梯度能量, 表示
根据局部平均值得到的R、G像素饱和度参数, 表示根据R像素和G像素之间原始颜色分
量的差得到的水平梯度能量;
[0026] 垂直总梯度能量采用的计算表达式为:
[0027]
[0028] 其中, 表示非G像素的垂直总梯度能量, 表示根据相同颜色像素之间原始颜色分量的差得到的垂直梯度能量, 表示根据局部平均值得到的B、G像素饱和度参
数, 表示根据B像素和G像素之间原始颜色分量的差得到的垂直梯度能量, 表示根
据局部平均值得到的R、G像素饱和度参数, 表示根据R像素和G像素之间原始颜色分量
的差得到的垂直梯度能量。
[0029] 可选地,所述计算所述非G像素上、下、左、右四个方向的G分量插值结果,包括:
[0030] 在所述非G像素是B像素的情况下,采用的计算表达式为:
[0031]
[0032]
[0033] 表示位置(i,j)的B像素的B分量, 表示位置(i‑2,j)的B像素的B分量,表示位置(i+2,j)的B像素的B分量, 表示位置(i,j‑2)的B像素的B分量,
表示位置(i,j+2)的B像素的B分量;
[0034] 在所述非G像素是R像素的情况下,采用的计算表达式为:
[0035]
[0036]
[0037] 表示位置(i,j)的R像素的R分量, 表示位置(i‑2,j)的R像素的R分量,表示位置(i+2,j)的R像素的R分量, 表示位置(i,j‑2)的R像素的R分量,
表示位置(i,j+2)的R像素的R分量。
[0038] 可选地,其中对于Bayer图像上任意一个非G像素,通过插值计算所述非G像素的G分量初始插值结果,还包括:
[0039] 对所述非G像素上、下、左、右相邻的四个G像素的G分量进行中值滤波计算,得到第二中值滤波结果,若所述非G像素水平总梯度能量大于垂直总梯度能量,所述第二中值滤波
结果取值为 的中值,否则所述第二中值滤波
结果取值为 的中值,其中 、 、
、 依次表示位置(i,j)的非G像素上、下、左、右相邻的四个G像素的G分量;
[0040] 对所述第一中值滤波结果和所述第二中值滤波结果进行加权计算,将加权计算的结果作为所述非G像素的G分量初始插值结果。
[0041] 可选地,所述对所述第一中值滤波结果和所述第二中值滤波结果进行加权计算,将加权计算的结果作为所述非G像素的G分量初始插值结果,包括:
[0042] 采用的计算表达式为:
[0043]
[0044] 其中, 表示所述非G像素的G分量初始插值结果, 表示所述第一中值滤波结果, 表示所述第二中值滤波结果, 表示饱和度权重。
[0045] 可选地,所述饱和度权重按照下述方法取值:在所述非G像素是B像素的情况下,饱和度权重 的表达式为:
[0046]
[0047] 在所述非G像素是R像素的情况下,饱和度权重 的表达式为:
[0048]
[0049] 其中,k1表示设定的 曲线斜率, 表示设定的饱和度阈值,abs表示取绝对值。
[0050] 可选地,还包括:
[0051] 通过插值计算每个B像素的R分量;
[0052] 通过插值计算每个R像素的B分量;
[0053] 通过插值计算每个G像素的R分量和B分量。
[0054] 可选地,还包括:
[0055] 对每个像素的RGB分量进行边缘增强以及降噪。
[0056] 第二方面,本发明提供一种Bayer图像的处理装置,包括:
[0057] G分量插值模块,用于通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;
[0058] G分量更新模块,用于基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个所述非G像素的G分量,其中对于任意一个非G像素,通过色差滤波的方式重
新计算所述非G像素的G分量包括:
[0059] 以所述非G像素为中心设定一个第一计算窗口,根据所述第一计算窗口内每个像素的G分量,计算所述非G像素在G平面上的水平梯度能量、垂直梯度能量、上对角梯度能量
和下对角梯度能量,将其中的最小值作为最小梯度能量,所述最小梯度能量所在的方向作
为所述非G像素的边缘方向;
[0060] 计算所述第一计算窗口内每个像素的色差;
[0061] 对所述第一计算窗口内每个像素的色差进行双边滤波,位于所述非G像素的边缘方向上的像素的值域距离与一个增益系数相乘,所述增益系数是根据所述最小梯度能量设
定的;
[0062] 根据双边滤波结果,得到最终的所述非G像素的G分量。
[0063] 第三方面,本发明提供一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一
方面提供的Bayer图像的处理方法。
[0064] 第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现第一方面提供的Bayer图像的处理方法。
[0065] 本发明提供的Bayer图像的处理方法、装置及电子设备,先对非G像素的G分量进行初始插值,然后根据初始插值结果对邻域色差进行带方向权重的双边滤波,得到当前像素
更准确的色差,使得图像边缘过渡更平滑,有效去除初始插值残留的伪色现象。

附图说明

[0066] 图1为本发明一实施例的Bayer图像的处理方法的流程示意图;
[0067] 图2为本发明一实施例的位置为(2,2)的B像素的4个方向检测示意图;
[0068] 图3为本发明一实施例的重新定义像素值的示意图;
[0069] 图4为本发明一实施例的根据局部平均RGB值计算能量饱和度参数的曲线示意图;
[0070] 图5为本发明一实施例的位置(i,j)像素插值饱和度权重计算示意图;
[0071] 图6为本发明一实施例的位置(2,2)像素插值饱和度权重计算示意图;
[0072] 图7为本发明一实施例的初始G平面示意图;
[0073] 图8为本发明一实施例的四个方向边缘判断影响的相关像素示意图;
[0074] 图9为本发明一实施例的位置(2,2)及其相邻8个位置的色差示意图;
[0075] 图10本发明一实施例的边缘方向上值域距离调整示意图;
[0076] 图11为本发明一实施例的Bayer图像的处理装置的结构示意图;
[0077] 图12为本发明一实施例的电子设备的示意图。

具体实施方式

[0078] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅
仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术
人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0079] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具
有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的
过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清
楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0080] 下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0081] 本发明一实施例提供一种Bayer图像的处理方法,如图1所示,该方法包括以下步骤:
[0082] S101,通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;
[0083] S102,基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个所述非G像素的G分量。
[0084] 下面对各步骤进行详细论述。
[0085] 在步骤S101,对于Bayer图像来说,非G像素的G分量插值方法有很多种,在本实施例中,提出了一种G分量插值方法,包括:
[0086] 步骤1011,以非G像素为中心设定一个第二计算窗口,计算非G像素的水平总梯度能量和垂直总梯度能量。
[0087] 下面举例说明具体的计算方法。如图2所示,非G像素选择位置(2,2)的B像素,以位置(2,2)的B像素为中心设定一个5x5的计算窗口,计算该B像素的水平总梯度能量和垂直总
梯度能量。
[0088] 计算 和 。
[0089]
[0090]
[0091] 上面计算公式中, 表示Bayer图像在(x1,y1)(x2,y2)位置像素原始颜色通道分量的差的绝对值。如图3所示,此处P是为了方便
表述,对原始像素做了如下重新命名。能够理解的是,如果(x1,y1)(x2,y2)位置的像素是B
像素,Px1y1,Px2y2就是B像素的B通道分量Bx1y1,Bx2y2。如果(x1,y1)(x2,y2)位置的像素是R像素,Px1y1,Px2y2就是R像素的R通道分量Rx1y1,Rx2y2。如果(x1,y1)(x2,y2)位置的像素是G像素,Px1y1,Px2y2就是G像素的G通道分量Gx1y1,Gx2y2。也就是说P在这里有三种含义,是R、G、B的任意一种,取决于像素的位置。
[0092] 和 的能量计算只考虑了相同颜色像素之间的差。在接近单像素的细条纹区域,通过这个能量值不能准确判断边缘方向。因为多数情况下,局部区域图像的不同颜色通
道之间具有较强的相关性,此时考虑不同颜色像素之间的差异可以有助于更准确的判断边
缘方向。
[0093] 计算 、 、 和 。
[0094]
[0095]
[0096]
[0097]
[0098] 由于饱和度比较高的区域,RGB颜色之间的差异比较大,RGB之间相关性变弱,需要对不同颜色之间的能量进行调制。
[0099] 计算位置(2,2)的B像素RGB的平均值,公式如下:
[0100]
[0101]
[0102]
[0103] 然后根据图4所示的关系曲线,得到 和 。
[0104] 最终,水平总梯度能量 按照下式计算:
[0105]
[0106] 其中, 表示非G像素的水平总梯度能量, 表示根据相同颜色像素之间原始颜色分量的差得到的水平梯度能量, 表示根据局部平均值得到的B、G像素饱和
度参数, 表示根据B像素和G像素之间原始颜色分量的差得到的水平梯度能量,
表示根据局部平均值得到的R、G像素饱和度参数, 表示根据R像素和G像素之
间原始颜色分量的差得到的水平梯度能量。
[0107] 垂直总梯度能量 按照下式计算:
[0108]
[0109] 其中, 表示非G像素的垂直总梯度能量, 表示根据相同颜色像素之间原始颜色分量的差得到的垂直梯度能量, 表示根据局部平均值得到的B、G像素饱和
度参数, 表示根据B像素和G像素之间原始颜色分量的差得到的垂直梯度能量,
表示根据局部平均值得到的R、G像素饱和度参数, 表示根据R像素和G像素之
间原始颜色分量的差得到的垂直梯度能量。
[0110] 上面是以位置(2,2)的B像素,5x5的计算窗口给出的示例性说明,至于其他位置的B像素,或者R像素,计算水平总梯度能量和垂直总梯度能量的方法类似,不再赘述。
[0111] 步骤1012,计算非G像素上、下、左、右四个方向的G分量插值结果,位置(i,j)的非G像素上、下、左、右四个方向的G分量插值结果依次表示为 、 、 、 。
[0112] 在非G像素是B像素的情况下,采用的计算表达式为:
[0113]
[0114]
[0115] 表示位置(i,j)的B像素的B分量, 表示位置(i‑2,j)的B像素的B分量,表示位置(i+2,j)的B像素的B分量, 表示位置(i,j‑2)的B像素的B分量,
表示位置(i,j+2)的B像素的B分量;
[0116] 在非G像素是R像素的情况下,采用的计算表达式为:
[0117]
[0118]
[0119] 表示位置(i,j)的R像素的R分量, 表示位置(i‑2,j)的R像素的R分量,表示位置(i+2,j)的R像素的R分量, 表示位置(i,j‑2)的R像素的R分量,
表示位置(i,j+2)的R像素的R分量。
[0120] 步骤1013,对非G像素上、下、左、右四个方向的G分量插值结果进行中值滤波计算,得到第一中值滤波结果,若非G像素的水平总梯度能量大于垂直总梯度能量,第一中值滤波
结果取值为 的中值,否则第一中值滤波结果取值为
的中值。
[0121] 第一中值滤波结果 的表达式为:
[0122]
[0123] 该计算使用了不同颜色通道的高频信息,如果不考虑高饱和度的影响,可以将第一中值滤波结果作为非G像素的G分量初始插值结果。如果考虑高饱和度的影响,可以继续
下述计算。
[0124] 步骤1014,对非G像素上、下、左、右相邻的四个G像素的G分量进行中值滤波计算,得到第二中值滤波结果,若非G像素水平总梯度能量大于垂直总梯度能量,第二中值滤波结
果取值为 的中值,否则第二中值滤波结果取
值为 的中值,其中 、 、 、
依次表示位置(i,j)的非G像素上、下、左、右相邻的四个G像素的G分量。
[0125] 第二中值滤波结果 的表达式为:
[0126]
[0127] 步骤1015,对第一中值滤波结果 和第二中值滤波结果 进行加权计算,将加权计算的结果作为非G像素的G分量初始插值结果。
[0128] 初始插值结果的表达式为:
[0129]
[0130] 其中, 表示非G像素的G分量初始插值结果, 表示第一中值滤波结果, 表示第二中值滤波结果, 表示饱和度权重。
[0131] 图5示出了B像素饱和度权重 的曲线,
[0132] 当前非G像素为B像素, 表达式为:
[0133]
[0134] 当前非G像素为R像素, 表达式为:
[0135]
[0136] 其中,k1表示设定的 曲线斜率, 表示设定的饱和度阈值,abs表示取绝对值。
[0137] 本实施例中, 使用了不同颜色通道的高频信息,在高饱和度的地方,容易出现瑕疵。因此还需要计算只考虑相同颜色通道的中值滤波结果 ,将两种计算
加权平均,得到初始插值结果。
[0138] 仍以位置(2,2)的B像素为例进行示例性说明。计算位置(2,2)的B像素上下左右四个方向的G分量插值结果。
[0139]
[0140]
[0141] 对上、下、左、右四个方向的G分量插值结果进行中值滤波计算,得到第一中值滤波结果。
[0142]
[0143] 对上、下、左、右相邻的四个G像素的G分量进行中值滤波计算,得到第二中值滤波结果。
[0144]
[0145] 对第一中值滤波结果和第二中值滤波结果进行加权计算,得到位置(2,2)的B像素的G分量初始插值结果。饱和度权重 参考示意图6。
[0146] 表达式为:
[0147]
[0148] 初始插值结果的表达式为:
[0149]
[0150] 采用上述插值计算,能够得到每个非G像素的G分量初始插值结果。
[0151] 上述插值方法通过利用不同颜色像素之间的梯度,可以有效区分细条纹区域的边缘方向,使得初始插值的G分量更准确,进而计算出来的色差更准确。且对于饱和度的信息
的有效使用,可以消除在高饱和度区域误用其它颜色插值的瑕疵。
[0152] 在步骤S102,基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个非G像素的G分量。在本实施例中,提出了一种更新G分量的方法,包括:
[0153] 步骤1021,以非G像素为中心设定一个第一计算窗口,根据第一计算窗口内每个像素的G分量,计算非G像素在G平面上的水平梯度能量、垂直梯度能量、上对角梯度能量和下
对角梯度能量,将其中的最小值作为最小梯度能量,最小梯度能量所在的方向作为非G像素
的边缘方向。
[0154] 仍以位置(2,2)的B像素为例,以位置(2,2)的B像素为中心设定一个3x3的计算窗口,其他位置的B像素或者R像素与此类似。
[0155] 位置(2,2)的B像素以及周边位置(1,1),(1,3),(3,1),(3,3)的R像素,这些像素的G分量初始插值结果如上面所述已经计算出来,依次记为G22,G11,G13,G31,G33。得到如图7所示的初始G平面。
[0156] 位置(2,2)的B像素在G平面上的水平梯度能量为:
[0157]
[0158] 位置(2,2)的B像素在G平面上的垂直梯度能量为:
[0159]
[0160] 位置(2,2)的B像素在G平面上的上对角梯度能量为:
[0161]
[0162] 位置(2,2)的B像素在G平面上的下对角梯度能量为:
[0163]
[0164] 上面计算公式中, 表示初始插值得到的G平面上在(x1,y1)(x2,y2)位置像素G分量的差的绝对值。能够理解的是,如果(x1,
y1)(x2,y2)位置的像素是B像素或者R像素,Gx1y1,Gx2y2就是插值得到的G分量。如果(x1,y1)(x2,y2)位置的像素是G像素,Gx1y1,Gx2y2就是G像素的G通道分量Gx1y1,Gx2y2。
[0165] 最小梯度能量的表达式为:
[0166]
[0167] 能量最小的方向作为当前非G像素的边缘方向,记为min_dir。图8示出了四个方向边缘判断影响的相关像素,后面在对色差进行双边滤波的时候,会根据E_min来增大相应方
向min_dir上的像素的滤波权重。
[0168] 步骤1022,计算第一计算窗口内每个像素的色差。
[0169] 位置(0,0),(0,2),(0,4),(2,0),(2,2),(2,4),(4,0),(4,2),(4,4)的色差,用初始插值出来的G分量减去原始的B分量。
[0170] 定义色差为 ,从而计算出上述位置的色差如下。
[0171]
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179]
[0180] 进一步可以计算3x3窗口内,中心点(2,2)周围8个位置的色差:
[0181]
[0182]
[0183]
[0184]
[0185]
[0186]
[0187] 如图9所示,计算得到了位置(2,2)及其相邻8个位置的色差。
[0188] 步骤1023,使用双边滤波器(Bilateral filter,BF)对第一计算窗口内每个像素的色差进行双边滤波。本实施例中,对3X3窗口的9个色差采用双边滤波器进行双边滤波。双
边滤波算法如下:
[0189]
[0190] 其中
[0191]
[0192]
[0193]
[0194] 为滤波窗口内每个像素的权重和,用于权重的归一化。 为空域高斯标准差,决定像素位置距离的权重。 为值域高斯噪声标准差,决定像素值差异的滤波强度。S
为像素邻域。
[0195] 将计算得到的邻域色差代入Bilateral公式,p,q表示像素, 表示像素位置距离,Ip,Iq表示相应位置的色差, 表示值域距离。p对应中心点(2,2),q属于
集合{(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)}。
[0196] 特别地,位于非G像素的边缘方向上的像素的值域距离表达式为:
[0197] 。
[0198] 其中, 为调整前的值域距离, 为调整后的值域距离,表示增益系数。
[0199] 像素p为当前非G像素,像素x属于根据min_dir确定的边缘方向直线上的点。参考图8,例如min_dir如果为水平方向H,x属于集合{(2,1),(2,3)}。min_dir如果为上对角方向U,则x属于集合{(3,1),(1,3)}。gain为一个增益系数,需要根据最小梯度能量E_min来设
定。图10示出了增益系数gain的曲线,如图10所示,gain的表达式为:
[0200]
[0201] 其中,k2表示设定的gain曲线斜率,gain_min表示设定的增益系数最小值,Eth1表示设定的第一梯度能量阈值,Eth2表示设定的第二梯度能量阈值。
[0202] 步骤1024,根据双边滤波结果,得到最终的非G像素的G分量。
[0203] 双边滤波结果记为 ,从而为最终得到的位置(2,2)的B像素的G分量。
[0204] 上述计算过程是以B像素为例进行说明,R像素的G分量可以采用相同的方法得到。
[0205] 本发明实施例提供的一种Bayer图像的处理方法,在判断插值方向与初始插值过程中,采用有效且低复杂度的方法来合理利用不同颜色通道之间的信息,达到插值方向和
插值结果更准确。根据G分量的初始插值结果,计算周边像素的G‑B/G‑R色差,对当前像素进
行带方向权重的双边滤波,得到当前像素更准确的色差,使得图像边缘更平滑,有效去除初
始插值残留的伪色现象。
[0206] 进一步地,在得到了每个非G像素的G分量之后,Bayer图像的处理方法还可以包括:
[0207] 通过插值计算每个B像素的R分量;
[0208] 通过插值计算每个R像素的B分量;
[0209] 通过插值计算每个G像素的R分量和B分量。
[0210] 根据相邻像素色差近似相等的原理,分成3种情况:
[0211] 1)在Bayer图像上对应位置是B像素,以位置(2,2)的B像素为例,
[0212] R22= G22+((R11‑G11)+(R13‑G13)+(R31‑G31)+(R33‑G33))/4
[0213] 2)在Bayer图像上对应位置是R像素,以图2中位置(3,3)的R像素为例,
[0214] B33= G33+((B23‑G23)+(B43‑G43)+(B32‑G32)+(B34‑G34))/4
[0215] 3)在Bayer图像上对应位置是G像素,以位置(1,2)的G像素为例,
[0216] R12= G12+ ((R11‑G11)+ (R13‑G13))/2
[0217] B12= G12+ ((B02‑G02)+ (B22‑G22))/2
[0218] 为了减少算法硬件实现的代价,原始G像素的R/B颜色通道插值,原始R像素的B颜色通道插值,原始B像素的R颜色通道插值,采用简单的基于色差的插值。在需要的时候低复
杂度地实时计算,减少存储空间的需求。
[0219] 进一步地,在得到了每个像素的RGB分量之后,Bayer图像的处理方法还可以包括:
[0220] 对每个像素的RGB分量进行边缘增强以及降噪。
[0221] 可选地,在5x5的区域内,计算出每个像素的RGB分量,对RGB分量可以应用传统的图像降噪与增强技术。
[0222] 为了节省存储空间,可以不储存之前插值计算出来的R分量和B分量。R分量和B分量可以根据需要实时计算。
[0223] 以Bayer图像上(2,2)位置的B像素为例,3x3内圈的R和B的值,可以采用前述插值方法。外圈的16个位置的像素,对于要插值的颜色通道X,只在5x5圈内找最近邻的与X同色
的像素,根据色差相等进行插值。
[0224] 需要注意的是B40,B42,B44位置的G像素值,是只经过初始G像素插值,未经过色差滤波更新G分量插值结果。由于其占比例较小,且离中心B22距离较远,对结果的影响可以忽
略。
[0225] 另一方面,本发明一实施例还提供一种Bayer图像的处理装置,如图11所示,该装置包括:
[0226] G分量插值模块1101,用于通过插值计算Bayer图像上每个非G像素的G分量初始插值结果;
[0227] G分量更新模块1102,用于基于每个非G像素的G分量初始插值结果,通过色差滤波的方式重新计算每个非G像素的G分量,其中对于任意一个非G像素,通过色差滤波的方式重
新计算非G像素的G分量包括:
[0228] 以非G像素为中心设定一个第一计算窗口,根据第一计算窗口内每个像素的G分量,计算非G像素在G平面上的水平梯度能量、垂直梯度能量、上对角梯度能量和下对角梯度
能量,将其中的最小值作为最小梯度能量,最小梯度能量所在的方向作为非G像素的边缘方
向;
[0229] 计算第一计算窗口内每个像素的色差;
[0230] 使用双边滤波器对第一计算窗口内每个像素的色差进行双边滤波,位于非G像素的边缘方向上的像素的值域距离与一个增益系数相乘,增益系数是根据最小梯度能量设定
的;
[0231] 根据双边滤波结果,得到最终的非G像素的G分量。
[0232] 本发明实施例提供的Bayer图像的处理装置是用于执行上述方法实施例的,其具体流程和详细内容请参照上述实施例,此处不再赘述。
[0233] 另一方面,图12为本发明一实施例提供的电子设备结构示意图。如图12所示,该电子设备可以包括:处理器(processor)1201、存储器(memory)1202和通信总线1203,其中,处
理器1201和存储器1202通过通信总线1203完成相互间的通信。处理器1201可以执行存储器
1202中的程序指令,以实现上述各实施例提供的Bayer图像的处理方法。
[0234] 另一方面,本发明一实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被执行时实现上述各实施例提供的Bayer图像的处理方法。
[0235] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0236] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
[0237] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。