一种图像的插值方法及装置
技术领域
本发明涉及图像处理领域,尤其涉及一种图像的插值方法及装置。
背景技术
彩色数字图像通常用红色、绿色和蓝色三基色来表示颜色值,大部分数码相机采用单一CCD或CMOS图像传感器,通常图像传感器获得的是彩色滤波阵列(CFA,Color Filter Array)格式的颜色信息,图像可以以CFA数据格式进行存储。在CFA图像中每个像素点上只有红基色、绿基色或蓝基色中的一种颜色分量值,另两个颜色分量依据其邻域像素分别进行插值,得到两个颜色分量插值,这种插值技术被称作“去马赛克”。目前CFA图像应用最广泛的是Bayer模式。Bayer模式中,每相邻的四个像素点中,有两个绿基色的像素点,一个红基色的像素点,另外一个为蓝基色的像素点。
目前,CFA图像的插值方法有双线性插值方法、三次样条插值方法和交互映射方法(Alternating Projections)等多种的图像插值方法,另外也有基于图像几何性自适应性的插值方法等。但现有技术的图像的插值方法都存在一些问题,例如双线性插值方法和三次样条插值方在插值后的图像中可能会产生大量的伪彩色,交互映射方法实现过程复杂、实时性较低,基于图像几何性自适应性的插值方法的虽然插值效果较好,但同样存在插值实现时计算复杂度高、计算量大等问题。
相关技术可参考公开号为US2010182466A1美国专利申请。
发明内容
本发明解决的问题是在图像的插值方法中,存在插值后的图像中存在伪彩色现象,图像插值效果较差,且图像插值方法复杂度高的问题。
为解决上述问题,本发明技术方案提供一种图像的插值方法,所述方法包括:
基于像素点的颜色分量值对图像进行区域划分,所述图像以CFA数据格式存储;
基于像素点的梯度值,确定蓝色通道和红色通道中的像素点的绿色分量的插值方向;
基于所述绿色分量的插值方向,确定蓝色通道和红色通道中的像素点的绿色分量的权值;
基于所述区域划分、像素点的绿色分量的插值方向和像素点的绿色分量的权值,获取蓝色通道和红色通道中各像素点的绿色分量插值;
基于所述绿色分量插值获取绿色通道中的像素点的红色分量插值和蓝色分量插值、红色通道中的像素点的蓝色分量插值以及蓝色通道中的像素点的红色分量插值。
可选的,所述基于像素点的颜色分量值对图像进行区域划分包括:
依次移动搜索窗口的位置;
获取每个搜索窗口内像素点的颜色分量值的平均值;
若该搜索窗口的中心点的颜色分量值与所述平均值的差值大于或者等于0,则确定所述中心点的映射值为1,否则确定所述中心点的映射值为0;
在搜索窗口对图像遍历之后,若像素点的映射值为1,则确定所述像素点为第一区域中的像素点,若像素点的映射值为0,则确定所述像素点为第二区域中的像素点。
可选的,所述依次移动搜索窗口的位置包括:按照从左向右、从上到下的顺序,将所述搜索窗口每次在图像中移动一个像素点的位置。
可选的,所述像素点的梯度值包括水平梯度值H(i,j)和垂直梯度值V(i,j),
其中,下标表示像素点所在行和列,i的取值范围是j的取值范围是d为搜索窗口每一行所包含的像素点的个数,b为搜索窗口每一列所包含的像素点的个数,d、b为奇数,L为所述图像每一行所包含的像素点的个数,C为所述图像每一列所包含的像素点的个数,X表示其下标对应的像素点的颜色分量值。
可选的,所述基于像素点的梯度值,确定蓝色通道和红色通道中的像素点的绿色分量的插值方向包括:
若所述像素点的水平梯度值H(i,j)小于该像素点的垂直梯度值V(i,j),则确定该像素点的绿色分量的插值方向为水平方向,否则该像素点的绿色分量的插值方向为垂直方向。
可选的,所述基于所述绿色分量的插值方向,确定蓝色通道和红色通道中的像素点的绿色分量的权值包括:
若像素点的绿色分量的插值方向为水平方向,则基于公式:
获取该像素点的绿色分量的权值Wsh(i,j);
若像素点的绿色分量的插值方向为垂直方向,则基于公式:
获取该像素点的绿色分量的权值Wsv(i,j);
其中,K表示其下标对应的像素点的颜色分量值,G表示其下标对应的像素点的绿色分量值。
可选的,所述基于所述区域划分、像素点的绿色分量的插值方向和像素点的绿色分量的权值,获取蓝色通道和红色通道中各像素点的绿色分量插值包括:
若像素点的绿色分量的插值方向为水平方向,且该像素点为第二区域中的像素点,则基于公式:
获得该像素点的绿色分量插值
若像素点的绿色分量的插值方向为垂直方向,且该像素点为第二区域中的像素点,则基于公式:
获得该像素点的绿色分量插值
若像素点的绿色分量的插值方向为水平方向,且该像素点为第一区域中的像素点,则基于公式:
获得该像素点的绿色分量插值
若像素点的绿色分量的插值方向为垂直方向,且该像素点为第一区域中的像素点,则基于公式:
获得该像素点的绿色分量插值
其中,表示其下标对应的像素点的绿色分量插值。
可选的,所述基于所述绿色分量插值获取绿色通道中的像素点的红色分量插值和蓝色分量插值、红色通道中的像素点的蓝色分量插值以及蓝色通道中的像素点的红色分量插值包括:
若CFA图像中的绿色通道中的像素点的前后像素点的颜色分量值为红色,则该绿色通道中的像素点的红色分量插值为:
若CFA图像中的绿色通道中的像素点的前后像素点的颜色分量值为蓝色,则该绿色通道中的像素点的红色分量插值为:
表示其下标对应的像素点的绿色分量插值,R表示其下标对应的像素点的红色分量值;
蓝色通道中的像素点的红色分量插值为:
表示其下标对应的像素点的红色分量插值;
若CFA图像中的绿色通道中的像素点的前后像素点的颜色分量值为红色,则该绿色通道中的像素点的蓝色分量插值为:
若CFA图像中的绿色通道中的像素点的前后像素点的颜色分量值为蓝色,则该绿色通道中的像素点的蓝色分量插值为:
B表示其下标对应的像素点的蓝色分量值;
红色通道中的像素点的蓝色分量插值为:
表示其下标对应的像素点的蓝色分量插值。
可选的,所述方法还包括:对红色分量插值和蓝色分量插值进行优化,所述优化包括:
计算像素点在不同方向上的色差权值,所述色差权值基于该像素点及其周围的像素点的颜色分量值和颜色分量插值确定;
基于所述色差权值,确定该像素点的自适应性权值;
基于所述该像素点的自适应性权值对所述像素点的红色分量插值和蓝色分量插值进行优化。
可选的,所述计算像素点在不同方向上的色差权值包括:
基于公式 计算像素点竖直向上的色差权值Sup(i,j);
基于公式 计算像素点竖直向下的色差权值Sdown(i,j);
基于公式 计算像素点水平向左的色差权值Sleft(i,j);
基于公式 计算像素点水平向右的色差权值Sright(i,j);
若对所述像素点的蓝色分量插值进行优化,表示其下标对应的像素点的蓝色分量值或蓝色分量插值;若对所述像素点的红色分量插值进行优化,则表示其下标对应的像素点的红色分量值或红色分量插值;
其中,表示其下标对应的像素点的绿色分量值或绿色分量插值。
可选的,基于公式
确定所述像素点的自适应性权值
可选的,基于公式 对所述像素点的红色分量插值和蓝色分量插值进行优化;
若对所述像素点的蓝色分量插值进行优化,则Knew表示在其下标对应的位置处的像素点的蓝色分量插值优化结果;若对所述像素点的红色分量插值进行优化,则Knew表示在其下标对应的位置处的像素点的红色分量插值优化结果。
本发明技术方案还提供一种图像的插值装置,所述装置包括:
划分单元,适于基于像素点的颜色分量值对图像进行区域划分,所述图像以CFA数据格式存储;
第一确定单元,适于基于像素点的梯度值,确定蓝色通道和红色通道中的像素点的绿色分量的插值方向;
第二确定单元,适于基于所述绿色分量的插值方向,确定蓝色通道和红色通道中的像素点的绿色分量的权值;
第一获取单元,适于基于所述区域划分、像素点的绿色分量的插值方向和像素点的绿色分量的权值,获取蓝色通道和红色通道中各像素点的绿色分量插值;
第二获取单元,适于基于所述绿色分量插值获取绿色通道中的像素点的红色分量插值和蓝色分量插值、红色通道中的像素点的蓝色分量插值以及蓝色通道中的像素点的红色分量插值。
可选的,所述划分单元包括:
移动子单元,适于依次移动搜索窗口的位置;
均值子单元,适于获取每个搜索窗口内像素点的颜色分量值的平均值;
映射子单元,适于若该搜索窗口的中心点的颜色分量值与所述平均值的差值大于或者等于0,则确定所述中心点的映射值为1,否则确定所述中心点的映射值为0;
判断子单元,适于在搜索窗口对图像遍历之后,若像素点的映射值为1,则确定所述像素点为第一区域中的像素点,若像素点的映射值为0,则确定所述像素点为第二区域中的像素点。
可选的,所述装置还包括:优化单元,适于对红色分量插值和蓝色分量插值进行优化,所述优化单元包括:
计算子单元,适于计算像素点在不同方向上的色差权值,所述色差权值基于该像素点及其周围的像素点的颜色分量值和颜色分量插值确定;
确定子单元,适于基于所述色差权值,确定该像素点的自适应性权值;
优化子单元,适于基于所述该像素点的自适应性权值对所述像素点的红色分量插值和蓝色分量插值进行优化。
与现有技术相比,本发明的技术方案具有以下优点:
首先基于像素点的颜色分量值对图像进行区域划分,使像素点归属于平滑区域或者非平滑区域;然后基于像素点的梯度值,确定蓝色通道和红色通道中的像素点的绿色分量的插值方向;基于所述绿色分量的插值方向,可以确定蓝色通道和红色通道中的像素点的绿色分量的权值;基于所述区域划分和像素点的绿色分量的权值,获取蓝色通道和红色通道中各像素点的绿色分量插值;基于所述绿色分量插值获取各通道中的像素点的红色分量插值和蓝色分量插值。由于图像中的绿色分量的像素点的个数较多,其具有更好的相关性,所以可以基于绿色分量的像素点,较好实现图像的插值,在该方法中,基于像素点的绿色分量的权值,可以有效降低插值结果与原始真实图像之间的差距,图像插值效果较好,有效减少CFA图像插值时产生的伪彩色,且插值方法简单,易于实现。
基于像素点的不同方向的梯度值(包括水平梯度值和垂直梯度值)可以准确确定像素点的绿色分量的插值方向。
在确定蓝色通道和红色通道中的像素点的绿色分量的权值过程中,基于该像素点的绿色分量的插值方向,并根据该像素点位置的不同,基于其周边的像素点确定该像素点相应的绿色分量的权值,所得到的权值具有很好的自适应性,通过自适应性权值可以有效降低插值结果与原始真实图像之间的差距。
在对图像插值后,可以基于该像素点及其周围的像素点的颜色分量值和颜色分量插值计算该像素点在不同方向上的色差权值,进而确定该像素点的自适应性权值,基于所述该像素点的自适应性权值可以对所述像素点的红色分量插值和蓝色分量插值进行优化,可以调整插值后的像素点的色值和真实图像的色值之间的差距,进一步提高图像插值效果。
附图说明
图1是本发明技术方案提供的图像的插值方法的流程示意图;
图2是本发明提供的图像的数据结构示意图;
图3是本发明实施例提供的图像的插值方法的流程示意图;
图4是本发明实施例提供的对图像区域划分的流程示意图;
图5是本发明实施例提供的对红色分量插值和蓝色分量插值进行优化的流程示意图。
具体实施方式
现有技术中,在图像的插值方法中,存在插值后的图像中存在伪彩色现象,图像插值效果较差,且图像插值方法复杂度高的问题。
为解决上述问题,本发明技术方案提供一种图像的插值方法。
对于CFA图像中的每一个像素点原始图像中只有一种颜色的像素值,要构成彩色图像需要将每个像素点插值为含有绿色、红色和蓝色的像素值,需要对原始CFA图像每个像素点所缺少的另外两种颜色进行插值计算。
由于在CFA图像中,绿色分量的像素点占了图像的总的像素点的一半的比例,因此绿色分量的像素点具有更多的图像细节信息,具有更好的相关性,通常,在对图像的插值处理中,插值算法多是先从恢复绿色分量开始,即先对图像中的蓝色通道和红色通道的绿色分量进行插值处理,之后再对各通道的红色和蓝色通道进行插值。本发明也采用先对蓝色通道和红色通道的绿色分量进行插值处理,之后再对各通道的红色分量和蓝色分量进行插值处理的方法。
图1是本发明技术方案提供的图像的插值方法的流程示意图,如图1所示,首先执行步骤S101,基于像素点的颜色分量值对图像进行区域划分。
在本申请文件中,将原始CFA图像中的像素点的三基色称为像素点的颜色分量值,分别为绿色分量值、红色分量值和蓝色分量值,每个像素点有所述绿色分量值、红色分量值和蓝色分量值中的一种颜色分量值,将插值后得到的像素点的颜色值称为绿色分量插值,红色分量插值和蓝色分量插值。举例来说,对于原始CFA图像中基色为绿色的像素点,该像素点的颜色分量值为绿色分量值,在对该像素点插值后可以得到该像素点的红色分量插值和绿色分量插值。
基于像素点的颜色分量值可以对图像进行区域划分,可以将所述图像划分为第一区域和第二区域,所述第一区域也可以称为非平滑区域,所述第二区域也可以称为平滑区域,通过所述区域划分可以确定像素点为平滑区域中的像素点,或者是非平滑区域中的像素点。
执行步骤S102,基于像素点的梯度值,确定蓝色通道和红色通道中的像素点的绿色分量的插值方向。
所述梯度值也可以称为边缘梯度值,所述像素点的梯度值包括水平梯度值和垂直梯度值。基于所述水平梯度值和垂直梯度值的关系,确定蓝色通道和红色通道中的像素点的绿色分量的插值方向。所述像素点的绿色分量的插值方向分为水平方向和垂直方向。
执行步骤S103,基于所述绿色分量的插值方向,确定蓝色通道和红色通道中的像素点的绿色分量的权值。
在获得像素点的绿色分量的插值方向后,可以基于所述像素点的绿色分量的插值方向,获得该像素点在不同的插值方向上的不同的权值,由于在不同位置的像素点可以基于该像素点的插值方向以及该像素点周边的像素点的颜色分量值获得对应于该像素点的权值,所述该权值具有很好的自适应性,该权值主要用于后续对该像素点的绿色分量的插值计算,在本申请文件中,将所述权值称为该像素点的绿色分量的权值。
执行步骤S104,基于所述区域划分、像素点的绿色分量的插值方向和像素点的绿色分量的权值,获取蓝色通道和红色通道中各像素点的绿色分量插值。
可以针对蓝色通道和红色通道中的平滑区域或者非平滑区域中的像素点,基于像素点的绿色分量的插值方向和绿色分量的权值,获取该像素点对应的绿色分量插值,也即基于此步骤可以获得蓝色通道和红色通道中各像素点的绿色分量插值。
执行步骤S105,基于所述绿色分量插值获取绿色通道中的像素点的红色分量插值和蓝色分量插值、红色通道中的像素点的蓝色分量插值以及蓝色通道中的像素点的红色分量插值。
请参考图2,图2是图像的一个数据块,其中用G表示绿色的像素点,R表示红色的像素点,B表示蓝色的像素点,G、B、R后面的数字用于标示其在图2中的位置。
在得到图像中的所有像素点的绿色分量后,通过步骤S105获得各个通道的蓝色分量插值和红色分量插值。举例来说,对于G11、G13等绿色通道中的像素点,其原始CFA图像中已有该像素点的绿色分量值,需要通过此步骤插值其缺少的红色分量插值和蓝色分量插值,对红色通道而言,原始CFA图像中已有该像素点的红色分量值,通过步骤S104可以得到像素点所缺少的绿色分量插值,通过步骤S105可以得到该像素点所缺少的蓝色分量插值,同样,对蓝色通道而言,原始CFA图像中已有该像素点的蓝色分量值,通过步骤S104可以得到像素点所缺少的绿色分量插值,通过步骤S105可以得到该像素点所缺少的红色分量插值。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图3是本发明一实施例提供的图像的插值方法的流程示意图。如图3所示,首先执行步骤S301,基于像素点的颜色分量值对图像进行区域划分。
对图像进行区域划分的过程请参考图4,首先执行步骤S301a,依次移动搜索窗口的位置。
在对图像进行区域划分时,首先需要确定一个搜索窗口,所述搜索窗口为矩形形状,所述搜索窗口的大小可以为d×b,其中,d为搜索窗口每一行所包含的图像的像素点的个数,b为搜索窗口每一列所包含的像素点的个数。所述搜索窗口的大小可以根据实际的图像的插值效果进行相应的调整,在本实施例中,以搜索窗口为5×5为例进行说明。
用所述搜索窗口从原始CFA图像的左上角开始搜索整个CFA图像,可以从图像的左上角开始按照从左向右、从上到下的顺序,将所述搜索窗口依次在图像中进行移动,可以每次在图像中移动一个像素点的位置。
执行S301b,获取每个搜索窗口内像素点的颜色分量值的平均值。
在每个搜索窗口的位置处,获取该搜索窗口内所包含的图像的像素点的颜色分量值的平均值。
可以基于公式(1)获取所述像素点的颜色分量值的平均值Avg。
在本申请文件中,用下标表示像素点所在行和列,例如在公式(1)中,i表示像素点在图像中的所在行数,j表示像素点在图像中的所在列数;i的取值范围是j的取值范围是L为图像每一行所包含的像素点的个数,C为图像每一列所包含的像素点的个数,X表示其下标对应的像素点的颜色分量值。
由于在图像处理过程中,通常需要获取搜索窗口的中心点位置,所以所述搜索窗口的每一行和每一列所包含的像素点个数为奇数,即d和b需取值为奇数。
在本实施例中,由于搜索窗口为5×5大小,所以公式(1)在本实施例中的具体形式可以如公式(2)所示。
执行步骤S301c,基于搜索窗口的中心点的颜色分量值与所述平均值的差值确定所述中心点的映射值。
对于每一个搜索窗口,都可以相应的确定一个中心点,若该搜索窗口的中心点的颜色分量值与步骤该搜索窗口的颜色分量值的平均值的差值大于或者等于0,则确定该窗口的中心点的映射值为1,否则确定该窗口的中心点的映射值为0。在搜索窗口移动的过程中,相应的搜索窗口的中心点也在逐行逐列进行移动,搜索窗口每移动一次,都可以得到此时搜索窗口的中心点的映射值,当搜索窗口遍历完CFA图像之后,可以得到所有位置处搜索窗口中心点的映射值,由于搜索窗口包含的是图像中的像素点,所以此处也可以说是得到图像中的像素点的映射值。由于搜索窗口在对图像遍历的过程中,在图像的边界处的部分像素点无法成为搜索窗口的中心点,也即有边界处的部分像素点无法获得映射值,但由于通常搜索窗口占据整个图像的范围相对来说是比较小的,例如对于768×512的图像,搜索窗口如果为5×5大小,则只有图像的四个边界处的两行两列的像素点无法成为搜索窗口的中心点,而这两行两列的像素点的个数占据整个图像的像素点总数的比例是比较小的,所以其对于后续处理过程的影响是可以忽略不计的。
执行步骤S301d,基于像素点的映射值,对图像进行区域划分。
在搜索窗口对图像遍历之后,若像素点的映射值为1,则确定该像素点为第一区域中的像素点,若像素点的映射值为0,则确定该像素点为第二区域中的像素点。
在基于像素点的颜色分量值对图像进行区域划分之后,执行步骤S302,确定蓝色通道和红色通道中的像素点的水平梯度值和垂直梯度值。
对于蓝色通道和红色通道中的每一个像素点,都可以基于公式(3)获取该像素点的水平梯度值H(i,j),可以基于公式(4)获取该像素点的垂直梯度值V(i,j)。
对于像素点的梯度值的获取,本领域技术人员也可以采用现有技术中的其他方式进行获取,在此不作具体限定。
执行步骤S303,基于蓝色通道和红色通道中的像素点的水平梯度值和垂直梯度值,确定所述像素点的绿色分量的插值方向。
基于蓝色通道和红色通道中的像素点的水平梯度值和垂直梯度值的差值,可以确定该像素点的绿色分量的插值方向。
若所述像素点的水平梯度值H(i,j)小于该像素点的垂直梯度值V(i,j),则确定该像素点的绿色分量的插值方向为水平方向,否则该像素点的绿色分量的插值方向为垂直方向。
执行步骤S304,判断像素点的绿色分量的插值方向。
若当前像素点的绿色分量的插值方向为水平方向,则执行步骤S305;若当前像素点的绿色分量的插值方向为垂直方向,则执行步骤S306。
步骤S305,获取像素点的绿色分量的权值Wsh(i,j)。
若像素点的绿色分量的插值方向为水平方向,则基于公式(5)获取该像素点的绿色分量的权值Wsh(i,j)。
K表示其下标对应的像素点的颜色分量值,G表示其下标对应的像素点的绿色分量值。
举例来说,请参考图2,若当前像素点为B32,即i=3,j=2,且B32的绿色分量的插值方向为水平方向,则公式(5)中,K(i,j)即为K32,K32表示其下标对应的像素点B32的颜色分量值,而B32为蓝色通道的像素点,即K(i,j)表示该像素点的蓝色分量值,G(i-1,j)即为G22,G22表示其下标对应的像素点G22的绿色分量值,依次类推,可以得到K和G其下标对应的像素点的颜色分量值,进而基于公式(5)可以得到该像素点的绿色分量的权值Wsh(i,j)。
步骤S306,获取像素点的绿色分量的权值Wsv(i,j)。
若像素点的绿色分量的插值方向为垂直方向,则基于公式(6)获取该像素点的绿色分量的权值Wsv(i,j)。
公式(6)的计算过程请参考步骤S305。
在步骤S305或者步骤S306之后,执行步骤S307,获取蓝色通道和红色通道中的像素点的绿色分量插值。
若像素点的绿色分量的插值方向为水平方向,且该像素点为第二区域中的像素点,则基于公式(7)获得该像素点的绿色分量插值
表示其下标对应的像素点的绿色分量插值,Wsh(i,j)为其下标对应的像素点的绿色分量的权值。公式(7)中K、G不同下标所表示的具体含义请参考步骤S305中的所描述的内容进行确定,在此不再赘述。
在基于公式(7)中的等式右边的算式得到结果后,将所述结果值除以等式左边的Wsh(i,j),即可得到该像素点的绿色分量插值
若像素点的绿色分量的插值方向为水平方向,且该像素点为第一区域中的像素点,则基于公式(8)获得该像素点的绿色分量插值
若像素点的绿色分量的插值方向为垂直方向,且该像素点为第二区域中的像素点,则基于公式(9)获得该像素点的绿色分量插值
若像素点的绿色分量的插值方向为垂直方向,且该像素点为第一区域中的像素点,则基于公式(10)获得该像素点的绿色分量插值
基于公式(7)至公式(10)可以获取蓝色通道和红色通道中的每一个像素点的绿色分量插值,在获得蓝色通道和红色通道中的所有像素点的绿色分量插值之后,图像的绿色分量插值就已全部获得,之后通过步骤S308至步骤S310获取图像的各通道中的像素点的蓝色分量插值和红色分量插值。
执行步骤S308,获取绿色通道中的像素点的红色分量插值和蓝色分量插值。
由于图像的绿色通道中的像素点其原始像素点含有绿色分量值,缺少红色分量插值和蓝色分量插值,所以需要对绿色通道中的像素点进行插值获取红色分量插值和蓝色分量插值。
可以基于绿色通道中的像素点的周围像素点的颜色分量值以及周围像素点所得到的绿色分量插值获取该像素点的红色分量插值和蓝色分量插值。
请参考图2,由于绿色通道中的像素点的周围像素点的颜色分量值根据绿色通道中的像素点位置的不同,其周边的像素点的颜色分量值也有所不同。如图2所示,在绿色通道中的像素点G22周边,其前后的像素点为红色通道中的像素点R21和R23,而在绿色通道中的像素点G33周边,其前后的像素点为蓝色通道中的像素点B32和B34。
若CFA图像中的绿色通道中的像素点的前后像素点为红色通道中的像素点,即其前后像素点的颜色分量值为红色分量值,则可以基于公式(11)获取该像素点的红色分量插值
表示其下标对应的像素点的红色分量插值,R表示其下标对应的像素点的红色分量值。
以图2中的G22为例进行说明,当前像素点为G22,即i=2,j=2,则公式(11)中,R(i,j-1)和R(i,j+1)表示其下标对应的像素点R21和R23的红色分量值,和表示其下标对应的像素点R21和R23的绿色分量插值。
若CFA图像中的绿色通道中的像素点的前后像素点为蓝色通道中的像素点,即其前后像素点的颜色分量值为蓝色分量值,则可以基于公式(12)获取该像素点的红色分量插值
以图2中的G33为例进行说明,当前像素点为G33,即i=3,j=3,则公式(12)中,R(i-1,j)和R(i+1,j)表示其下标对应的像素点R23和R43的红色分量值,和表示其下标对应的像素点R23和R43的绿色分量插值。
基于公式(11)和公式(12)可以获取绿色通道中的每一个像素点的红色分量插值。
对于绿色通道中的像素点的蓝色分量插值可以采取与红色分量插值类似的方法进行获取。
若CFA图像中的绿色通道中的像素点的前后像素点为红色通道中的像素点,即其前后像素点的颜色分量值为红色,则可以基于公式(13)获取该像素点的蓝色分量插值
表示其下标对应的像素点的蓝色分量插值,B表示其下标对应的像素点的蓝色分量值。
仍以图2中的G22为例进行说明,当前像素点为G22,即i=2,j=2,则公式(13)中,B(i-1,j)和B(i+1,j)表示其下标对应的像素点B12和B32的蓝色分量值,和表示其下标对应的像素点B12和B32的绿色分量插值。
若CFA图像中的绿色通道中的像素点的前后像素点为蓝色通道中的像素点,即其前后像素点的颜色分量值为蓝色,则可以基于公式(14)获取该像素点的蓝色分量插值
公式(14)中各字母不同下标所表示的具体含义请参考上述公式中的所描述的内容进行确定,在此不再赘述。
执行步骤S309,获取蓝色通道中的像素点的红色分量插值。
由于图像的蓝色通道中的像素点其原始像素点含有蓝色分量值,而且基于步骤S307已获得蓝色通道中的像素点的绿色分量插值,则此时蓝色通道中的像素点缺少红色分量插值,所以需要对蓝色通道中的像素点进行插值获取红色分量插值。
可以基于蓝色通道中的像素点的周围像素点的颜色分量值以及周围像素点所得到的红色分量插值获取该像素点的红色分量插值
可以基于公式(15)获取蓝色通道中的像素点的红色分量插值
其中,m、n可以取值为+1和-1。举例来说,如图2所示,若当前像素点为B32,即i=3,j=2,当m=-1,n=-1时,表示其下标对应的像素点B32的绿色分量插值,R(i+m,j+n)表示其下标对应的像素点R21的红色分量值,和表示其下标对应的像素点G22、G42、G31和G33的红色分量插值。同理,可以获得m、n为其它值时上述公式中R(i+m,j+n)下标对应的像素点的颜色分量值,进而基于公式(15)获得蓝色通道中的像素点的红色分量插值
基于公式(15)可以获取蓝色通道中的每一个像素点的红色分量插值。
执行步骤S310,获取红色通道中的像素点的蓝色分量插值。
由于图像的红色通道中的像素点其原始像素点含有红色分量值,而且基于步骤S307已获得红色通道中的像素点的绿色分量插值,则此时红色通道中的像素点缺少蓝色分量插值,所以需要对红色通道中的像素点进行插值获取蓝色分量插值。
可以基于红色通道中的像素点的周围像素点的颜色分量值以及周围像素点所得到的蓝色分量插值获取该像素点的蓝色分量插值
可以基于公式(16)获取红色通道中的像素点的蓝色分量插值
公式(16)中各字母不同下标对应的像素点的颜色分量值,可以参考上述公式中的内容进行确定,在此不再赘述。
至此,可以实现对于图像的各个通道所缺失的颜色分量的插值,对于图像中的每一个像素点,都包含有原始图像中该像素点的颜色分量值以及插值得到的另外两个颜色的插值分量,即颜色分量插值。
本实施例提供的图像插值的方法,方法简单,可以有效减少CFA图像插值时产生的伪彩色。
在本发明的另外一个实施例中,还可以对基于上述方法所得到的插值后的图像中的各像素点的红色分量插值和蓝色分量插值进行优化。
图5为对插值后的图像中的各像素点的红色分量插值和蓝色分量插值进行优化的流程示意图。
如图5所示,在基于本发明所提供的图像的插值方法,得到各通道的像素点所缺失的颜色分量插值后,首先执行步骤S501,计算像素点在不同方向上的色差权值。
所述色差权值可以基于该像素点及其周围的像素点的颜色分量值和颜色分量插值确定。
所述像素点在不同方向上的色差权值包括该像素点竖直向上的色差权值、竖直向下的色差权值、水平向左的色差权值以及水平向右的色差权值。
可以基于公式(17)获取像素点竖直向上的色差权值Sup。
其中,表示其下标对应的像素点的绿色分量值或绿色分量插值。如果的下标对应的像素点是绿色通道中的像素点,则表示其下标对应的像素点的绿色分量值,如果的下标对应的像素点为蓝色通道或者是红色通道中的像素点,则表示其下标对应的像素点的绿色分量插值。
的含义根据当前像素点需要优化的颜色分量插值的不同,其含义也有所不同。若对所述像素点的蓝色分量插值进行优化,表示其下标对应的像素点的蓝色分量值或蓝色分量插值,如果的下标对应的像素点是蓝色通道中的像素点,则表示其下标对应的像素点的蓝色分量值,如果的下标对应的像素点为绿色通道或者是红色通道中的像素点,则表示其下标对应的像素点的蓝色分量插值;若对所述像素点的红色分量插值进行优化,则表示其下标对应的像素点的红色分量值或红色分量插值,如果的下标对应的像素点是红色通道中的像素点,则表示其下标对应的像素点的红色分量值,如果的下标对应的像素点为绿色通道或者是蓝色通道中的像素点,则表示其下标对应的像素点的红色分量插值。
举例来说,请同时参考图2,如果是对G33的蓝色分量插值进行优化,即i=3,j=3,则公式(17)中,和对应的像素点为G13和G33,是绿色通道中的像素点,所以和表示其下标对应的像素点G13和G33的绿色分量值。和对应的像素点为R23和R43,是红色通道中的像素点,所以和表示其下标对应的像素点R23和R43的蓝色分量插值。
可以基于公式(18)获取像素点竖直向下的色差权值Sdown。
可以基于公式(19)获取像素点水平向左的色差权值Sleft。
可以基于公式(20)获取像素点水平向右的色差权值Sright。
公式(18)至公式(20)中各字母不同下标对应的像素点的颜色分量值,可以参考上述公式(17)中的内容进行确定,在此不再赘述。
执行步骤S502,基于所述色差权值,确定该像素点的自适应性权值。
可以基于公式(21)获取像素点的自适应性权值
在基于步骤S501得到第i行、第j列的像素点的竖直向上的色差权值Sup(i,j)、竖直向下的色差权值Sdown(i,j)、水平向左的色差权值Sleft(i,j)和水平向右的色差权值Sright(i,j)后,基于公式(21),可以得到第i行、第j列的像素点的自适应性权值
由于在步骤S501中,公式(17)至公式(20)中同一个字母其下标对应的像素点的颜色分量值,在对像素点的红色分量插值进行优化和蓝色分量插值进行优化时取值是不同的,所以在对像素点的红色分量插值进行优化时基于公式(17)至公式(20)所得到的像素点的自适应性权值和在对像素点的蓝色分量插值进行优化时基于公式(17)至公式(20)所得到的像素点的自适应性权值也是不同的。
执行步骤S503,基于所述该像素点的自适应性权值对所述像素点的红色分量插值和蓝色分量插值进行优化。
可以基于公式(22)获取像素点的红色分量插值和蓝色分量插值优化结果Knew。
若对所述像素点的蓝色分量插值进行优化,则Knew表示在其下标对应的位置处的像素点的蓝色分量插值优化结果;若对所述像素点的红色分量插值进行优化,则Knew表示在其下标对应的位置处的像素点的红色分量插值优化结果。
可以基于公式(22)实现图像中的绿色通道中的像素点的红色分量插值和蓝色分量插值的优化、红色通道中的像素点的蓝色分量插值的优化和蓝色通道中的红色分量插值的优化。
所述对像素点的颜色分量插值进行优化的方法,可以有效调整插值后的像素点的色值和真实图像的色值之间的差距,进一步提高图像插值效果。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。