像素颜色处理方法和装置
技术领域
本发明涉及计算机信息处理技术领域,尤其涉及一种像素颜色处理方法和装置。
背景技术
图像放大是常用的数字图像处理技术之一,常用的图像放大算法有最近邻插值、双线性插值、双三次插值算法等。最近邻插值算法简单、运算量小,但放大后目标图像的每个像素的颜色值只与插值点周围的一个相邻像素有关,放大后的图像容易出现边缘锯齿。双线性插值考虑了插值点周围四个相邻像素的颜色值,大大消除了锯齿现象,但是放大后的图像边缘视觉效果比较模糊。双三次插值算法利用了插值点周围更大的邻域内的像素作三次插值,保持了图像的平滑效果,同时图像边缘得到增强,但是所需运算量较大。
一般的自然图像,如照片、绘画等,邻近像素之间常常是颜色平滑过渡,很少出现邻近像素颜色突变的情况。对这类图像的放大常常采用双线性插值和双三次插值算法,这些算法能够获得较好的平滑效果,在放大比率比较大时,可以避免色块的出现。
而对某些人工图像,如条形码、标识等,其特征是包含多个色块区域,每个色块中的像素颜色相同,在色块边缘的像素颜色发生突变。这类图像在存储设备中常常只存储为一幅很小的图像,只用少量的像素表示一个色块区域。在显示时常常是放大到两倍及以上,要求放大后保持色块边缘锐利,色块颜色一致。对这类图像的放大,如果采用双线性插值和双三次插值算法,会造成边缘过于模糊,无法清晰地识别出色块;而如果采用最近邻插值算法,在只进行图像放大的情况下可以保持色块边缘锐利,但是如果在放大的同时做旋转,旋转后的色块边缘呈锯齿形,视觉效果粗糙。
发明内容
本发明实施例提供一种像素颜色处理方法和装置,用于提高图像放大过程中设置目标图像中像素颜色的精度。
一种像素颜色处理方法,该方法包括:
选取图像放大后的目标图像中的像素,将该像素作为待处理像素,并将所述待处理像素的位置坐标与所述目标图像到源图像的坐标变换矩阵相乘,确定所述待处理像素在图像放大前的源图像中的插值点;
在源图像中选取所述插值点所在的像素以及与该像素相邻的像素,根据所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离,确定所述插值点在由选取的像素构成的区域中所处的子区域;
根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色,其中,所述插值方法为用于计算待处理像素在目标图像中的颜色的算法;
在目标图像中将所述待处理像素的颜色设置为确定出的所述待处理像素的颜色。
一种像素颜色处理装置,该装置包括:
待处理像素选取单元,用于选取图像放大后的目标图像中的像素,将该像素作为待处理像素;
插值点确定单元,用于将所述待处理像素的位置坐标与所述目标图像到源图像的坐标变换矩阵相乘,确定所述待处理像素在图像放大前的源图像中的插值点;
邻近像素选取单元,用于在源图像中选取所述插值点所在的像素以及与该像素相邻的像素;
子区域确定单元,用于根据所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离,确定所述插值点在由所述邻近像素选取单元选取的像素构成的区域中所处的子区域;
颜色确定单元,用于根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色,其中,所述插值方法为用于计算待处理像素在目标图像中的颜色的算法;
颜色设置单元,用于在目标图像中将所述待处理像素的颜色设置为确定出的所述待处理像素的颜色。
本发明中,选取图像放大后的目标图像中的像素,将该像素作为待处理像素,确定所述待处理像素在图像放大前的源图像中的插值点;在源图像中选取所述插值点所在的像素以及与该像素相邻的像素,确定所述插值点在由选取的像素构成的区域中所处的子区域;根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色;在目标图像中将所述待处理像素的颜色设置为所述颜色。可见,本发明方案中,根据插值点由选取的邻近像素构成的区域中所处的子区域以及预先设定的子区域与插值方法的对应关系,来确定用于计算待处理像素的颜色值的插值方法,与现有技术中插值点位于该区域中的任何位置都使用一种固定的插值方法来确定待处理像素的颜色相比,本发明方案能够有效提高像放大过程中设置目标图像中像素颜色的精度。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2为本发明实施例中的邻近像素选取示意图;
图3为本发明实施例中的二维条形码图像示意图;
图4为本发明实施例中使用双线性插值法将图3所示的二维条形码图像放大后的示意图;
图5为本发明实施例中使用最近邻插值法将图3所示的二维条形码图像放大后的示意图;
图6为本发明实施例中使用本发明方法将图3所示的二维条形码图像放大后的示意图;
图7为本发明实施例提供的装置结构示意图。
具体实施方式
为了提高图像放大过程中设置目标图像中像素颜色的精度,本发明实施例提供一种像素颜色处理方法,本方法中,确定图像放大后的目标图像中的待处理像素在图像放大前的源图像中的插值点后,选取与该插值点邻近的多个像素,并根据插值点在由选取的像素构成的区域中所处的位置,选取用于确定待处理像素的颜色的插值方法,并在使用该插值方法确定待处理像素的颜色后,在目标图像中将待处理像素的颜色设置为该颜色。
参见图1,本发明实施例提供一种像素颜色处理方法,包括以下步骤:
步骤11:选取图像放大后的目标图像中的像素,将该像素作为待处理像素,确定所述待处理像素在图像放大前的源图像中的插值点;
步骤12:在源图像中选取所述插值点所在的像素以及与该像素相邻的像素,确定所述插值点在由选取的像素构成的区域中所处的子区域;
步骤13:根据预先设定的子区域与插值方法的对应关系,确定步骤12中确定的子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色;这里的插值方法是指用于计算待处理像素在目标图像中的颜色的算法,包括最近邻插值法、双线性插值法等;
步骤14:在目标图像中将所述待处理像素的颜色设置为步骤13中确定的颜色。
步骤11中,确定所述待处理像素在图像放大前的源图像中的插值点,其具体实现可以如下:
将所述待处理像素的位置坐标与所述目标图像到所述源图像的坐标变换矩阵相乘,得到所述待处理像素在图像放大前的源图像中的插值点的位置坐标。
步骤12中,在源图像中选取所述插值点所在的像素以及与该像素相邻的像素时,具体可以是在源图像中选取所述插值点所在的像素以及与该像素相邻的三个像素。具体如下:
将所述插值点的位置坐标中的横向坐标和纵向坐标分别向下取整,得到所述插值点所在的像素的位置坐标;
将所述插值点的位置坐标中的横向坐标向下取整、纵向坐标向上取整,得到与所述插值点所在的像素相邻的一个像素的位置坐标;
将所述插值点的位置坐标中的横向坐标向上取整、纵向坐标向下取整,得到与所述插值点所在的像素相邻的另一个像素的位置坐标;
将所述插值点的位置坐标中的横向坐标和纵向坐标分别向下取整,得到与所述插值点所在的像素相邻的第三个像素的位置坐标。
当然,步骤12中也可以是在源图像中选取所述插值点所在的像素以及与该像素相邻的一个或两个像素等。
作为一种实施方式,步骤12中,确定所述插值点在由选取的像素构成的区域中所处的子区域,其具体实现可以如下:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离大于预先设定的第一距离阈值函数值、所述第二距离大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述正方形区域的第一区域;
相应的,步骤13中,根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色,其具体实现可以如下:
根据所述对应关系,确定所述第一区域对应的插值方法为最近邻插值方法,并使用最近邻插值方法确定所述待处理像素的颜色。
具体的,使用最近邻插值方法确定所述待处理像素的颜色,可以采用如下公式:
C=Cn;
其中,Cn为所述插值点所在的像素的颜色值。
作为另一种实施方式,步骤12中,确定所述插值点在由选取的像素构成的区域中所处的子区域,其具体实现可以如下:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离不大于预先设定的第一距离阈值函数值、所述第二距离大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述正方形区域的第二区域;
相应的,步骤13中,根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色,其具体实现可以如下:
根据所述对应关系,确定所述第一区域对应的插值方法为线性插值方法,并使用线性插值方法确定所述待处理像素的颜色。
具体的,使用线性插值方法确定所述待处理像素的颜色,可以采用如下公式:
其中,Cn为所述插值点所在的像素的颜色值,x为所述插值点的横坐标,Xn为所述插值点所在的像素Pn的横坐标,Xny为与像素Pn具有相同纵坐标的相邻像素的横坐标,Cny为与像素Pn具有相同纵坐标的相邻像素的颜色值。
作为第三种实施方式,步骤12中,确定所述插值点在由选取的像素构成的区域中所处的子区域,其具体实现可以如下:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离大于预先设定的第一距离阈值函数值、所述第二距离不大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述正方形区域的第三区域;
相应的,步骤13中,根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色,其具体实现可以如下:
根据所述对应关系,确定所述第一区域对应的插值方法为线性插值方法,并使用线性插值方法确定所述待处理像素的颜色。
具体的,使用线性插值方法确定所述待处理像素的颜色,可以采用如下公式:
其中,Cn为所述插值点所在的像素的颜色值,y为所述插值点的纵坐标,Yn为所述插值点所在的像素Pn的纵坐标,Ynx为与像素Pn具有相同横坐标的相邻像素的纵坐标,Cnx为与像素Pn具有相同横坐标的相邻像素的颜色值。
作为第四种实施方式,步骤12中,确定所述插值点在由选取的像素构成的区域中所处的子区域,其具体实现可以如下:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离不大于预先设定的第一距离阈值函数值、所述第二距离不大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述正方形区域的第四区域;
相应的,步骤13中,根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色,其具体实现可以如下:
根据所述对应关系,确定所述第一区域对应的插值方法为双线性插值方法,并使用双线性插值方法确定所述待处理像素的颜色。
具体的,使用双线性插值方法确定所述待处理像素的颜色,可以采用如下公式:
C=(1-V)(1-U)C1+(1-V)UC2+V(1-U)C3+UVC4;
U=x-X1;
V=y-Y1;
其中,C1为选取的第一个像素的颜色值,C2为选取的第二个像素的颜色值;C3为选取的第三个像素的颜色值;C4为选取的第四个像素的颜色值;x为所述插值点的横坐标,y为所述插值点的纵坐标;X1为选取的第一个像素的横坐标,Y1为选取的第一个像素的纵坐标。
上述四种实施方式中,所述第一距离阈值函数可以是与图像横向放大比例相关的函数,该函数是关于图像横向放大比例的递减函数;
所述第二距离阈值函数可以是与图像纵向放大比例相关的函数,并且该函数是关于图像纵向放大比例的递减函数。
举例说明,第一距离阈值函数可以为P/M*Sx,第二距离阈值函数可以为Q/M*Sy,Sx为图像横向放大比例,Sy为图像纵向放大比例,P/M为不大于Sx/2的正数,Q/M为不大于Sy/2的正数。
当然,第一距离阈值函数和第二距离阈值函数并不局限于上述方式,例如,第一距离阈值函数还可以是与图像横向放大比例和图像旋转角度相关的函数,第二距离阈值函数还可以是与图像纵向放大比例和图像旋转角度相关的函数,等等,任何函数形式均在本发明的保护范围内。
下面对本发明进行具体说明:
为了克服现有图像放大方法在处理人工图像的不足,本发明提出的方案基于最近邻插值算法,结合线性插值和双线性插值算法,使得人工图像在放大和旋转后,同时保持色块边缘的锐利和平滑效果。
本发明所采用的技术方案具体包含以下步骤:
步骤一、选取待处理像素。从目标图像上选取一个像素作为待处理像素,将待处理像素的坐标映射到源图像上的一个插值点P(x,y)
步骤二、选取邻近像素。如图2所示,从源图像上选取P点邻近的4个像素,分别是P1,P2,P3和P4。其中P点所在的像素记为Pn,与Pn有相同X坐标的像素记为Pnx,与Pn像素有相同Y坐标的像素记为Pny。
步骤三、判断插值点类型。如图2所示,P1,P2,P3和P4围成的正方形区域内,根据坐标划分为4种类型的区域。所述区域划分的依据是插值点与正方形两条中线的距离,令
其中,Q为插值点与正方形区域的纵向中线的距离值,R为插值点与正方形区域的横向中线的距离值;
目标图像在X方向的放大比例为Sx,Y方向放大比例为Sy,定义一个距离阈值函数F(s)放大比例s递增时,F(s)递减。
则A区域内的点坐标满足:
Q>F(Sx),R>F(Sy);
B区域内的点坐标满足:
Q≤F(Sx),R>F(Sy);
C区域内的点坐标满足:
Q>F(Sx),R≤F(Sy);
区域内的点坐标满足:
Q≤F(Sx),R≤F(Sy)。
步骤四、插值运算。根据插值点所位于的区域类型,选取不同的插值方法。插值后的目标像素即待处理像素的颜色值记为C,当插值点位于A区域时,使用最近邻插值法,即:
C=Cn;
当插值点位于B区域内时,使用Pn和Pny进行线性插值,即:
当插值点位于C区域内时,使用Pn和Pnx进行线性插值,即:
当插值点位于D区域内时,使用P1,P2,P3和P4进行双线性插值。令
U=x-X1;
V=y-Y1;
则:
C=(1-V)(1-U)C1+(1-V)UC2+V(1-U)C3+UVC4。
使用这种方法,在图像放大比例比较大的时候,目标图像的色块区域中间部分颜色保持不变,只有在色块区域边缘处的像素会与不同颜色的像素做插值,保证了色块的边缘锐利和旋转后的平滑。
使用这种方法,目标图像的色块区域中间部分像素采用最近邻插值法,计算量小,色块区域边缘像素采用线性插值和双线性插值法。当放大比例比较大的时候,大部分像素采用最近邻插值法,整体处理速度快。
下面结合具体实施例对本发明做详细说明:
在以下实施例中,条形码图像使用8位灰度格式,黑色部分颜色值为0,白色部分颜色值为255。
使用矩阵 表示源图像到目标图像的坐标变换矩阵,则其逆矩阵 表示从目标图像到源图像的坐标变换矩阵。
实施例一:
对目标图像上(27,13)值运算的步骤为:
步骤1:选取待处理像素。选取的待处理像素(27,13)在目标图像上位于条形码黑色块内部。
步骤2:选取邻近像素。根据目标图像到源图像的坐标变换矩阵,将待处理像素映射到源图像上的插值点P(4.22,6.19)值点邻近的4个像素,分别为P1(4,6)、P2(5,6)、P3(4,7)和P4(5,7),插值点所在的像素是P1。
步骤3:判断插值点类型。当前缩放比Sx=Sy=4优选的距离阈值函数定义为
根据
判断插值点位于A区域。
步骤4:插值运算。A区域内的点使用最近邻插值法,则目标图像上的像素(27,13)的颜色和源图像上像素(4,6)的颜色相同,为黑色,保证了色块区域内部颜色一致。
实施例二:
对目标图像上(26,15)点做插值运算的步骤为:
步骤1:选取待处理像素。选取的待处理像素(26,15)目标图像上位于条形码黑色块边缘。
步骤2:选取邻近像素。根据目标图像到源图像的坐标变换矩阵,将待处理像素映射到源图像上的插值点P(3.75,6.49),选取插值点邻近的4个像素,分别为P1(3,6)、P2(4,6)、P3(3,7)和P4(4,7),插值点所在的像素是P2。
步骤3:判断插值点类型。当前缩放比Sx=Sy=4,优选的距离阈值函数定义为
根据
判断插值点位于C区域。
步骤4:插值运算。C区域内的点使用P2和P4做线性插值,则目标图像上的像素(26,15)的颜色值为:
C代表灰色,保证了旋转后色块边缘的反锯齿效果。
使用本发明方法,在对某些人工图像做放大旋转操作时,同时保证了色块区域内部颜色一致性和色块区域边缘的平滑效果,改善了显示效果,提高了图像的识别率。并且在放大比率比较大的情况下,大部分像素采用最近邻插值法,整体处理速度快。
实施例三:
对目标图像上像素点a做插值运算的步骤为:
步骤1:选取待处理像素。选取的待处理像素a在目标图像上位于条形码黑色块内部。
步骤2:选取邻近像素。根据目标图像到源图像的坐标变换矩阵,将待处理像素映射到源图像上的插值点P,选取插值点邻近的4个像素,分别为P1、P2、P3、P4,插值点所在的像素是P1。
步骤3:判断插值点类型。当前缩放比Sx=Sy=4,优选的距离阈值函数定义为
根据a点的坐标确定a点位于B区域。
步骤4:插值运算。使用双线性插值法确定a点的颜色。
实施例四:
对目标图像上像素点b做插值运算的步骤为:
步骤1:选取待处理像素。选取的待处理像素b在目标图像上位于条形码黑色块内部。
步骤2:选取邻近像素。根据目标图像到源图像的坐标变换矩阵,将待处理像素映射到源图像上的插值点P,选取插值点邻近的4个像素,分别为P1、P2、P3、P4,插值点所在的像素是P1。
步骤3:判断插值点类型。当前缩放比Sx=Sy=4,优选的距离阈值函数定义为
根据a点的坐标确定b点位于D区域。
步骤4:插值运算。使用双线性插值法确定b点的颜色。
下面对本发明的效果与现有技术进行对比说明:
图3为二维条形码图像,左图为原始大小,右图为放大示意图。该二维条形码图像的特征是,图像由多个正方形单元组成,每个单元的颜色可以是黑色或白色。图像可以划分为多个有明确界限的区域,每个区域内部的单元颜色相同,区域边缘单元颜色发生突变,进入另一个区域。
在存储设备中保存该图像时,为了节省存储空间,可以将其存储为非常小的图像,如图3所示,采用一个像素表示一个正方形单元,使用时放大显示,期望的效果是将一个像素放大为一个清晰的正方形单元。
图4为使用双线性插值法放大图3至400%的结果,左图为原始大小,右图为放大示意图。可以看到,放大后图像显示效果模糊,其原因是在放大过程中,目标图像上的每一个像素在计算颜色时,都需要对源图像上的4个像素做插值,因此源图像上两个邻近的不同颜色的像素在放大后,呈渐变效果。放大后的条形码色块边缘模糊,识别率差。
图5为使用最近邻插值法放大图3至400%,并逆时针旋转30度的结果,左图为原始大小,右图为放大示意图。因为最近邻插值法特点是采用源图像上距离插值点最近的像素颜色,所以放大后的图像上,像素颜色只能是黑色或白色。源图像上两个邻近的不同颜色的像素在放大并旋转后,边缘锯齿效果明显。
图6为使用本发明方法放大图2至400%,并逆时针旋转30度的结果,左图为原始大小,右图为放大示意图。源图像上两个邻近的不同颜色的像素在放大后成为两个颜色不同的正方形区域。在使用本发明方法做插值运算时,所述正方形区域的中间部分像素转换到源图像上的插值点坐标位于A类区域,其颜色或者是黑色,或者是白色,没有在两种颜色之间做插值运算,保持了色块内部颜色一致;所述正方形区域的边缘部分像素转换到源图像上的插值点坐标位于B、C、D类区域,与邻近像素颜色值做插值运算为灰度颜色,实现了正方形区域边缘的反锯齿效果,视觉效果平滑。
参见图7,本发明实施例还提供一种像素颜色处理装置,该装置包括:
待处理像素选取单元71,用于选取图像放大后的目标图像中的像素,将该像素作为待处理像素;
插值点确定单元72,用于确定所述待处理像素在图像放大前的源图像中的插值点;
邻近像素选取单元73,用于在源图像中选取所述插值点所在的像素以及与该像素相邻的像素;
子区域确定单元74,用于确定所述插值点在由所述邻近像素选取单元选取的像素构成的区域中所处的子区域;
颜色确定单元75,用于根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色;
颜色设置单元76,用于在目标图像中将所述待处理像素的颜色设置为所述颜色。
进一步,所述邻近像素选取单元73用于:
在源图像中选取所述插值点所在的像素以及与该像素相邻的三个像素。
进一步,所述子区域确定单元74用于:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离大于预先设定的第一距离阈值函数值、所述第二距离大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述区域的第一区域;
所述颜色确定单元75用于:
根据所述对应关系,确定所述第一区域对应的插值方法为最近邻插值方法,并使用最近邻插值方法确定所述待处理像素的颜色。
进一步,所述颜色确定单元75用于:
按照如下公式确定所述待处理像素的颜色值C:
C=Cn;
其中,Cn为所述插值点所在的像素的颜色值。
进一步,所述子区域确定单元74用于:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离不大于预先设定的第一距离阈值函数值、所述第二距离大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述区域的第二区域;
所述颜色确定单元75用于:
根据所述对应关系,确定所述第一区域对应的插值方法为线性插值方法,并使用线性插值方法确定所述待处理像素的颜色。
进一步,所述颜色确定单元75用于:
按照如下公式确定所述待处理像素的颜色值C:
其中,Cn为所述插值点所在的像素的颜色值,x为所述插值点的横坐标,Xn为所述插值点所在的像素Pn的横坐标,Xny为与像素Pn具有相同纵坐标的相邻像素的横坐标,Cny为与像素Pn具有相同纵坐标的相邻像素的颜色值。
进一步,所述子区域确定单元74用于:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离大于预先设定的第一距离阈值函数值、所述第二距离不大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述区域的第三区域;
所述颜色确定单元75用于:
根据所述对应关系,确定所述第一区域对应的插值方法为线性插值方法,并使用线性插值方法确定所述待处理像素的颜色。
进一步,所述颜色确定单元75用于:
按照如下公式确定所述待处理像素的颜色值C:
其中,Cn为所述插值点所在的像素的颜色值,y为所述插值点的纵坐标,Yn为选取的、与所述插值点所在的像素Pn的纵坐标,Ynx为与像素Pn具有相同横坐标的相邻像素的纵坐标,Cnx为与像素Pn具有相同横坐标的相邻像素的颜色值。
进一步,所述子区域确定单元74用于:
确定所述插值点与由选取的像素构成的正方形区域的纵向中线的第一距离,以及所述插值点与所述正方形区域的横向中线的第二距离;在所述第一距离不大于预先设定的第一距离阈值函数值、所述第二距离不大于预先设定的第二距离阈值函数值时,确定所述插值点位于所述区域的第四区域;
所述颜色确定单元75用于:
根据所述对应关系,确定所述第一区域对应的插值方法为双线性插值方法,并使用双线性插值方法确定所述待处理像素的颜色。
进一步,所述颜色确定单元75用于:
按照如下公式确定所述待处理像素的颜色值C:
C=(1-V)(1-U)C1+(1-V)UC2+V(1-U)C3+UVC4;
U=x-X1;
V=y-Y1;
其中,C1为选取的第一个像素的颜色值,C2为选取的第二个像素的颜色值;C3为选取的第三个像素的颜色值;C4为选取的第四个像素的颜色值;x为所述插值点的横坐标,y为所述插值点的纵坐标;X1为选取的第一个像素的横坐标,Y1为选取的第一个像素的纵坐标。
进一步,所述插值点确定单元72用于:
将所述待处理像素的位置坐标与所述目标图像到所述源图像的坐标变换矩阵相乘,得到所述待处理像素在图像放大前的源图像中的插值点的位置坐标。
进一步,所述邻近像素选取单元73用于:
将所述插值点的位置坐标中的横向坐标和纵向坐标分别向下取整,得到所述插值点所在的像素的位置坐标;
将所述插值点的位置坐标中的横向坐标向下取整、纵向坐标向上取整,得到与所述插值点所在的像素相邻的一个像素的位置坐标;
将所述插值点的位置坐标中的横向坐标向上取整、纵向坐标向下取整,得到与所述插值点所在的像素相邻的另一个像素的位置坐标;
将所述插值点的位置坐标中的横向坐标和纵向坐标分别向下取整,得到与所述插值点所在的像素相邻的第三个像素的位置坐标。
所述第一距离阈值函数是与图像横向放大比例相关的函数,并且该函数是关于图像横向放大比例的递减函数;所述第二距离阈值函数是与图像纵向放大比例相关的函数,并且该函数是关于图像纵向放大比例的递减函数。
第一距离阈值函数为P/M*Sx,第二距离阈值函数为Q/M*Sy,Sx为图像横向放大比例,Sy为图像纵向放大比例,P/M为不大于Sx/2的正数,Q/M为不大于Sy/2的正数。
综上,本发明的有益效果包括:
本发明实施例提供的方案中,选取图像放大后的目标图像中的像素,将该像素作为待处理像素,确定所述待处理像素在图像放大前的源图像中的插值点;在源图像中选取所述插值点所在的像素以及与该像素相邻的像素,确定所述插值点在由选取的像素构成的区域中所处的子区域;根据预先设定的子区域与插值方法的对应关系,确定所述子区域对应的插值方法,并使用该插值方法确定所述待处理像素的颜色;在目标图像中将所述待处理像素的颜色设置为所述颜色。可见,本发明方案中,根据插值点由选取的邻近像素构成的区域中所处的子区域以及预先设定的子区域与插值方法的对应关系,来确定用于计算待处理像素的颜色值的插值方法,与现有技术中插值点位于该区域中的任何位置都使用一种固定的插值方法来确定待处理像素的颜色相比,本发明方案能够有效提高像放大过程中设置目标图像中像素颜色的精度。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。