具体实施方式
下面通过具体的实施例及附图,对本发明的技术方案做进一步的详细描述。
图1为本发明提供的图像插值方法一个实施例的流程示意图。如图1所示,该方法具体可以包括:
S101,对于待插值候选图像中每个原始像素点,根据原始像素点的灰度值以及原始像素点相邻区域内的其他原始像素点的灰度值计算获取与原始像素点对应的等照度线的等效位移系数。
具体的,本步骤中先根据原始像素点的灰度值计算对应的等照度线的位移系数,再根据相邻区域内的其他原始像素点的灰度值对该位移系数进行调整,从而得到与该原始像素点对应的等照度线的等效位移系数。具体的,该步骤具体可以包括以下步骤:
S1011,根据原始像素点的灰度值的梯度信息计算与原始像素点对应的等照度线的第一位移系数。
具体的,根据公式α1(i,j)=PLy(i,j)/PLx(i,j)计算与原始像素点(i,j)对应的等照度线的第一位移系数,其中:α1(i,j)为与原始像素点(i,j)对应的等照度线的第一位移系数;PLy(i,j)为垂直梯度算子作用在原始像素点(i,j)的灰度值PL(i,j)的结果;PLx(i,j)为水平梯度算子作用在原始像素点(i,j)的灰度值PL(i,j)的结果。
S1012,根据原始像素点相邻区域内的其他原始像素点的灰度值计算与原始像素点对应的等照度线的第二位移系数。
具体的,对于某一原始像素点(i,j),在下一行(i+1行)找到一个位置,使得在该位置处估计的像素值与原始像素点(i,j)的像素值PL(i,j)相等或最接近。具体的,在原始像素点(i,j)下一行的设定区域(即搜索窗口)中,按从中间到两边的次序,查找是否存在满足下述条件的相邻的两个原始像素点(i+1,k)和(i+1,k+1):
一个原始像素点的灰度值大于原始像素点(i,j)的灰度值PL(i,j),另一个原始像素点的灰度值小于原始像素点(i,j)的灰度值PL(i,j),即M1=max(PL(i+1,k),PL(i+1,k+1))>PL(i,j),且M2=min(PL(i+1,k),PL(i+1,k+1))<PL(i,j)。其中,k满足j-Ws<k<j+Ws-1,Ws为搜索窗口的大小。
情况一,若存在满足上述条件的相邻的两个原始像素点(i+1,k)和(i+1,k+1),则停止搜索,并判断原始像素点(i+1,k)的灰度值PL(i+1,k)是否大于原始像素点(i+1,k+1)的灰度值PL(i+1,k+1)。若是,则与原始像素点(i,j)对应的等照度线的第二位移系数α2(i,j)=k-j+1-(PL(i,j)-PL(i+1,k+1))/(PL(i+1,k)-PL(i+1,k+1))=k-j+1-(PL(i,j)-M2)/(M1-M2)。若否,则与原始像素点(i,j)对应的等照度线的第二位移系数α2(i,j)=k-j+(PL(i,j)-PL(i+1,k))/(PL(i+1,k+1)-PL(i+1,k))=k-j+(PL(i,j)-M2)/(M1-M2)。即
如图2所示为图1所示实施例中查找相邻的两个原始像素点一个应用场景的示意图,在图2中,原始像素点(i,j)的灰度值为PL(i,j)=100,对满足条件的相邻两个原始像素点的搜索次序依次为(PL(i+1,j)=104,PL(i+1,j+1)=107),(PL(i+1,j-1)=103,PL(i+1,j)=104),(PL(i+1,j+1)=107,PL(i+1,j+2)=110),(PL(i+1,j-2)=103,PL(i+1,j-1)=103),(PL(i+1,j+2)=110,PL(i+1,j+3)=109),(PL(i+1,j-3)=98,PL(i+1,j-2)=103)。由于PL(i+1,j-3)=98<PL(i,j)=100,且PL(i+1,j-2)=103>PL(i,j)=100,因此停止搜索。(i+1,j-3)和(i+1,j-2)即满足上述条件的相邻两个原始像素点,且由于PL(i+1,j-3)=98<PL(i+1,j-2)=103,因此与与原始像素点(i,j)对应的等照度线的第二位移系数α2(i,j)=k-j+(PL(i,j)-PL(i+1,k))/(PL(i+1,k+1)-PL(i+1,k))=j-3-j+(100-98)/(103-98)=-3+0.4=-2.6。
情况二,若不存在满足上述条件的相邻的两个原始像素点,则在原始像素点(i,j)下一行的设定区域(即搜索窗口)中查找灰度值PL(i+1,k)与原始像素点(i,j)的灰度值为PL(i,j)最接近的原始像素点(i+1,k),并计算与原始像素点(i,j)对应的等照度线的第二位移系数α2(i,j)=k-j。
如图3所示为图1所示实施例中查找相邻的两个原始像素点又一个应用场景的示意图,在图3中,由于在搜索窗口中未查找到满足上述条件的相邻的两个原始像素点,因此查找灰度值最接近PL(i,j)=100的原始像素点,查找结果为原始像素点(i+1,j-1),对应的灰度值为PL(i+1,j-1)=98,因此与原始像素点(i,j)对应的等照度线的第二位移系数α2(i,j)=k-j=j-1-j=-1。
S1013,对第一位移系数和第二位移系数进行加权求和处理,得到与原始像素点对应的等照度线的等效位移系数。
具体的,可以根据公式α(i,j)=(1-γ)α1(i,j)+γα2(i,j)计算与原始像素点(i,j)对应的等照度线的等效位移系数α(i,j)。
S102,根据等效位移系数构建等照度线插值网格。
具体的,如图4所示为图1所示实施例中根据等效位移系数构建等照度线插值网格的示意图,遍历图像中每一个原始像素点(i,j),如图4所示构建2*2的低分辨率窗口和2*6(以低分辨率像素为窗口大小的标准)的插值窗口,根据低分辨率窗口左上角的原始像素点(i,j)的等效位移系数α(i,j)构建等照度线插值网格。对于指定的插值窗口,中心点为(m,n)=(i+1/2,j+1/2),等照度线被估计为插值窗口内每个原始像素点(i,k)和等照度线与下一行(即i+1行)的交点(i+1,j+α(i,j))的连线构成。估计的等照度线和原始像素点所在的每一行的行网格共同构成等照度线插值网格。
S103,根据预设的插值方法在等照度线插值网格内插入插值像素点,得到与待插值候选图像对应的插值结果候选图像。
具体的,如图4所示,本步骤中可以采用现有的各种图像插值方法在根据原始像素点(i,j)的等效位移系数α(i,j)构建的等照度线插值网格内插入插值像素点(即高分辨率像素点)。例如,可通过三步插值方法在等照度线插值网格内的待插值行(例如m行)中插入插值像素点,也可通过一维插值方法在等照度线插值网格内的原始像素点所在行(例如i行、i+1行)中插入插值像素点。具体的,该步骤具体可以包括以下步骤:
S1031,采用一维插值方法将原始像素点(i,j)下一行(即i+1行)的原始像素点(i+1,j)(图4中的条纹方块)的灰度值PL(i+1,j)映射到等照度线插值网格中的(i+1,j+α(i,j))(图4中的三角形位置)上。
S1032,根据原始像素点(i,j)的灰度值PL(i,j)以及等照度线插值网格中的(i+1,j+α(i,j))(图4中的三角形位置)的灰度值采用线性插值方法计算待插值行(m行,也即i+1/2行)与等照度线的交点(i+1/2,q)(图4中的圆圈位置)的灰度值PL(i+1/2,q)。
S1033,采用一维插值方法将待插值行(m行,也即i+1/2行)与等照度线的交点(i+1/2,q)(图4中的圆圈位置)的灰度值PL(i+1/2,q)映射到待插值行(m行,也即i+1/2行)中的插值像素点(i+1/2,j+1)(m行中的白色方块)上。
S1034,采用一维插值方法将原始像素点(i,j)的灰度值PL(i,j)映射到等照度线插值网格中的插值像素点(i,j+1/2)(i行中的白色方块)上,以及将原始像素点(i,j)下一行的原始像素点(i+1,j)的灰度值PL(i+1,j)映射到等照度线插值网格中的插值像素点(i+1,j+1/2)(i+1行中的白色方块)上。
采用上述三步插值方法和一维插值方法插入插值像素点后,可以得到与待插值候选图像对应的插值结果候选图像,插值结果候选图像中还包括位于待插值行(m行,也即i+1/2行)中的待插值像素点(i+1/2,j)和(i+1/2,j+1/2)(m行中的黑色方块),得到的插值结果候选图像即最终的高分辨率图像。
本实施例提供的图像插值方法,通过计算低分辨率的待插值候选图像中每个原始像素点对应的等照度线的等效位移系数,并在根据该等效位移系数构建的等照度线插值网格插入插值像素点,以得到高分辨率的插值结果候选图像。其中,由于该等效位移系数根据对应的原始像素点的灰度值以及相邻区域内的其他原始像素点的灰度值确定,因此使得确定的等照度线的等效位移系数更准确,进而提高了图像插值的效果。
图5为本发明提供的图像插值方法又一个实施例的流程示意图。如图5所示,该方法具体可以包括:
S501,对原始图像进行初始变换,得到至少两张待插值候选图像。
具体的,为进一步提高图像插值的效果,可以对低分辨率的原始图像进行各种初始变换,例如:左右颠倒、上下颠倒和转置等,得到至少两张低分辨率的待插值候选图像。
S502,对于待插值候选图像中每个原始像素点,根据原始像素点的灰度值以及原始像素点相邻区域内的其他原始像素点的灰度值计算获取与原始像素点对应的等照度线的等效位移系数。
S503,根据等效位移系数构建等照度线插值网格。
S504,根据预设的插值方法在等照度线插值网格内插入插值像素点,得到与待插值候选图像对应的插值结果候选图像。
具体的,步骤S502-S504的具体实现过程可以参见图1所示实施例中步骤S101-S103中的相关描述,此处不再赘述。
S505,对插值结果候选图像进行与初始变换相反的反变换,得到初始插值结果图像。
具体的,对插值结果候选图像进行与步骤S501中的初始变换相反的反变换,得到对应的初始插值结果图像。例如,步骤S501中对原始图像进行了左右颠倒变换,则本步骤中需对对应的插值结果候选图像进行相反的反变换,即再进行左右颠倒变换。
S506,对全部初始插值结果图像进行加权求和处理,得到最终插值结果图像。
具体的,由于初始插值结果图像为至少两张,因此可以采用加权求和的方法对全部初始插值结果图像进行处理,得到一张最终插值结果图像,即最终的高分辨率图像。具体的,图6为图5所示实施例中对全部初始插值结果图像进行加权求和处理的示意图,如图6所示,本步骤具体可以包括以下步骤:
S5061,对初始插值结果图像中的原始像素点和插值像素点进行分拆处理,得到仅包括原始像素点的第一插值结果图像、仅包括插值像素点的第二插值结果图像和仅包括待插值像素点的第三插值结果图像。
具体的,根据初始插值结果图像中像素点的性能,将原始像素点、插值像素点和待插值像素点进行分拆处理,得到仅包括原始像素点的第一插值结果图像、仅包括插值像素点的第二插值结果图像和仅包括待插值像素点的第三插值结果图像。
S5062,对全部第一插值结果图像进行加权求和处理,得到加权第一插值结果图像,对全部第二插值结果图像进行加权求和处理,得到加权第二插值结果图像,对全部第三插值结果图像进行加权求和处理,得到加权第三插值结果图像。
具体的,由于第一插值结果图像为至少两张,因此可以采用加权求和的方法对全部第一插值结果图像进行处理,得到一张加权第一插值结果图像。具体的,可以采用以下公式对全部第一插值结果图像进行处理:
其中,
其中,P(m,n)为加权第一插值结果图像中像素点(m,n)的灰度值,ωi(m,n)为与第i张第一插值结果图像中像素点(m,n)的灰度值Pi(m,n)对应的权值,r为第一插值结果图像的总张数,系数c用于区分一个像素点是否是噪音或离群点。
同样的,由于第二插值结果图像也为至少两张,因此可以采用上述同样的加权求和的方法对全部第二插值结果图像进行处理,得到一张加权第二插值结果图像。
同样的,由于第三插值结果图像也为至少两张,因此可以采用上述同样的加权求和的方法对全部第三插值结果图像进行处理,得到一张加权第三插值结果图像。
S5063,对加权第一插值结果图像、加权第二插值结果图像和加权第三插值结果图像进行拼合处理,得到最终插值结果图像。
具体的,对上述加权求和处理得到的加权第一插值结果图像、加权第二插值结果图像和加权第三插值结果图像重新拼合成一张图像,作为最终插值结果图像,即最终的高分辨率图像。
本实施例提供的图像插值方法,通过计算低分辨率的待插值候选图像中每个原始像素点对应的等照度线的等效位移系数,并在根据该等效位移系数构建的等照度线插值网格插入插值像素点,以得到高分辨率的插值结果候选图像。其中,由于该等效位移系数根据对应的原始像素点的灰度值以及相邻区域内的其他原始像素点的灰度值确定,因此使得确定的等照度线的等效位移系数更准确,进而提高了图像插值的效果。
图7为本发明提供的图像插值装置一个实施例的结构示意图。如图7所示,本实施例提供的图像插值装置为执行上述图像插值方法的特定执行主体。该装置具体可以包括:计算模块71、构建模块72和插值模块73,其中:
计算模块71,用于对于待插值候选图像中每个原始像素点,根据原始像素点的灰度值以及原始像素点相邻区域内的其他原始像素点的灰度值计算获取与原始像素点对应的等照度线的等效位移系数。
构建模块72,用于根据等效位移系数构建等照度线插值网格。
插值模块73,用于根据预设的插值方法在等照度线插值网格内插入插值像素点,得到与待插值候选图像对应的插值结果候选图像。
其中,计算模块71具体可以用于:
根据原始像素点的灰度值的梯度信息计算与原始像素点对应的等照度线的第一位移系数。具体的,根据公式α1(i,j)=PLy(i,j)/PLx(i,j)计算与原始像素点对应的等照度线的第一位移系数,其中:α1(i,j)为与原始像素点(i,j)对应的等照度线的第一位移系数;PLy(i,j)为垂直梯度算子作用在原始像素点(i,j)的灰度值PL(i,j)的结果;PLx(i,j)为水平梯度算子作用在原始像素点(i,j)的灰度值PL(i,j)的结果。
根据原始像素点相邻区域内的其他原始像素点的灰度值计算与原始像素点对应的等照度线的第二位移系数。具体的,判断原始像素点(i,j)下一行的设定区域中是否存在相邻的两个原始像素点(i+1,k)和(i+1,k+1),且相邻的两个原始像素点(i+1,k)和(i+1,k+1)中的一个原始像素点的灰度值大于原始像素点(i,j)的灰度值PL(i,j),另一个原始像素点的灰度值小于原始像素点(i,j)的灰度值PL(i,j);若存在,则判断原始像素点(i+1,k)的灰度值PL(i+1,k)是否大于原始像素点(i+1,k+1)的灰度值PL(i+1,k+1);若是,则第二位移系数α2(i,j)=k-j+1-(PL(i,j)-PL(i+1,k+1))/(PL(i+1,k)-PL(i+1,k+1));若否,则第二位移系数α2(i,j)=k-j+(PL(i,j)-PL(i+1,k))/(PL(i+1,k+1)-PL(i+1,k));若不存在,则在原始像素点(i,j)下一行的设定区域中查找灰度值PL(i+1,k)与原始像素点(i,j)的灰度值PL(i,j)最接近的原始像素点(i+1,k),并计算第二位移系数α2(i,j)=k-j。
对第一位移系数和第二位移系数进行加权求和处理,得到与原始像素点对应的等照度线的等效位移系数。
进一步的,插值模块73具体可以用于:
在根据原始像素点(i,j)的等效位移系数α(i,j)构建的等照度线插值网格内,采用一维插值方法将原始像素点(i,j)下一行的原始像素点(i+1,j)的灰度值PL(i+1,j)映射到等照度线插值网格中的(i+1,j+α(i,j))上;
根据原始像素点(i,j)的灰度值PL(i,j)以及等照度线插值网格中的(i+1,j+α(i,j))的灰度值采用线性插值方法计算待插值行与等照度线的交点(i+1/2,q)的灰度值PL(i+1/2,q);
采用一维插值方法将待插值行与等照度线的交点(i+1/2,q)的灰度值PL(i+1/2,q)映射到待插值行中的插值像素点(i+1/2,j+1)上;
采用一维插值方法将原始像素点(i,j)的灰度值PL(i,j)映射到等照度线插值网格中的插值像素点(i,j+1/2)上,以及将原始像素点(i,j)下一行的原始像素点(i+1,j)的灰度值PL(i+1,j)映射到等照度线插值网格中的插值像素点(i+1,j+1/2)上。
进一步的,计算模块71还可以用于:
在对于待插值候选图像中每个原始像素点,根据原始像素点的灰度值以及原始像素点相邻区域内的其他原始像素点的灰度值计算获取与原始像素点对应的等照度线的等效位移系数之前,对原始图像进行初始变换,得到至少两张待插值候选图像。其中,初始变换包括以下变换中的至少两种:左右颠倒、上下颠倒和转置。
进一步的,插值模块73还可以用于:
在根据预设的插值方法在等照度线插值网格内插入插值像素点,得到与待插值候选图像对应的插值结果候选图像之后:
对插值结果候选图像进行与初始变换相反的反变换,得到初始插值结果图像;
对全部初始插值结果图像进行加权求和处理,得到最终插值结果图像。具体的,对初始插值结果图像中的原始像素点和插值像素点进行分拆处理,得到仅包括原始像素点的第一插值结果图像、仅包括插值像素点的第二插值结果图像和仅包括待插值像素点的第三插值结果图像;对全部第一插值结果图像进行加权求和处理,得到加权第一插值结果图像,对全部第二插值结果图像进行加权求和处理,得到加权第二插值结果图像,对全部第三插值结果图像进行加权求和处理,得到加权第三插值结果图像;对加权第一插值结果图像、加权第二插值结果图像和加权第三插值结果图像进行拼合处理,得到最终插值结果图像。
具体的,各个模块实现其功能的具体过程参见图1或图5所示实施例中的相关描述,此处不再赘述。
本实施例提供的图像插值装置,通过计算低分辨率的待插值候选图像中每个原始像素点对应的等照度线的等效位移系数,并在根据该等效位移系数构建的等照度线插值网格插入插值像素点,以得到高分辨率的插值结果候选图像。其中,由于该等效位移系数根据对应的原始像素点的灰度值以及相邻区域内的其他原始像素点的灰度值确定,因此使得确定的等照度线的等效位移系数更准确,进而提高了图像插值的效果。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。