发明内容
本发明实施例所要解决的技术问题在于,提供一种图像缩放方法及系统。通过矩形网格的复合重心有理插值方法对图像的边缘区域进行缩放,使用二元三点拉格朗日插值方法对图像的平坦区域进行缩放,既保证了整体缩放速度,又可获得清晰度高的缩放后图像。
为了解决上述技术问题,本发明实施例提供了一种图像缩放方法,包括:
基于红、绿、蓝三个颜色通道,分别确定源图像的红色分量强度、绿色分量强度和蓝色分量强度中每个像素所属图像区域,所述图像区域包括边缘区域和平坦区域;
若确定所述像素属于平坦区域,则根据二元三点拉格朗日插值算法对属于平坦区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值;若确定所述像素属于边缘区域,则根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值;
根据计算得到的像素值生成目标图像。
其中,所述分别确定源图像的红色分量强度、绿色分量强度和蓝色分量强度中每个像素所属图像区域的步骤具体包括:
根据预设的第一采样规则分别在源图像的红色分量强度、绿色分量强度和蓝色分量强度中选取每个像素周围的至少一个像素作为第一采样空间;
判断所述第一采样空间中像素的像素值的方差是否小于预设阈值,若判断为是,则确定该像素属于平坦区域;若判断为否,则确定该像素属于边缘区域。
其中,所述根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算的步骤具体包括:
根据预设的第二采样规则选取该像素周围的至少一个像素作为第二采样空间,所述第二采样空间的大小为(n+1)*(m+1);
根据预设的复合重心有理插值计算公式计算目标图像中该像素对应的像素单元(x,y)的像素值R(x,y),所述复合重心有理插值计算公式为:
m、n分别为正整数,xi、yj为插值节点。
其中,n为2,m为2。
相应地,本发明还提供了一种图像缩放系统,包括:
区域确定模块,基于红、绿、蓝三个颜色通道,分别确定源图像的红色分量强度、绿色分量强度和蓝色分量强度中每个像素所属图像区域,所述图像区域包括边缘区域和平坦区域;
平坦像素计算模块,用于在所述图像区域确定模块确定所述像素属于平坦区域时,根据二元三点拉格朗日插值算法对属于平坦区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值;
边缘像素计算模块,用于在所述图像区域确定模块确定所述像素属于边缘区域时,根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值;
图像生成模块,用于根据所述平坦像素计算模块和边缘像素计算模块计算得到的每个颜色分量的像素值生成目标图像。
其中,所述图像区域确定模块具体包括:
第一采样空间划分模块,用于根据预设的第一采样规则分别在源图像的红色分量强度、绿色分量强度和蓝色分量强度中选取每个像素周围的至少一个像素作为第一采样空间;
判断模块,用于判断所述第一采样空间中像素的像素值的方差是否小于预设阈值,若所述判断模块的判断结果为是,则表示该像素属于平坦区域;若所述判断模块的判断结果为否,则表示该像素属于边缘区域。
其中,所述边缘像素计算模块具体包括:
第二采样空间划分模块,用于根据预设的第二采样规则选取该像素周围的至少一个像素作为第二采样空间,所述第二采样空间的大小为(n+1)*(m+1);
复合重心有理插值计算模块,用于根据预设的复合重心有理插值计算公式计算目标图像中该像素对应的像素单元(x,y)的像素值R(x,y),所述复合重心有理插值计算公式为:
m、n分别为正整数,xi、yj为插值节点。
其中,n为2,m为2。
实施本发明实施例,具有如下有益效果:通过矩形网格的复合重心有理插值方法对图像的边缘区域进行缩放,使用二元三点拉格朗日插值方法对图像的平坦区域进行缩放,构造了高精度逼近的有理函数插值,既保证了整体缩放速度,又可获得清晰度高的缩放后图像,相比现有技术图像质量有了明显的改善。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的图像缩放方法的第一实施例流程图,该方法包括:
在步骤S100,基于红、绿、蓝三个颜色通道,分别确定源图像的红色分量强度、绿色分量强度和蓝色分量强度中每个像素所属图像区域,所述图像区域包括边缘区域和平坦区域。
若确定像素属于平坦区域,则执行步骤S101。在步骤S101,根据二元三点拉格朗日插值算法对属于平坦区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。
若确定像素属于边缘区域,则执行步骤S102。在步骤S102,根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。
在步骤S103,根据计算得到的像素值生成目标图像。
本发明实施例提供的图像缩放方法,通过对边缘区域和平坦区域进行不同的处理,利用复合重心有理插值算法计算目标图像中的像素值,可以增加缩放处理后的目标图像的清晰度,明显改善缩放处理后的目标图像的质量。
参见图2,是本发明提供的图像缩放方法的第二实施例流程图,该方法包括:
在步骤S200,基于红、绿、蓝三个颜色通道,根据预设的第一采样规则分别在源图像的红色分量强度、绿色分量强度和蓝色分量强度中选取每个像素周围的至少一个像素作为第一采样空间。第一采样规则可以为:对于红色分量强度中的像素Ir(i,j),选取红色分量强度中的Ir(i-1,j-1)、Ir(i-1,j)、Ir(i-1,j+1)、Ir(i,j-1)、Ir(i,j)、Ir(i,j+1)、Ir(i+1,j-1)、Ir(i+1,j)、Ir(i+1,j+1)这9个像素作为第一采样空间;对于绿色分量强度中的像素Ig(i,i),选取绿色分量强度中的Ig(i-1,j-1)、Ig(i-1,j)、Ig(i-1,j+1)、Ig(i,j-1)、Ig(i,j)、Ig(i,j+1)、Ig(i+1,j-1)、Ig(i+1,j)、Ig(i+1,j+1)这9个像素作为第一采样空间;对于蓝色分量强度中的像素Ib(i,j),选取蓝色分量强度中的Ib(i-1,j-1)、Ib(i-1,j)、Ib(i-1,j+1)、Ib(i,j-1)、Ib(i,j)、Ib(i,j+1)、Ib(i+1,j-1)、Ib(i+1,j)、Ib(i+1,j+1)这9个像素作为第一采样空间,也就是说,第一采样空间的大小为3*3像素块。当然,本发明并不限于此,第一采样规则可以是本领域技术人员熟知的各种采样方法,例如第一采样空间可以是6*6像素块、8*8像素块等,3*3像素块是较佳实施例。
在步骤S201,判断第一采样空间中像素的像素值的方差是否小于预设阈值。具体地,以将图像划分为3*3的像素块为例,假设R
k、G
k和B
k分别为该第一采样空间内的第k个像素的红色分量强度、绿色分量强度和蓝色分量强度,判断是否满足
以及
其中
以及
ε为预设阈值,可以取1到5。
若步骤S201的判断结果为是,则表示对应于该第一采样空间的像素属于平坦区域,执行步骤S202。在步骤S202中,根据二元三点拉格朗日插值算法对属于平坦区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。其中二元三点拉格朗日插值公式如下:
若步骤S201的判断结果为否,则表示对应于该第一采样空间的像素属于边缘区域,执行步骤S203。在步骤S203中,根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。可以预先将目标图像中的像素单元与源图像中的像素进行映射,以便实现将源图像放大或缩小任意倍数(包括整数倍和非整数倍)。
具体地,步骤S203可以包括:根据预设的第二采样规则选取该像素周围的至少一个像素作为第二采样空间,第二采样空间的大小为(n+1)*(m+1);根据预设的复合重心有理插值计算公式计算目标图像中该像素对应的像素单元(x,y)的像素值R(x,y),其中复合重心有理插值计算公式描述如下:
设插值节点xi(0≤i≤n)以及与之相对应的函数值fi,选择一个适当的整数d(0≤d≤n),对于每个i≤j≤i+d,ri为插值d+1个点对(xi,fi,(xi+1,fi+1)...(xi+d,fi+d)的权为(-1)j的重心有理插值,则
其中
由上式一元的公式推导出二元公式,即复合重心有理插值计算公式:
其中,
m、n分别为正整数,xi、yj为插值节点。
第二采样规则可以与第一采样规则相同,也可以与第一采样规则不同;优选地,当把图像分为3×3像素块时,n=2,m=2。
在步骤S204,根据计算得到的每个颜色分量的像素单元的像素值生成目标图像。
图2所示的实施例列举了确定像素是属于平坦区域还是属于边缘区域的一种方法,但是本发明并不限于此。在本发明的其他实施例中,还可以采用其他方式,例如比较与该像素相邻的两个像素的像素值之差的绝对值,如果该绝对值小于预设阈值(例如25),则该像素属于平坦区域(即非边缘区域),否则该像素属于边缘区域。
参见图3,是本发明提供的图像缩放系统的第一实施例结构示意图,该系统包括:
区域确定模块310,用于基于红、绿、蓝三个颜色通道,分别确定源图像的红色分量强度、绿色分量强度和蓝色分量强度中每个像素所属图像区域,所述图像区域包括边缘区域和平坦区域。
平坦像素计算模块320,用于在图像区域确定模块310确定所述像素属于平坦区域时,根据二元三点拉格朗日插值算法对属于平坦区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。
边缘像素计算模块330,用于在图像区域确定模块310确定所述像素属于边缘区域时,根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。
图像生成模块340,用于根据平坦像素计算模块320和边缘像素计算模块330计算得到的像素值生成目标图像。
本发明实施例提供的图像缩放系统,通过对边缘区域和平坦区域进行不同的处理,利用复合重心有理插值算法计算目标图像中的像素值,可以增加缩放处理后的目标图像的清晰度,明显改善缩放处理后的目标图像的质量。
参见图4,是本发明提供的图像缩放系统的第二实施例结构示意图,该系统包括区域确定模块410、平坦像素计算模块420、边缘像素计算模块430和图像生成模块440,其中区域确定模块410又可以包括第一采样空间划分模块411和判断模块412。
第一采样空间划分模块411,用于根据预设的第一采样规则分别在源图像的红色分量强度、绿色分量强度和蓝色分量强度中选取每个像素周围的至少一个像素作为第一采样空间。第一采样规则可以为:对于红色分量强度中的像素Ir(i,j),选取红色分量强度中的Ir(i-1,j-1)、Ir(i-1,j)、Ir(i-1,j+1)、Ir(i,j-1)、Ir(i,j)、Ir(i,j+1)、Ir(i+1,j-1)、Ir(i+1,j)、Ir(i+1,j+1)这9个像素作为第一采样空间;对于绿色分量强度中的像素Ig(i,j),选取绿色分量强度中的Ig(i-1,j-1)、Ig(i-1,j)、Ig(i-1,j+1)、Ig(i,j-1)、Ig(i,j)、Ig(i,j+1)、Ig(i+1,j-1)、Ig(i+1,j)、Ig(i+1,j+1)这9个像素作为第一采样空间;对于蓝色分量强度中的像素Ib(i,j),选取蓝色分量强度中的Ib(i-1,j-1)、Ib(i-1,j)、Ib(i-1,j+1)、Ib(i,j-1)、Ib(i,j)、Ib(i,j+1)、Ib(i+1,j-1)、Ib(i+1,j)、Ib(i+1,j+1)这9个像素作为第一采样空间,也就是说,第一采样空间的大小为3*3像素块。当然,本发明并不限于此,第一采样规则可以是本领域技术人员熟知的各种采样方法,例如第一采样空间可以是6*6像素块、8*8像素块等,3*3像素块是较佳实施例。
判断模块412,用于判断第一采样空间中像素的像素值的方差是否小于预设阈值。具体地,以将图像划分为3*3的像素块为例,假设R
k、G
k和B
k分别为该第一采样空间内的第k个像素的红色分量强度、绿色分量强度和蓝色分量强度,判断是否满足
以及
其中
以及
ε为预设阈值,可以取1到5。若判断模块412的判断结果为是,则表示对应于该第一采样空间的像素属于平坦区域;若判断模块412的判断结果为否,则表示对应于该第一采样空间的像素属于边缘区域。
平坦像素计算模块420,用于在判断模块412的判断结果为是时,根据二元三点拉格朗日插值算法对属于平坦区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。其中二元三点拉格朗日插值公式如下:
边缘像素计算模块430,用于在判断模块412的判断结果为否时,根据复合重心有理插值算法对属于边缘区域的像素对应的红色分量强度、绿色分量强度和蓝色分量强度进行插值计算,计算出目标图像的像素值。在本图像缩放系统中,可以预先将目标图像中的像素单元与源图像中的像素进行映射,以便实现将源图像放大或缩小任意倍数(包括整数倍和非整数倍)。
具体地,边缘像素计算模块430可以包括:第二采样空间划分模块,用于根据预设的第二采样规则选取该像素周围的至少一个像素作为第二采样空间,第二采样空间的大小为(n+1)*(m+1);复合重心有理插值计算模块,用于根据预设的复合重心有理插值计算公式计算目标图像中该像素对应的像素单元(x,y)的像素值r(x,y),其中复合重心有理插值计算公式描述如下:
设插值节点xi(0≤i≤n)以及与之相对应的函数值fi,选择一个适当的整数d(0≤d≤n),对于每个i≤j≤i+d,ri为插值d+1个点对(xi,fi),(xi+1,fi+1)...(xi+d,fi+d)的权为(-1)j的重心有理插值,则
其中
由上式一元的公式推导出二元公式,即复合重心有理插值计算公式:
m、n分别为正整数,xi、yj为插值节点。
第二采样规则可以与第一采样规则相同,也可以与第一采样规则不同;优选地,当把图像分为3×3像素块时,n=2,m=2。
图像生成模块440,用于根据平坦像素计算模块420和边缘像素计算模块430计算得到的每个颜色分量的每个像素单元的像素值生成目标图像。
图4所示的实施例列举了确定像素是属于平坦区域还是属于边缘区域的一种方法,但是本发明并不限于此。在本发明的其他实施例中,区域确定模块还可以采用其他方式确定像素所属图像区域,例如区域确定模块可以比较与该像素相邻的两个像素的像素值之差的绝对值,如果该绝对值小于预设阈值(例如25),则该像素属于平坦区域(即非边缘区域),否则该像素属于边缘区域。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。