发明内容
发明目的:针对上述现有技术,提出一种基于阈值划分和色域转换的去马赛克方法,在不大幅度增加计算量的前提下,提高图像恢复和还原的精度。
技术方案: 一种基于阈值划分和色域转换的去马赛克方法,包括:
步骤1:将待处理的RAW格式的图片划分为若干8×8像素块;
步骤2:计算像素块中每一个像素点水平方向和垂直方向的梯度以及总梯度幅值,然后计算像素块梯度幅值的均值m和标准差s;
步骤3:根据均值m和标准差s将像素块中每个像素点划归到3个不同的类型区域:边缘区、过渡区和平坦区;
步骤4:对属于不同类型区域的像素点采用不同的插值方法进行处理,具体的:对属于平坦区的像素点,采用最近邻插值法进行插值;对属于过渡区的像素点,采用带权重线性平均插值方法进行插值;对于属于边缘区的像素点,首先按照过渡区像素点相同的插值方法进行预插值处理,完成预插值处理后将整个像素块转化为YUV格式,再对属于边缘区的像素点的YUV值使用颜色相关性原理分别对Y、U、V三个通道的像素值进行修正,修正完成后将像素块从YUV格式再转换回RGB格式。
进一步的,所述步骤3中,当gi>m+k·s时,该像素点划归为边缘区;当gi<m-k·s时,该像素点划归为平坦区;当m-k·s<gi<m+k·s时,该像素点划归为过渡区;其中,gi表示8×8像素块中第i个像素点的总梯度幅值,k是调整参数。
进一步的,所述步骤4中,对属于过渡区的像素点,采用带权重线性平均插值方法进行插值,包括如下步骤:
对缺失绿色通道的像素点分别进行绿色通道插值,如下式所示:,式中,G1~G4分别表示当前处理像素点四周最近的四个绿像素点的像素值,w1~w4分别表示该四个绿像素点对应的总梯度幅值的倒数;
对缺失红色通道的像素点分别进行红色通道插值,如下式所示:,式中,R1、R2表示当前处理像素点最近的两个红像素点的像素值,wR1、wR2分别表示该两个红像素点的总梯度幅值的倒数;其中,对于缺失红色通道的蓝像素点,任选最近的并属于同一行或同一列中的两个红像素点进行权重插值;
对缺失蓝色通道的像素点分别进行蓝色通道插值,如下式所示:,式中,B1、B2表示当前处理像素点最近的两个蓝像素点的像素值,wB1、wB2分别表示该两个蓝像素点的总梯度幅值的倒数;其中,对于缺失蓝色通道的红像素点,任选最近的并属于同一行或同一列中的两个蓝像素点进行权重插值。
进一步的,所述步骤4中,对于属于边缘区的像素点,对属于边缘区的像素点的YUV值使用颜色相关性原理分别对Y、U、V三个通道的像素值进行修正,包括如下步骤:
3-1)使用当前处理像素点左右相邻或上下相邻的两个像素点的Y通道像素值以及对角线上相邻的四个像素点的Y通道像素值进行加权平均,得到该像素点的Y通道像素修正值;
3-2)根据当前处理像素点与相邻区域内像素点的Y、U、V通道像素值的差值,对当前处理像素点的U、V通道像素值进行修正。
进一步的,所述3-1)包括:
当前处理像素点的水平和竖直梯度分别为gx、gy;当gx<gy时,选择水平方向进行插值,如下式所示:Y’i,j=(Yi,j-1+Yi,j+1)×40%+(Yi+1,j+1+Yi+1,j-1+Yi-1,j-1+Yi-1,j+1)×10%+Yi,j×50%;
当gx=gy时,使用水平和竖直两个方向的像素值综合插值,如下式所示:Y’i,j=(Yi,j-1+Yi,j+1+Yi-1,j+Yi+1,j)×40%+(Yi+1,j+1+Yi+1,j-1+Yi-1,j-1+Yi-1,j+1)×10%+Yi,j×50%;
当gx>gy时,选择竖直方向进行插值,如下式所示:Y’i,j=(Yi-1,j+Yi+1,j)×40%+(Yi+1,j+1+Yi+1,j-1+Yi-1,j-1+Yi-1,j+1)×10%+Yi,j×50%;
式中,Y’i,j表示插值后坐标为(i,j)的像素点的Y通道像素值,Yi,j表示YUV格式转换后坐标为(i,j)的像素点的Y通道像素值。
进一步的,所述3-2)包括:
3-2-1)根据YUV格式转换后的8×8像素块,分别计算当前处理像素点Y通道与周围八个像素点U通道和V通道的色差Ku、Kv,如下式所示:;
3-2-2)根据周围八个像素点的色差均值和/>,以及当前处理像素点经插值修正后的Y通道像素值Y’i,j,对当前处理像素点的U、V通道像素值进行修正估算,如下式所示,得到预估值U’和V’:/>;
3-2-3)根据预估值U’、V’以及当前处理像素点通过预插值后转换得到的U、V通道像素值,通过均分权重进行加权平均得到处理,如下式所示:;式中,U’i,j、V’i,j分别表示当前处理像素点U、V通道像素值的修正值。
有益效果:考虑到现有的Demosaic方法在利用原始数据上不够充分,本发明的Demosaic方法通过划分梯度类型,针对不同的像素点采用不同的插值方法进行处理。对于梯度较小,均匀着色的区域采用传统的简单插值算法进行处理,对于过渡区域采用根据梯度大小的加权平均插值法,对于梯度较大的边缘区域则将RAW格式转化为YUV格式进行处理。本方法在不大幅度增加计算量的前提下,提高了原始数据的通道利用率,提高了图像恢复和还原的效果。
实施方式
下面结合附图对本发明做更进一步的解释。
如图1所示,一种基于阈值划分和色域转换的去马赛克方法,具体步骤如下:
步骤1:将待处理的RAW格式的图片划分为如图2所示的若干8×8像素块。
步骤2:计算像素块中每一个像素点的梯度,如下式所示:
式中,gx、gy分别表示水平方向和垂直方向的梯度,*表示卷积操作,I表示以当前处理像素点为中心的3×3像素块的像素值构成的矩阵,g表示当前处理像素点的总梯度幅值。之后,对整个8×8像素块求其梯度幅值的均值m和标准差s,如下式所示:
式中,n表示8×8像素块中像素数量,gi表示8×8像素块中第i个像素点的总梯度幅值。
步骤3:根据均值m和标准差s将8×8像素块中每个像素点划归到3个不同的类型区域:边缘区、过渡区和平坦区。具体的,当gi>m+k·s时,该像素点划归为边缘区;当gi<m-k·s时,该像素点划归为平坦区;当m-k·s<gi<m+k·s时,该像素点划归为过渡区,其中k是调整参数,可以根据具体应用需求进行调整,k一般取0.5~1。
步骤4:对属于不同类型区域的像素点采用不同的插值方法进行处理。
1)对属于平坦区的像素点,采用最近邻插值法进行插值,如下式所示:
式中,Gi,j、Ri,j、Bi,j分别表示像素点进行绿(G)、红(R)、蓝(B)通道插值的像素值,下标i,j表示像素点的坐标为(i,j);G1、R1、B1分别表示距离当前处理像素点最近的绿、红、蓝像素点的像素值,如图3所示。对属于平坦区的各像素点分别进行两种缺失颜色通道的插值处理后,各像素点均有绿(G)、红(R)、蓝(B)三个通道的像素值。本发明通过阈值划分,对于平坦过度区采用简单处理方式,降低整体的计算量。
2)对属于过渡区的像素点,采用带权重线性平均插值方法进行插值,即使用其周围通道的像素值并根据梯度大小加权平均来进行插值。具体的,对缺失绿色(G)通道的像素点分别进行绿色(G)通道插值,如下式所示:
式中,G1~G4分别表示当前处理像素点四周最近的四个绿像素点的像素值,w1~w4分别表示该四个绿像素点对应的总梯度幅值的倒数。
根据周围像素点的梯度来进行权重插值是因为梯度提供了有关图像边缘和纹理变化的信息。在过渡区域内,由于存在较大的颜色或纹理变化,在进行插值时应考虑这些变化。本发明通过使用周围像素点与目标像素之间梯度大小作为权重,可以使得插值结果更加准确,并且能够更好地保持原始图像中细微结构和细节。
如图4所示,对缺失红色(R)通道的像素点分别进行红色(R)通道插值,如下式所示:
式中,R1、R2表示当前处理像素点最近的两个红像素点的像素值,wR1、wR2分别表示该两个红像素点的总梯度幅值的倒数。其中,对于缺失红色(R)通道的蓝像素点,任选最近的并属于同一行或同一列中的两个红像素点进行权重插值。
如图4所示,对缺失蓝色(B)通道的像素点分别进行蓝色(B)通道插值,如下式所示:
式中,B1、B2表示当前处理像素点最近的两个蓝像素点的像素值,wB1、wB2分别表示该两个蓝像素点的总梯度幅值的倒数。其中,对于缺失蓝色(B)通道的红像素点,任选最近的并属于同一行或同一列中的两个蓝像素点进行权重插值。
对属于过渡区的各像素点分别进行两种缺失颜色通道的插值处理后,各像素点均有绿(G)、红(R)、蓝(B)三个通道的像素值。
3)如图5所示,对于属于边缘区的像素点,首先按照过渡区像素点相同的插值方法进行预插值处理;完成预插值处理后,该8×8像素块中所有像素点都具有绿(G)、红(R)、蓝(B)三个通道的像素值,将整个8×8像素块转化为YUV格式;YUV格式转换完成后,再对属于边缘区的像素点的YUV值使用颜色相关性原理分别对Y、U、V三个通道的像素值进行修正,具体过程如下:
3-1)使用当前处理像素点左右相邻或上下相邻的两个像素点的Y通道像素值以及对角线上相邻的四个像素点的Y通道像素值进行加权平均,得到该像素点的Y通道像素修正值,具体步骤如下:
选择梯度较小的方向作为插值方向,即当gx<gy时,选择水平方向进行插值,如下式所示:Y’i,j=(Yi,j-1+Yi,j+1)×40%+(Yi+1,j+1+Yi+1,j-1+Yi-1,j-1+Yi-1,j+1)×10%+Yi,j×50%;当gx=gy时,使用水平和竖直两个方向的像素值综合插值,如下式所示:Y’i,j=(Yi,j-1+Yi,j+1+Yi-1,j+Yi+1,j)×40%+(Yi+1,j+1+Yi+1,j-1+Yi-1,j-1+Yi-1,j+1)×10%+Yi,j×50%;当gx>gy时,选择竖直方向进行插值,如下式所示:Y’i,j=(Yi-1,j+Yi+1,j)×40%+(Yi+1,j+1+Yi+1,j-1+Yi-1,j-1+Yi-1,j+1)×10%+Yi,j×50%;式中,Y’i,j表示插值后坐标为(i,j)的像素点的Y通道像素值,Yi,j表示YUV格式转换后坐标为(i,j)的像素点的Y通道像素值。
图像中的边缘通常在一个特定的方向上更强烈。通过计算水平和竖直梯度,可以确定哪个方向上的变化更加显著。如果当前处理像素点的gx(水平方向梯度)小于gy(竖直方向梯度),意味着图像在垂直方向上具有更大的变化率,可能存在垂直边缘。因此,在这种情况下,选择水平方向进行插值可以提供更准确的结果。相反,如果gx大于gy,则表示图像在水平方向上具有更大的变化率,可能存在水平边缘。因此,在这种情况下,选择竖直方向进行插值会产生更好的效果。本发明通过根据两个梯度之间的比较来选择合适的插值方向,能够根据图像中不同区域变化程度不同而灵活地处理,并提高对边缘细节和纹理等细微特征的捕捉能力。
3-2)经过上述插值步骤后,属于边缘区的像素点的Y通道像素值修正完成,随后根据当前处理像素点与相邻区域内像素点的Y、U、V通道像素值的差值,对当前处理像素点的U、V通道像素值进行修正,步骤如下:
3-2-1)首先根据上述YUV格式转换后的8×8像素块,分别计算当前处理像素点Y通道与周围八个像素点U通道和V通道的色差Ku、Kv,如下式所示:
3-2-2)然后根据周围八个像素点的色差均值和/>,以及当前处理像素点经插值修正后的Y通道像素值Y’i,j,对当前处理像素点的U、V通道像素值进行修正估算,如下式所示,得到预估值U’和V’:
3-2-3)随后根据预估值U’、V’以及当前处理像素点通过预插值后转换得到的U、V通道像素值,通过均分权重进行加权平均得到处理后的U’i,j和V’i,j,如下式所示,从而完成U、V通道像素值的修正:
最后将属于边缘区的像素点修正后的Y’i,j、U’i,j、V’i,j替换YUV格式中的对应值,再将像素块从YUV格式再转换回RGB格式,至此完成了对于属于边缘区的像素点进行插值的步骤。
本发明通过使用周围八个像素点的色差均值来估算当前处理像素点的U、V通道像素值,可以实现色彩平滑和细节增强的效果。这种方法利用了相邻像素之间的相关性,通过对它们进行加权平均来修正当前像素点的U、V通道值。在使用预估值U’、V’以及经过预插值后转换得到的实际U、V通道像素值时,采用均分权重进行加权平均,这意味着每个像素点都会根据其与周围八个像素之间距离远近被赋予不同程度的影响力,这种加权平均有助于确保图像中各个区域颜色变化连贯且自然。
经过上述步骤1至步骤4的处理,最终将RAW格式的图像恢复和还原成可直接观看的RGB格式图像。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。