图像处理方法及装置与流程

文档序号:19651933发布日期:2020-01-10 15:43阅读:247来源:国知局
图像处理方法及装置与流程

本发明涉及图像处理技术领域,特别涉及一种图像处理方法及装置。



背景技术:

在视频通话中,发端端在将视频数据发送给接收端之前,通常会对视频数据进行编码。受限于网络带宽,发送端在进行视频编码时,编码分辨率通常较低,而接收端显示屏的分辨率一般会高于编码分辨率,这时就面临一个问题,接收端需要将低分辨率的视频数据需要显示在高分辨率的显示屏上。为了解决这一问题,接收端可对图像进行放大处理。目前,主要通过采用插值算法增加图像的像素点,实现对图像的放大。

然而,在对图像放大过程中,由于原始像素点和插值像素点之间的灰度值不连续,存在突变现象,导致放大后的图像轮廓和纹理较为模糊,边缘产生锯齿。为了提高放大后的图像质量,现有技术一般采用双线性插值算法确定插值像素点的实际像素值。具体实施时,可根据原始像素点与插值像素点之间距离的远近,为原始像素点设置不同的权重值,并通过对原始像素点进行加权运算,确定插值像素点的实际像素值,以去除放大图像中的锯齿。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

由于对每个插值像素点均采用相同的处理方式进行处理,导致处理后的图像清晰度较低,处理后的图像质量依然较差。



技术实现要素:

为了解决相关技术的问题,本发明实施例提供了一种图像处理方法及装置。所述技术方案如下:

一方面,提供了一种图像处理方法,所述方法包括:

获取放大图像上任一待处理的插值像素点的位置坐标,所述待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点;

根据所述位置坐标,确定所述待处理的插值像素点与所述指定原始像素点之间的位置关系;

根据所述待处理的插值像素点与所述指定原始像素点之间的位置关系,采用与所述位置关系相应的计算方式,计算所述待处理的插值像素点的实际像素值;

其中,不同位置关系对应于不同计算方式。

另一方面,提供了一种图像处理装置,所述装置包括:

获取模块,用于获取放大图像上任一待处理的插值像素点的位置坐标,所述待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点;

确定模块,用于根据所述位置坐标,确定所述待处理的插值像素点与所述指定原始像素点之间的位置关系;

计算模块,用于根据所述待处理的插值像素点与所述指定原始像素点之间的位置关系,采用与所述位置关系相应的计算方式,计算所述待处理的插值像素点的实际像素值;

其中,不同位置关系对应于不同计算方式。

本发明实施例提供的技术方案带来的有益效果是:

在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种基于网络聊天系统对图像进行放大的框架流程图;

图2是本发明一个实施例提供的将原始图像及2倍放大图像的示意图;

图3是本发明另一个实施例提供的一种图像处理方法流程图;

图4是本发明另一个实施例提供的一种图像处理方法流程图;

图5本发明另一个实施例提供的四种类型的插值像素点的示意图;

图6是本发明的另一个实施例提供的采用第二计算方式所选取的多个原始像素点的示意图;

图7是本发明的另一个实施例提供的采用第二计算方式所获取到的边缘方向;

图8是本发明的另一个实施例提供的采用第三计算方式所选取的多个像素点的示意图;

图9是本发明的另一个实施例提供的采用第三计算方式所选取的多个像素点的示意图;

图10是本发明的另一个实施例提供的采用第三计算方式所选取的多个原始像素点的示意图;

图11是本发明的另一个实施例提供的采用第三计算方式所获取到的边缘方向;

图12是本发明的另一个实施例提供的在网络视频聊天中的放大增强算法框架流程图;

图13是本发明的另一个实施例提供的在网络视频聊天中的放大增强算法框架流程图;

图14是本发明的另一个实施例提供的采用现有技术及本发明放大两倍的实际效果图;

图15是本发明的另一个实施例提供的采用本发明放大两倍的实际效果图;

图16是本发明的另一个实施例提供的采用photozoom放大两倍的实际效果图;

图17是本发明的另一个实施例提供的gimp使用双立方插值算法放大两倍的实际效果图;

图18是本发明的另一个实施例提供的原始图像;

图19是本发明的另一个实施例提供的采用本发明将原始图像放大两倍的实际效果图;

图20是本发明的另一个实施例提供的采用photozoom将原始图像放大两倍的实际效果图;

图21是本发明的另一个实施例提供的gimp使用双立方插值算法将原始图像放大两倍的实际效果图;

图22是本发明另一个实施例提供的一种图像处理装置的结构示意图;

图23是本发明另一个实施例提供的一种图像处理终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1为一种基于网络视频聊天系统对图像进行放大的框架流程图。在视频通话场景下,当发送端与接收端通过视频聊天应用进行通信时,发送端开启摄像头,通过摄像头获取图像,并对获取到的图像进行编码,进而通过网络将编码后的视频数据发送至接收端。当网络状况不佳时,为了确保发送端和接收端之间的视频通话能够顺利进行,发送端通常会主动降低视频编码率,例如,在正常的网络带宽下,发送端的视频编码率为320*240、480*360等,在极低的网络带宽下,发送端的视频编码率会降为192*144。当接收到视频数据后,接收端采用与视频编码率相同的视频解码率对接收到的视频数据进行解码。由于接收端显示屏的分辨率通常会高于发送端的视频编码率,为使解码后的图像能够在显示屏上显示出来,接收端将基于插值算法对解码后的图像进行多次放大,首先,接收端采用视频增强系统将解码后的图像放大2倍,使得原始图像上的像素点增加4倍,如图2所示,图2中的左图为原始图像(lowresolution,lr),图2中的右图为采用插值算法放大2倍的图像(highresolution,hr),由图2可知原始像素点为16个,放大图像上的像素点为64个;然后,接收端采用opengl放大系统对2倍放大图像继续进行放大,将放大2倍的图像放大2~6倍;最后,接收端将放大图像显示在分辨率为1920*1080的显示屏上。

目前,在对放大图像进行放大处理时,主要有近邻插值算法、双线性插值算法、双立方插值算法等,这几种插值算法中以双立方插值算法的处理效果最佳。

其中,近邻法插值算法比较简单、容易实现,应用范围非常广泛,但放大图像具有明显的锯齿边缘和马赛克现象。

双线性插值法具有平滑功能,能有效地克服近邻插值算法的不足,但会退化图像的高频部分,使图像细节变模糊。在放大倍数比较高时,高阶插值算法如双三次插值算法和三次样条插值算法等双线性插值算法效果好。双线性插值算法可以使插值生成的插值像素点的灰度值与原始图像的灰度值之间能够变化连续,从而使放大图像浓淡变化自然平滑。但是在放大图像中,有些插值像素点与相邻原始像素点间灰度值仍会存在突变,即插值像素点的灰度值与原始像素点的灰度值变化并不连续。这些具有灰度值突变的插值像素点就是放大图像中描述对象的轮廓或纹理图像的边缘像素点。在放大后的图像中,这些具有不连续灰度特性的像素点,将使放大图像的轮廓和纹理模糊,图像质量较差。

双立方插值能够根据原始像素点与插值像素点之间的距离远近,为原始像素点设置不同的权重值,并根据不同原始像素点的权重值,对原始像素点进行加权运算,进而将加权运算结果作为插值像素点的实际像素值。虽然双立方插值算法能够在一定程度上去除放大图像上的锯齿,但放大图像效果依然较为模糊,图像质量较差,影响用户的观看。

以上简述了几种克服图像放大问题的插值算法,这些插值算法在对图像进行方法处理时,均是基于两步法进行处理的。第一步,处理位于放大图像左上角和右下角上的插值像素点;第二步,处理上述第一步处理后放大图像上右上角或左下角上的插值像素点。采用该种处理方式不能对放大图像进行并行运算,且需要增加一倍的缓存,放大图像的时效性较差,并不太适合对实时性要求很高的移动设备;另外,该种处理方式没有或较少考虑到实时性和效果的折中,也未考虑到不同gpu(graphicsprocessingunit,图形处理器)处理能力的折中取舍,以获得在不同性能机型上获得此类机型的最佳效果。

本发明实施例提供了一种图像处理方法,该方法综合考虑了插值像素点与原始像素点之间的位置关系,并基于插值像素点与原始像素点之间的位置关系,采用不同的计算方式计算插值像素点的实际像素值,在去除放大图像上锯齿的同时,提高了图像的清晰度。参见图3,本实施例提供的方法流程包括:

301、获取放大图像上任一待处理的插值像素点的位置坐标,待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点。

302、根据位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系。

303、根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值。

其中,不同位置关系对应于不同计算方式。

本发明实施例提供的方法,在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

在本发明的另一个实施例中,根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值,包括:

如果待处理的插值像素点位于指定原始像素点的第一位置区域,则采用第一计算方式计算待处理的插值像素点的实际像素值;

如果待处理的插值像素点位于指定原始像素点的第二位置区域,则采用第二计算方式计算待处理的插值像素点的实际像素值;

如果待处理的插值像素点位于指定原始像素点的第三位置区域,则采用第三计算方式计算待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,如果待处理的插值像素点位于指定原始像素点的第一位置区域,则采用第一计算方式计算待处理的插值像素点的实际像素值,包括:

获取与待处理的插值像素点距离最近的原始像素点的像素值,将原始像素点的像素值作为待处理的插值像素点的实际像素值;或;

获取与待处理的插值像素点距离最近的两个原始像素点的像素值,采用双线性插值算法对两个原始像素点的像素值进行插值计算,得到待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,如果待处理的插值像素点位于指定原始像素点的第二位置区域,则采用第二计算方式计算待处理的插值像素点的实际像素值,包括:

获取待处理的插值像素点的第一边缘方向和第二边缘方向;

以待处理的插值像素点为中心,在放大图像上选取多个原始像素点;

根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值;

根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向;

如果待处理的插值像素点存在第一强边缘方向,则从多个原始像素点中,获取位于第一强边缘方向上的原始像素点,对第一强边缘方向上的原始像素点进行插值计算,得到待处理的插值像素点的实际像素值;

如果待处理的插值像素点不存在第一强边缘方向,则从多个原始像素点中,获取位于第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点,分别对第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点进行插值计算,获取第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果,对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,包括:

分别获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值;

获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值;

获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值;

将第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第一边缘方向上的强度值,并将第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第二边缘方向上的强度值。

在本发明的另一个实施例中,根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向,包括:

获取第一边缘方向和第二边缘方向上的强度值的比值;

根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向。

在本发明的另一个实施例中,获取到的第一边缘方向和第二边缘方向上的强度值的比值为:

r1=(1+g1)/(1+g2);

其中,r1为第一边缘方向和第二边缘方向上的强度值的比值,g1为第一边缘方向上的强度值,g2为第二边缘方向上的强度值。

在本发明的另一个实施例中,根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向,包括:

如果第一边缘方向和第二边缘方向上的强度值的比值不等于第一预设阈值,则确定待处理的插值像素点存在第一强边缘方向;

如果第一边缘方向和第二边缘方向上的强度值的比值等于第一预设阈值,则确定待处理的插值像素点不存在第一强边缘方向。

在本发明的另一个实施例中,对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p1=(w1*value1+w2*value2)/(w1+w2);

其中,p1为待处理的插值像素点的实际像素值,w1为第一边缘方向的主方向上的插值计算结果对应的权重值,value1为第一边缘方向的主方向上的插值计算结果,w2为第二边缘方向的主方向上的插值计算结果对应的权重值,value2为第二边缘方向的主方向上的插值计算结果,k为指定参数。

在本发明的另一个实施例中,如果待处理的插值像素点位于指定原始像素点的第三位置区域,则采用第三计算方式计算待处理的插值像素点的实际像素值,包括:

获取待处理的插值像素点的第三边缘方向和第四边缘方向;

以待处理的插值像素点为中心,在放大图像上选取多个像素点,像素点包括原始像素点和插值像素点;

根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值;

根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向;

如果待处理的插值像素点存在第二强边缘方向,则根据多个像素点,获取第二强边缘方向上的像素点,对第二强边缘方向上的像素点进行插值计算,得到待处理的插值像素点的实际像素值;

如果待处理的插值像素点不存在第二强边缘方向,则根据多个像素点,获取第三边缘方向的主方向和第四边缘方向的主方向上的像素点,分别对第三边缘方向的主方向和第四边缘方向的主方向上的像素点进行插值计算,获取第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果,对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,包括:

分别获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值;

获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值;

获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值;

将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值之和作为第三边缘方向上的强度值,并将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值之和作为第四边缘方向上的强度值。

在本发明的另一个实施例中,根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向,包括:

获取第三边缘方向和第四边缘方向上的强度值的比值;

根据第三边缘方向和第四边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第二强边缘方向。

在本发明的另一个实施例中,获取到的第三边缘方向和第四边缘方向上的强度值的比值为:

r2=(1+g3)/(1+g4);

其中,r2为第三边缘方向和第四边缘方向上的强度值的比值,g3为第三边缘方向上的强度值,g4为第四边缘方向上的强度值。

在本发明的另一个实施例中,根据第三边缘方向和第四边缘方向上的强度值的比值,确定待处理的插值像素点是否存在第二强边缘方向,包括:

如果第三边缘方向和第四边缘方向上的强度值的比值不等于第二预设阈值,则确定待处理的插值像素点存在第二强边缘方向;

如果第三边缘方向和第四边缘方向上的强度值的比值等于第二预设阈值,则确定待处理的插值像素点不存在第二强边缘方向。

在本发明的另一个实施例中,根据多个像素点,获取第二强边缘方向上的像素点,包括:

如果多个像素点在第二强边缘方向上存在原始像素点,则获取第二强边缘方向上的原始像素点;

如果多个像素点在第二强边缘方向上不存在原始像素点,则获取第二强边缘方向上的插值像素点。

在本发明的另一个实施例中,对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p2=(w3*value3+w4*value4)/(w3+w4);

其中,p2为待处理的插值像素点的实际像素值,w3为第三边缘方向的主方向上的插值计算结果对应的权重值,value3为第三边缘方向的主方向上的插值计算结果,w4为第四边缘方向的主方向上的插值计算结果对应的权重值,value4为第四边缘方向的主方向上的插值计算结果,k为指定参数。

在本发明的另一个实施例中,第一位置区域为指定原始像素点的左上角,第二位置区域为指定原始像素点的右下角,第三位置区域为指定原始像素点的右上角或左下角。

在本发明的另一个实施例中,第一边缘方向为45度方向,第二边缘方向为135度方向,第三边缘方向为0度方向,第四边缘方向为90度方向。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

本发明实施例提供了一种图像处理方法,参见图4,本实施例提供的方法流程包括:

401、在与发送端进行视频通话的过程中,接收端对原始图像进行放大处理。

在本实施例中,接收端中安装有视频聊天应用,基于所安装的视频聊天应用,接收端可以接收发送端发送的视频数据,对接收得到的视频数据进行解码,并将解码后的视频数据,也即本实施例中所述的原始图像实时地显示在显示屏上。其中,接收端可以为智能手机、笔记本电脑、台式电脑、平板电脑等设备,本实施例不对接收端的类型作具体的限定。

由于发送端所发送的视频数据的视频编码率较低,而接收端显示屏的分辨率较高,为了能够将低分辨率的图像显示在高分辨率的显示屏上,接收端将采用插值算法对原始图像进放大处理,得到放大图像。

由于放大的倍率较高,使得放大图像上的锯齿比较明显,图像质量较差。为了提高放大图像质量,本实施例将采用下述步骤402至404对放大图像进行处理。

402、接收端获取放大图像上任一待处理的插值像素点的位置坐标。

其中,放大图像为采用插值算法将原始图像上的原始像素点放大预设倍数后所得到的图像,该预设倍数可以为2倍、4倍、8倍等,本实施例以预设倍数为2倍,即对2倍放大后的图像进行处理为例。对于原始图像上的任一指定像素点,待处理的插值像素点为将该指定原始像素点放大2倍时所产生的像素点。

接收端在获取放大图像上任一待处理的插值像素点的位置坐标时,可以基于放大图像,以放大图像的长为x轴,放大图像的宽为y轴,构建一个直角坐标系,并获取待处理的插值像素点在所构建的直角坐标系中的位置坐标。当然,接收端还可以基于每个原始像素点,以每个原始像素点为原点,以向右方向为x轴正方向,以向上方向为y轴正方向,构建直角坐标系,并获取待处理的插值像素点在所构建的直角坐标系中的位置坐标。

403、接收端根据位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系。

在实际处理过程中,原始像素点放大2倍后得到的各个插值像素点的实际像素值并不相同,为了精确地计算每个插值像素点的实际像素值,本实施例将指定原始像素点放大2倍后产生的插值像素点分为四种类型。如图5所示,左侧的黑色球表示指定原始像素点,右侧的四个白色球表示将指定原始像素点放大2倍产生的插值像素点。由图5可知,插值像素点与指定原始像素点之间的位置关系为插值像素点位于指定原始像素点的左上角、插值像素点位于指定原始像素点的右下角、插值像素点位于指定原始像素点的右上角、插值像素点位于指定原始像素点的左下角等。

在本实施例中,待处理的插值像素点与指定原始像素点之间的位置关系包括待处理的插值像素点位于指定原始像素点的第一位置区域、待处理的插值像素点位于指定原始像素点的第二位置区域、待处理的插值像素点位于指定原始像素点的第三位置区域等。基于上述图5中插值像素点与指定原始像素点之间的位置关系,在本实施例中,第一位置区域可以为指定原始像素点的左上角,第二位置区域可以为指定原始像素点的右下角,第三位置区域可以为指定原始像素点的右上角或左下角。

本实施例中,针对直角坐标系的两种构建方法,接收端在根据待处理的插值像素点的位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系时,可采用如下两种方式:

第一种方式:如果以放大图像的长为x轴,以放大图像的宽为y轴构建直角坐标系,则可直接根据待处理的插值像素点与指定原始像素点的位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系。

例如,在以放大图像的长为x轴,以放大图像的宽为y轴的直角坐标系中,设定获取到指定原始像素点的位置坐标为(2.3,1.8)。若获取到待处理的插值像素点的位置坐标为(2,2),则根据待处理的插值像素点与指定原始像素点的位置坐标,可确定待处理的插值像素位于指定原始像素点的左上角,即第一位置区域;若获取到待处理的插值像素点的位置坐标为(2.5,2),根据待处理的插值像素点与指定原始像素点的位置坐标,可确定待处理的插值像素点位于指定原始像素点的右上角,即第三位置区域;若获取到待处理的插值像素点的位置坐标为(2,1),根据待处理的插值像素点与指定原始像素点之间的位置坐标,可确定插值像素点位于指定原始像素点左下角,即第三位置区域;若获取到待处理的插值像素点的位置坐标为(2.5,1),根据待处理的插值像素点与指定原始像素点之间的位置坐标,可确定插值像素点位于指定原始像素点的右下角,即第二位置区域。

第二种方式:如果以指定原始像素点为原点构建直角坐标系,则根据待处理的插值像素点在直角坐标系中所处的象限,确定待处理的插值像素点与指定原始像素点之间的位置关系。当待处理的插值像素点位于第一象限,则确定待处理的插值像素点位于指定原始像素点的第三位置区域;当待处理的插值像素点位于第二象限,则确定待处理的插值像素点位于指定原始像素点的第一位置区域;当待处理的插值像素点位于第三象限,则确定待处理的插值像素点位于指定原始像素点的第三位置区域;当待处理的插值像素点位于第四象限,则确定待处理的插值像素点位于指定原始像素点的第二位置区域。

例如,在以指定原始像素点为原点所构建的直角坐标系中,指定原始像素点的位置坐标为(0,0)。若获取到待处理的插值像素点的位置坐标为(-1,1),由于待处理的插值像素点位于第二象限,则可确定待处理的插值像素位于指定原始像素点的左上角,即第一位置区域;若获取到待处理的插值像素点的位置坐标为(1,1),由于待处理的插值像素点位于第一象限,则可确定待处理的插值像素点位于指定原始像素点的右上角,即第三位置区域;若获取到待处理的插值像素点的位置坐标为(-1,-1),由于待处理的插值像素点位于第三象限,则可确定待处理的插值像素点位于指定原始像素点左下角,即第三位置区域;若获取到待处理的插值像素点的位置坐标为(1,-1),由于待处理的插值像素点位于第四象限,则可确定待处理的插值像素点位于指定原始像素点的右下角,即第二位置区域。

404、接收端根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值。

由于位于指定原始像素点不同位置区域内的插值像素点的性质是不同的,因此,为提高待处理的插值像素点像素值的准确性,本实施例提供的方法将根据待处理的插值像素点与指定原始像素点之间的位置关系,采用不同的计算方式计算待处理的插值像素点的实际像素值。具体计算时,可参见步骤4041~4043:

4041、如果待处理的插值像素点位于指定原始像素点的第一位置区域,则接收端采用第一计算方式计算待处理的插值像素点的实际像素值。

4042、如果待处理的插值像素点位于指定原始像素点的第二位置区域,则接收端采用第二计算方式计算待处理的插值像素点的实际像素值。

4043、如果待处理的插值像素点位于指定原始像素点的第三位置区域,则接收端采用第三计算方式计算待处理的插值像素点的实际像素值。

针对4041~4043这三种情况,下面将分别进行介绍。

4041、当待处理的插值像素点位于指定原始像素点的第一位置区域时,接收端可获取与待处理的插值像素点距离最近的原始像素点的像素值,并将该原始像素点的像素值作为待处理的插值像素点的实际像素值。例如,待处理的插值像素点周围有4个原始像素点,分别为原始像素点a、原始像素点b、原始像素点c及原始像素点d,其中,原始像素点a与待处理的插值像素点之间的距离为0.5,原始像素点b与待处理的插值像素点之间的距离为1,原始像素点c与待处理的插值像素点之间的距离为0.25,原始像素点d与待处理的插值像素点之间的距离为1.25,由于原始像素点c与待处理的插值像素点之间的距离最近,因此,接收端可将原始像素点c的像素值作为待处理的插值像素点的实际像素值。

除了采用上述方式外,接收端还可获取与待处理的插值像素点距离最近的两个原始像素点的像素值,并采用双线性插值算法对两个原始像素点的像素值进行插值计算,得到待处理的插值像素点的实际像素值。例如,如果接收端获取到与待处理的插值像素点距离最近的两个原始像素点的像素值分别为124、144,采用双线性插值算法对这两个原始像素点进行插值计算,得到的像素值为130,则可确定待处理的插值像素点的实际像素值为130。

4042、当待处理的插值像素点位于指定原始像素点的第二位置区域时,接收端可采用如下步骤40421~40426计算待处理的插值像素点的实际像素值:

40421、接收端获取待处理的插值像素点的第一边缘方向和第二边缘方向。

为了改善放大图像的质量,提高放大图像的清晰度,本实施例提供的方法在计算差值像素的实际像素值时,考虑了插值像素点与原始像素点的方向,并基于插值像素点与原始像素点之间的方向,选取插值像素点的边缘方向。受限于插值像素点的个数及接收端的数据处理能力,本实施例通常仅选取待处理的插值像素点两个正交的边缘方向,并不会选取待处理的插值像素点的所有边缘方向。

当待处理的插值像素点位于指定原始像素点的第二位置区域上时,待处理的插值像素点位于指定原始像素点的第一边缘方向和第二边缘方向上,本实施例仅计算第一边缘方向和第二边缘方向上的梯度。其中,第一边缘方向可以为30度方向、45度方向等,第二边缘方向与第一边缘方向垂直,可以为120度方向、135度方向等,本实施例以第一边缘方向为45度方向,第二边缘方向为135度方向为例进行说明。

需要说明的是,第一边缘方向为一组与水平方向成45度角的平行线,第二边缘方向为一组与水平方向成135度角的平行线,本实施例将通过待处理的插值像素点的第一边缘方向称为第一边缘方向的主方向,将通过待处理的插值像素点的第二边缘方向称为第二边缘方向的主方向。

40422、接收端以待处理的插值像素点为中心,在放大图像上选取多个原始像素点。

其中,在放大图像上所选取的原始像素点的个数可以为10个、20个、30个等,本实施例以选取16个像素点为宜。在放大图像上选取多个原始像素点后,接收端还将对待处理的插值像素点周围的多个原始像素点按照从上到下、从左到右的顺序依次进行编号。参见图6,灰色球为待处理的插值像素点,黑色球为原始像素点,白色球为插值像素点。接收端按照从上到下、从左到右的顺序对选取的16个原始像素点依次进行编号,分别为0、1、2.....、14、15(以下用p0、p1、p2、…、p15表示)。

基于上述图6所示的多个原始像素点,3号黑色球、6号黑色球、9号黑色球、12号黑色球连线的方向即为第一边缘方向的主方向,0号黑色球、5号黑色球、待处理的插值像素点、10号黑色球、15号黑色球连线的方向即为第二边缘方向的主方向。

40423、接收端根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值。

为使所计算的第一边缘方向和第二边缘方向上的强度值更加准确,接收端在根据多个原始像素点,计算待处理的插值像素点在第一边缘方向上的强度值时,并不仅仅根据位于第一边缘方向的主方向上的原始像素点进行计算,还将根据位于第一边缘方向上的其他原始像素点进行计算;同理,接收端在根据多个原始像素点,计算待处理的插值像素点在第二边缘方向上的强度值时,并不仅仅根据位于第二边缘方向的主方向上的原始像素点进行计算,还将根据位于第二边缘方向上的其他原始像素点进行计算。具体计算过程,可参见下述步骤(a)~(d):

(a)、接收端分别获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值。

其中,第一边缘方向上相邻的两个原始像素点为第一边缘方向上距离最近的两个原始像素点,参见图7,第一边缘方向上相邻两个原始像素点有1号原始像素点和4号原始像素点、2号原始像素点和5号原始像素点、5号原始像素点和8号原始像素点、3号原始像素点和6号原始像素点、6号原始像素点和9号原始像素点、9号原始像素点和12号原始像素点、7号原始像素点和10号原始像素点、10号原始像素点和13号原始像素点、11号原始像素点和14号原始像素点;第二边缘方向上相邻的两个原始像素点为第二边缘方向上距离最近的两个原始像素点,参见图7,第二边缘方向上相邻两个原始像素点有2号原始像素点和7号原始像素点、1号原始像素点和6号原始像素点、6号原始像素点和11号原始像素点、0号原始像素点和5号原始像素点、5号原始像素点和10号原始像素点、10号原始像素点和15号原始像素点、4号原始像素点和9号原始像素点、9号原始像素点和14号原始像素点、8号原始像素点和13号原始像素点。

接收端在获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值时,可基于颜色代码表进行获取。以0号原始像素点为例,如果获取到0号原始像素点的颜色代码为#ffb6c1,则可获知0号原始像素点中红、绿、蓝三个颜色的颜色值分别为255、182、193;如果获取到0号原始像素点的颜色代码为#ffbocb,则可获知0号原始像素点中红、绿、蓝三个颜色的颜色值分别为255、192、203。

(b)、接收端获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值。

当获取到第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值后,接收端通过将第一边缘方向上相邻两个原始像素点的颜色值相减,可得到第一边缘方向上相邻两个原始像素点的颜色值之间的差值,同时接收端通过将第二边缘方向上相邻两个原始像素点的颜色值相减,可得到第二边缘方向上相邻两个原始像素点的颜色值之间的差值。

参见图7,原始像素点1和原始像素点4为第一边缘方向上两个相邻的原始像素点像素,设定原始像素点1的颜色值为(255,240,245),原始像素点4的颜色值为(219,112,147),接收端在获取原始像素点1和原始像素点4的颜色值之间的差值时,可将原始像素点1中红色的颜色值与原始像素点4中红色的颜色值相减,得到255-219=36,将原始像素点1中绿色的颜色值与原始像素点4中绿色的颜色值相减,得到240-112=128,将原始像素点1中蓝色的颜色值与原始像素点4中蓝色的颜色值相减,得到245-147=98,最终可得到原始像素点1和原始像素点4的颜色值之间差值为(36,128,98)。

(c)、接收端获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值。

由于本发明获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间的差值的目的,是为了获取第一边缘方向上和第二边缘方向上相邻两个原始像素点的颜色值的梯度,而在实际计算中第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值可能存在负数的情况,因此,接收端在获取第一边缘方向和第二边缘上相邻两个原始像素点的颜色值之间差值之后,还将获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值。

对于第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,参见图7中左图,其中,原始像素点1和原始像素点4的颜色值之间差值的绝对值为a11,原始像素点2和原始像素点5的颜色值之间差值的绝对值之间为b22,原始像素点5和原始像素点8的颜色值之间差值的绝对值为b21,原始像素点3和原始像素点6的颜色值之间差值的绝对值为c33,原始像素点6和原始像素点9的颜色值之间差值的绝对值为c32,原始像素点9和原始像素点12的颜色值之间差值的绝对值为c31,原始像素点7和原始像素点10的颜色值之间差值的绝对值为d42,原始像素点10和原始像素点13的颜色值之间差值的绝对值为d41,原始像素点11和原始像素点14的颜色值之间差值的绝对值为e51。

对于第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,参见图7中右图,其中,原始像素点2和原始像素点7的颜色值之间差值的绝对值为a1,原始像素点1和原始像素点6的颜色值之间差值的绝对值之间为b2,原始像素点6和原始像素点11的颜色值之间差值的绝对值为b1,原始像素点0和原始像素点5的颜色值之间差值的绝对值为c3,原始像素点5和原始像素点10的颜色值之间差值的绝对值为c2,原始像素点10和原始像素点15的颜色值之间差值的绝对值为c1,原始像素点4和原始像素点9的颜色值之间差值的绝对值为d2,原始像素点9和原始像素点14的颜色值之间差值的绝对值为d1,原始像素点8和原始像素点13的颜色值之间差值的绝对值为e1。

(d)、接收端将第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第一边缘方向上的强度值,并将第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第二边缘方向上的强度值。

基于上述步骤(c)所获取到的第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,接收端将第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第一边缘方向上的强度值。参见图6中的左图,接收端通过将第一边缘方向上相邻两个原始像素点的颜色值之间差值相加,可获取到第一边缘方向上的强度值为:

g1=a11+b21+b22+c31+c32+c33+d41+d42+e51

即待处理的插值像素点在45度方向上的强度值为:

g1=a11+b21+b22+c31+c32+c33+d41+d42+e51。

基于上述步骤(c)所获取到的第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,接收端将第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第二边缘方向上的强度值。参见图6中的右图,通过将第二边缘方向上相邻两个原始像素点的颜色值之间差值相加,可获取到第二边缘方向上的强度值为:

g2=a1+b1+b2+c1+c2+c3+d1+d2+e1

即待处理的插值像素点在135度方向上的强度值为:

g2=a1+b1+b2+c1+c2+c3+d1+d2+e1。

40424、接收端根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向。

其中,第一强边缘方向为强度值变化较小的方向,一般为第一边缘方向的主方向或第二边缘方向的主方向。接收端在根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向时,可采用如下步骤(a)~(b):

(a)、接收端获取第一边缘方向和第二边缘方向上的强度值的比值。

在本实施例中,接收端获取到的第一边缘方向和第二边缘方向上的强度值的比值为:

r1=(1+g1)/(1+g2);

其中,r1为第一边缘方向和第二边缘方向上的强度值的比值,g1为第一边缘方向上的强度值,g2为第二边缘方向上的强度值。

需要说明的是,一般情况下,在获取第一边缘方向和第二边缘方向上的强度值时,可直接将第一边缘方向和第二边缘方向上的强度值作比,而本实施之所以在第一边缘方向和第二边缘方向的强度值上加1,主要时为了防止第一边缘方向上的强度值或第二边缘方向上的强度值为0,导致所获取到的第一边缘方向和第二边缘方向上的强度值的比值为0。

(b)、接收端根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向。

接收端在根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向时,包括但不限于如下几种情况:

如果第一边缘方向和第二边缘方向上强度值的比值大于第一预设阈值,则确定待处理的插值像素点存在第一强边缘方向,且第二边缘方向的主方向为第一强边缘方向;

如果第一边缘方向和第二边缘方向上强度值的比值小于第一预设阈值,则确定待处理的插值像素点存在第一强边缘方向,且第一边缘方向的主方向为第一强边缘方向;

如果第一边缘方向和第二边缘方向上强度值的比值等于第一预设阈值,则确定待处理的插值像素点不存在第一强边缘方向。

其中,第一预设阈值可以为1、1.5、1.7等,本实施例设定第一预设阈值为1.15。

40425、如果待处理的插值像素点存在第一强边缘方向,则接收端从多个原始像素点中,获取位于第一强边缘方向上的原始像素点,对第一强边缘方向上的原始像素点进行插值计算,得到待处理的插值像素点的实际像素值。

基于所确定的第一强边缘方向,接收端将从多个原始像素点中,获取位于第一强边缘方向上的原始像素点,并采用双立方插值函数计算第一强边缘方向上原始像素点对应的插值系数,进而通过对第一强边缘方向上的原始像素点的像素值及对应的插值系数进行加权计算,可得到待处理的插值像素点的实际像素值。其中,双立方插值函数所确定的插值系数可用如下公式(1)表示:

其中,a为相邻两个像素点之间的距离,s为原始像素点与待处理的插值像素点之间的距离。本实施例中设定相邻的两个像素点之间的距离为1/2,也即是a=1/2,则此时双立方插值函数所确定的插值系数可用如下公式(2)表示:

当第一强边缘方向为第一边缘方向的主方向时,参见图7中的左图,第一边缘方向的主方向上的原始像素点为原始像素点3、原始像素点6、原始像素点9、原始像素点12。由图7中的左图可知,原始像素点3与待处理的插值像素点之间的距离s为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到中,可得到原始像素点3对应的插值系数为-1/16;原始像素点6与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的进行计算,此时将s=1/2代入到公式中,可得到原始像素点6对应的插值系数为9/16;由于原始像素点9与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的此时将s=1/2代入到公式中,可得到插值计算时原始像素点9对应的插值系数为9/16;由于原始像素点12与待处理的插值像素点之间距离为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到公式中,可得到原始像素点12对应的插值系数为-1/16。基于所确定的原始像素点3、原始像素点6、原始像素点9、原始像素点12对应的插值系数,接收端可得到待处理的插值像素点的实际像素值为value1=-1/16*p3+9/16*p6+9/16*p9-1/16*p12。

当第一强边缘方向为第二边缘方向的主方向时,参见图7中的右图,第二边缘方向的主方向上的原始像素点为原始像素点0、原始像素点5、原始像素点10、原始像素点15。由图7中的右图可知,原始像素点0与待处理的插值像素点之间的距离s为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到中,可得到原始像素点0对应的插值系数为-1/16;原始像素点5与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的进行计算,此时将s=1/2代入到公式中,可得到原始像素点5对应的插值系数为9/16;由于原始像素点10与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的此时将s=1/2代入到公式中,可得到插值计算时原始像素点10对应的插值系数为9/16;由于原始像素点15与待处理的插值像素点之间距离为3/2,应采用上述公式(2)中的此时将s=3/2代入到公式中,可得到原始像素点15对应的插值系数为-1/16。基于所确定的原始像素点0、原始像素点5、原始像素点10、原始像素点15对应的插值系数,接收端可得到待处理的插值像素点的实际像素值为value2=-1/16*p0+9/16*p5+9/16*p10-1/16*p15。

40426、如果待处理的插值像素点不存在第一强边缘方向,则接收端从多个原始像素点中,获取位于第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点,分别对第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点进行插值计算,获取第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果,对第一边缘方向和第二边缘方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

关于获取位于第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点,以及对第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点进行插值计算的过程,可参见上述步骤40425,此处不再赘述。

基于第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果,接收端通过对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,可得到的待处理的插值像素点的实际像素值为:

p1=(w1*value1+w2*value2)/(w1+w2)

其中,p1为待处理的插值像素点的实际像素值,w1为第一边缘方向的主方向上的插值计算结果对应的权重值,value1为第一边缘方向的主方向上的插值计算结果,w2为第二边缘方向的主方向上的插值计算结果对应的权重值,value2为第二边缘方向的主方向上的插值计算结果,k为指定参数,可通过测试得到,在本实施例中设定k的值为5。

需要说明的是,上述在获取待处理的插值像素点的实际像素值时,在w1、w2的分母上加1是为了防止分母为0。

4043当待处理的插值像素点位于指定原始像素点的第三位置区域时,接收端可采用如下步骤40431~40436计算待处理的插值像素点的实际像素值:

40431、接收端获取待处理的插值像素点的第三边缘方向和第四边缘方向。

由于第三位置区域内指定原始像素点的左下角和右上角,该第三位置区域上的插值像素点互相处于对方的对角线上,因此,为了防止第三位置区域上的插值像素点之间彼此产生依赖关系,当待处理的插值像素点位于指定原始像素点的第三位置区域时,本实施例中仅计算待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值。其中,第三边缘方向可以为0度方向、10度方向等,第四边缘方向与第三边缘方向垂直,可以为90度方向、100度方向等,本实施例以第三边缘方向为0度方向,第四边缘方向为90度方向为例进行说明。

需要说明的是,第三边缘方向为一组与水平方向成0度角的平行线,第四边缘方向为一组与水平方向成90度角的平行线,本实施例将通过待处理的插值像素点的第三边缘方向称为第三边缘方向的主方向,将通过待处理的插值像素点的第四边缘方向称为第四边缘方向的主方向。

40432、接收端以待处理的插值像素点为中心,在放大图像上选取多个像素点,该像素点包括原始像素点和插值像素点。

当待处理的插值像素点位于指定原始像素点的第三位置区域时,接收端以待处理的插值像素点为中心,在放大图像上选取多个像素点时,可采用如下两种方式:

第一种方式、接收端以待处理的插值像素点为中心,在放大图像上选取多个原始像素点,并按照从上到下、从左到右的顺序依次对多个选取的多个原始像素点进行编号,本实施例以选取16个原始像素点为宜。参见图8,灰色小球为待处理的插值像素点,黑色小球为原始像素点,白色小球为插值像素点。按照从上到下、从左到右的顺序对选取的16个原始像素点依次进行编号,分别为0、1、2.....、14、15(以下用p0、p1、p2、…、p15表示)。

第二种方式、接收端以待处理的插值像素点为中心,在放大图像上选取多个原始像素点及插值像素点,并根据计算需求,对选取的多个原始像素点及插值像素点进行编号。

由于第三位置区域包括指定原始像素点的右上角或左下角,当待处理的插值像素点位于第三位置区域的不同位置时,接收端在放大图像上选取多个原始像素点和插值像素点的方式也是不同的。例如,当待处理的插值像素点位于指定原始像素点的右上角时,可采用如图9所示的方式选取像素点,其中,0号像素点、3号像素点、4号像素点、5号像素点、10号像素点、11号像素点、12号像素点、15号像素点为插值像素点,1号像素点、2号像素点、6号像素点、7号像素点、8号像素点、9号像素点、13号像素点、14号像素点为原始像素点;当待处理的插值像素点位于指定原始像素点的左下角时,可采用如图10所示的方式选取像素点,其中,0号像素点、3号像素点、4号像素点、5号像素点、10号像素点、11号像素点、12号像素点、15号像素点为原始像素点,1号像素点、2号像素点、6号像素点、7号像素点、8号像素点、9号像素点、13号像素点、14号像素点为插值像素点。

以图9为例,6号像素点、7号像素点、8号像素点及9号像素点连线的方向为第三边缘方向的主方向,0号像素点、4号像素点、11号像素点及15号像素点连线的方向为第四边缘方向的主方向。

40433、接收端根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值。

基于上述步骤40432所选取的像素点,接收端在确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值时,可采用如下两种方式:

第一种方式、当接收端所选取的像素点全部为原始像素点时,接收端在根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值时,可采用如下步骤(a)~(d):

(a)、接收端分别获取第三边缘方向和第四边缘方向上相邻两个原始像素点的颜色值。

其中,第三边缘方向上相邻的两个原始像素点为第三边缘方向上距离最近的两个原始像素点,参见图11,第三边缘方向上相邻两个原始像素点有1号原始像素点和2号原始像素点、4号原始像素点和5号原始像素点、5号原始像素点和6号原始像素点、6号原始像素点和7号原始像素点、8号原始像素点和9号原始像素点、9号原始像素点和10号原始像素点、10号原始像素点和11号原始像素点、13号原始像素点和14号原始像素点;第四边缘方向上相邻的两个原始像素点为第四边缘方向上距离最近的两个原始像素点,第四边缘方向上相邻两个原始像素点有4号原始像素点和8号原始像素点、1号原始像素点和5号原始像素点、5号原始像素点和9号原始像素点、9号原始像素点和13号原始像素点、2号原始像素点和6号原始像素点、6号原始像素点和10号原始像素点、10号原始像素点和14号原始像素点、7号原始像素点和11号原始像素点。

接收端在获取第三边缘方向和第四边缘方向上相邻两个原始像素点的颜色值时,可基于颜色代码表进行获取。以5号原始像素点为例,如果获取到5号原始点的颜色代码为#ee82eee,则可获知5号原始像素点中红、绿、蓝三个颜色的颜色值分别为238、130、238;如果获取到5号原始像素点的颜色代码为#ff00ff,则可获知1号原始像素点中红、绿、蓝三个颜色的颜色值分别为255、0、255。

(b)、接收端获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值。

当获取到第三边缘方向和第四边缘方向上相邻两个原始像素点的颜色值后,接收端通过将第三边缘方向上相邻两个原始像素点的颜色值相减,可得到第三边缘方向上相邻两个原始像素点的颜色值之间的差值,同时接收端通过将第四边缘方向上相邻两个原始像素点的颜色值相减,可得到第四边缘方向上相邻两个原始像素点的颜色值之间的差值。

参见图11,原始像素点1和原始像素点2为第三边缘方向上两个相邻的原始像素点像素,设定原始像素点1的颜色值为(199,21,133),原始像素点2的颜色值为(218,112,214)。接收端在获取原始像素点1和原始像素点2的颜色值之间的差值时,可将原始像素点1中红色的颜色值与原始像素点2中的红色的颜色值相减,得到199-218=-19,将原始像素点1中绿色的颜色值与原始像素点2中绿色的颜色值相减,得到21-112=-91,将原始像素点1中蓝色的颜色值与原始像素点2中蓝色的颜色值相减,得到133-214=-81,最终可得到原始像素点1和原始像素点2的颜色值之间差值为(-19,-91,-81)。

(c)接收端获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值。

由于本发明获取第三边缘方向和第四边缘方向上相邻两个原始像素值的颜色值之间的差值的目的,是为了获取第三边缘方向上和第四二边缘方向上相邻两个原始像素点的颜色值的梯度,而在实际计算中第三边缘方向和第四边缘方向上相邻两个原始像素点的颜色值可能存在负数的情况,因此,接收端在获取第三边缘方向和第四边缘上相邻两个原始像素点的颜色值之间差值之后,还将获取第三边缘方向和第四边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值。

对于第三边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,参见图11中左图,其中,原始像素点1和原始像素点2的颜色值之间差值的绝对值为a11,原始像素点4和原始像素点5的颜色值之间差值的绝对值之间为b21,原始像素点5和原始像素点6的颜色值之间差值的绝对值为b22,原始像素点6和原始像素点7的颜色值之间差值的绝对值为b23,原始像素点8和原始像素点9的颜色值之间差值的绝对值为c31,原始像素点9和原始像素点10的颜色值之间差值的绝对值为c32,原始像素点10和原始像素点11的颜色值之间差值的绝对值为c33,原始像素点13和原始像素点14的颜色值之间差值的绝对值为d41。

对于第四边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,参见图11中右图,其中,原始像素点7和原始像素点11的颜色值之间差值的绝对值为a1,原始像素点2和原始像素点6的颜色值之间差值的绝对值之间为b1,原始像素点6和原始像素点10的颜色值之间差值的绝对值为b2,原始像素点10和原始像素点14的颜色值之间差值的绝对值为b3,原始像素点1和原始像素点5的颜色值之间差值的绝对值为c1,原始像素点5和原始像素点9的颜色值之间差值的绝对值为c2,原始像素点9和原始像素点13的颜色值之间差值的绝对值为c3,原始像素点4和原始像素点8的颜色值之间差值的绝对值为d1。

(d)、接收端将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第三边缘方向上的强度值,并将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第四边缘方向上的强度值。

基于上述步骤(c)所获取到的第三边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,接收端将第三边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第三边缘方向上的强度值。参见图11中的左图,接收端通过将第三边缘方向上相邻两个原始像素点的颜色值之间差值相加,可获取到第三边缘方向上的强度值为:

g3=a11+b21+b22+b23+c31+c32+d41

即待处理的插值像素点在0度方向上的强度值为:

g3=a11+b21+b22+b23+c31+c32+d41。

基于上述步骤(c)所获取到的第四边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值,接收端将第四边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第四边缘方向上的强度值。参见图11中的右图,通过将第四边缘方向上相邻两个原始像素点的颜色值之间差值相加,可获取到第四边缘方向上的强度值为:

g4=a1+b1+b2+b3+c1+c2+c3+d1;

即待处理的插值像素点在90度方向上的强度值为:

g4=a1+b1+b2+b3+c1+c2+c3+d1。

第二种方式、当接收端所选取的像素点为原始像素点和插值像素点,接收端在根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值时,可采用步骤:(a)~(d):

(a)、接收端分别获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值。

当待处理的插值像素点位于指定原始像素点的右上角时,参见图9,第三边缘方向上相邻的两个像素点为1号原始像素点和2号原始像素点、7号原始像素点和8号原始像素点、13号原始像素点和14号原始像素点、3号插值像素点和4号插值像素点、4号插值像素点和5号插值像素点、10号插值像素点和11号插值像素点、11号插值像素点和12号插值像素点;第四边缘方向上相邻的两个像素点为3号插值像素点和10号插值像素点、4号插值像素点和11号插值像素点、5号插值像素点和121号插值像素点、1号原始像素点和7号原始像素点、7号原始像素点和13号原始像素点、2号原始像素点和8号原始像素点、8号原始像素点和14号原始像素点。

当待处理的插值像素点位于指定原始像素点的左下角时,参见图10,第三边缘方向上相邻两个像素点为1号插值像素点和2号插值像素点、7号插值像素点和8号插值像素点、13号插值像素点和14号插值像素点、3号原始像素点和4号原始像素点、4号原始像素点和5号原始像素点、10号原始像素点和11号原始像素点、11号原始像素点和12号原始像素点;第四边缘方向上相邻两个像素点为3号原始像素点和10号原始像素点、4号原始像素点和11号原始像素点、5号原始像素点和12号原始像素点、1号插值像素点和7号插值像素点、7号插值像素点和13号插值像素点、2号插值像素点和8号插值像素点、8号插值像素点和14号插值像素点。

接收端可根据颜色代码表获取第三边缘方向和第四边缘方向上相邻两个原始像素点和插值像素点的颜色值。以图9中的4号插值像素点为例,如果获取到4号插值像素点的颜色代码#0008b,则可获取到4号插值像素点中红、绿、蓝三个颜色的颜色值分别为0、0、139;如果获取到4号插值像素点的颜色代码#00080,则可获取到4号插值像素点中红、绿、蓝三个颜色的颜色值分别为0、0、128。

(b)、接收端获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值。

当获取到第三边缘方向上相邻两个原始像素点及插值像素点的颜色值后,接收端通过将相邻的两个原始像素点的颜色值相减,并第三边缘方向上相邻的两个插值像素点的颜色值相减,得到第三边缘方向上相邻两个原始像素点和插值像素点的颜色之间的插值,同样当获取到第四边缘方向上相邻两个原始像素点及插值像素点的颜色值后,接收端通过将第四边缘方向上相邻的两个原始像素点的颜色值相减,并将相邻的两个插值像素点的颜色值相减,得到第四边缘方向上相邻两个原始像素点和插值像素点的颜色之间的插值。

参见图10,插值像素点7和插值像素点8为第三边缘方向上相邻的两个插值像素点,设定插值像素点7的颜色值为(0,139,139),插值像素点8的颜色值为(0,128,128)。接收端在获取插值像素点7和插值像素点8的颜色值之间的差值时,可将插值像素点7中红色的颜色值与插值像素点8中红色的颜色值相减,得到0-0=0,将插值像素点7中绿色的颜色值与插值像素点8中绿色的颜色值相减,得到139-128=11,将插值像素点7中蓝色的颜色值与插值像素点8中蓝色的颜色值相加的颜色值相减,得到139-128=11,最终可得到插值像素点7和插值像素点8的颜色值之间差值为(-19,-91,-81)。

(c)、接收端获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值。

由于本发明获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间的差值的目的,是为了获取第三边缘方向上和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值的梯度,而在实际计算中第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值可能存在负数的情况,因此,接收端在获取第三边缘方向和第四边缘上相邻两个原始像素点及插值像素点的颜色值之间差值之后,还将获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值。对于第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值,以图9为例,其中,原始像素点1和原始像素点2的颜色值之间差值的绝对值为|p1-p2|、原始像素点7和原始像素点8的颜色值之间差值的绝对值为|p7-p8|、原始像素点13和原始像素点14的颜色值之间差值的绝对值为|p13-p14|、插值像素点3和插值像素点4的颜色值之间差值的绝对值为|p3-p4|、插值像素点4和插值像素点5的颜色值之间差值的绝对值为|p4-p5|、插值像素点10和插值像素点11的颜色值之间差值的绝对值为|p10-p11|、插值像素点11和插值像素点12的颜色值之间差值的绝对值为|p11-p12|。

对于第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值,仍以图9为例,其中,插值像素点3和插值像素点10的颜色值之间差值的绝对值为|p3-p10|、插值像素点4和插值像素点11的颜色值之间差值的绝对值为|p4-p11|、插值像素点5和插值像素点12的颜色值之间差值的绝对值为|p5-p12|、原始像素点1和原始像素点7的颜色值之间差值的绝对值为|p1-p7|、原始像素点7和原始像素点13的颜色值之间差值的绝对值为|p7-p13|、原始像素点2和原始像素点8的颜色值之间差值的绝对值为|p2-p8|、原始像素点8和原始像素点14的颜色值之间差值的绝对值为|p8-p14|。

(d)、接收端将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第三边缘方向上的强度值,并将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第四边缘方向上的强度值。

基于上述步骤(c)所获取到的第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值,接收端将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第三边缘方向上的强度值。参见图9,接收端通过将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值相加,可获取到第三边缘方向上的强度值g3为:

t1=|p1-p2|+|p7-p8|+|p13-p14|

t2=|p3-p4|+|p4-p5|

t3=|p10-p11|+|p11-p12|

g3=t1+t2+t3=|p1-p2|+|p7-p8|+|p13-p14|+|p3-p4|+|p4-p5|+|p10-p11|+|p11-p12|

即待处理的插值像素点在0度方向上的强度值为:

g3=t1+t2+t3=|p1-p2|+|p7-p8|+|p13-p14|+|p3-p4|+|p4-p5|+|p10-p11|+|p11-p12|。

基于上述步骤(c)所获取到的第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值,接收端将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第四边缘方向上的强度值。参见图9,接收端通过将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值相加,可获取到第四边缘方向上的强度值g4为:

t4=|p3-p10|+|p4-p11|+|p5-p12|

t5=|p1-p7|+|p7-p13|;

t6=|p2-p8|+|p8-p14|;

g4=t4+t5+t6=|p3-p10|+|p4-p11|+|p5-p12|+|p1-p7|+|p7-p13|+|p2-p8|+|p8-p14|。

即待处理的插值像素点在90度方向上的强度值为:

g4=t4+t5+t6=|p3-p10|+|p4-p11|+|p5-p12|+|p1-p7|+|p7-p13|+|p2-p8|+|p8-p14|。

40434、接收端根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向。

其中,第二强边缘方向为强度值变化较小的方向,一般为第三边缘方向的主方向或第四边缘方向的主方向。接收端在根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向时,可采用如下步骤(a)~(b):

(a)、接收端获取第三边缘方向和第四边缘方向上的强度值的比值。

在本实施例中,接收端获取到的第三边缘方向和第四边缘方向上的强度值的比值为:

r2=(1+g3)/(1+g4);

其中,r2为第三边缘方向和第四边缘方向上的强度值的比值,g3为第三边缘方向上的强度值,g4为第四边缘方向上的强度值。

需要说明的是,一般情况下,在获取第三边缘方向和第四边缘方向上的强度值时,可直接将第三边缘方向和第四边缘方向上的强度值作比,而本实施之所以在第三边缘方向和第四边缘方向的强度值上加1,主要时为了防止第三边缘方向上的强度值或第四边缘方向上的强度值为0,导致所获取到的第三边缘方向和第四边缘方向上的强度值的比值为0。

(b)、接收端根据第三边缘方向和第四边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第二强边缘方向。

接收端在根据第三边缘方向和第四边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第二强边缘方向时,包括但不限于:

如果第三边缘方向和第四边缘方向上强度值的比值大于第二预设阈值,则确定待处理的插值像素点存在第二强边缘方向,且第四边缘方向的主方向为第二强边缘方向;

如果第三边缘方向和第四边缘方向上强度值的比值小于第二预设阈值,则确定待处理的插值像素点存在第二强边缘方向,且第三边缘方向的主方向为第二强边缘方向;

如果第三边缘方向和第四边缘方向上强度值的比值等于第二预设阈值,则确定待处理的插值像素点不存在第二强边缘方向。

其中,第二预设阈值可以为1、1.5、1.7等,本实施例设定第二预设阈值为1.15。

40435、如果待处理的插值像素点存在第二强边缘方向,则接收端根据多个的像素点,获取第二强边缘方向上的像素点,对第二强边缘方向上的像素点进行插值计算,得到待处理的插值像素点的实际像素值。

基于所确定了第二强边缘方向,接收端先从多个像素点中,获取位于第二强边缘方向上的像素值。具体获取时,如果第二强边缘方向上存在原始像素点,则接收端可直接获取第二强边缘方向上的像素点;如果第二强边缘方向上不存在原始像素点,则接收端获取第二强边缘方向上的插值像素点,该插值像素点可以为接收端所选取的多个像素点中的插值像素点,还可以为接收端采用双线性插值算法对待处理的插值像素点邻近的原始像素点进行插值计算所得到的。

参见图8,接收端在以待处理的插值像素点为中心选取多个像素点时,所选取的多个像素点均为原始像素点,当第二强边缘方向为第三边缘方向时接收端由于第二强边缘方向上存在原始像素点为原始像素点4、原始像素点为5、原始像素点6、原始像素点7,因此,接收端可将原始像素点4、原始像素点5、原始像素点6、原始像素点7作为第二强边缘方向上的像素点;当第二强边缘方向为第四边缘方向时,接收端将采用双线性插值算法对待处理的插值像素点周围的原始像素点进行插值计算,例如,可对原始像素点1和原始像素点2进行插值计算,得到插值像素点1`,将原始像素点5和原始像素点6进行线性插值计算,得到插值像素点2`,将原始像素点9和原始像素点10进行插值计算,得到插值像素点3`,将原始像素点13和原始像素点14进行插值计算,得到插值像素点4`,进而将插值像素点1`、插值像素点2`、将插值像素点3`、将插值像素点4`作为获取到的第二强边缘方向上的像素点。

参见图9,接收端在以插值像素点为中心选取多个像素点时,所选取的多个像素点为原始像素点和插值像素点,当第二强边缘方向为第三边缘方向时,由于第二强边缘方向上存在原始像素点6、原始像素点7、原始像素点8、原始像素点9,因此,接收端可将原始像素点6、原始像素点7、原始像素点8、原始像素点9作为第二强边缘方向上的像素点;当第二强边缘方向为第四边缘方向时,由于第四边缘方向上不存在原始像素点,因此,接收端可将插值像素点0、插值像素点4、插值像素点11、插值像素点15作为第二强边缘方向上的像素点。

参见图10,接收端在以插值像素点为中心选取多个像素点时,所选取的多个像素点为原始像素点和插值像素点,当第二强边缘方向为第三边缘方向时,由于第二强边缘方向上不存在原始像素点,因此,接收端可将插值像素点6、插值像素点7、插值像素点8、插值像素点9作为第二强边缘方向上的像素点;当第二强边缘方向为第四边缘方向时,由于第二强边缘方向上存在原始像素点0、原始像素点4、原始像素点11、原始像素点15,因此,接收端将原始像素点0、原始像素点4、原始像素点11、原始像素点15作为第二强边缘方向上的像素点。

基于所确定的第二强边缘方向上的像素点,接收端将采用双立方插值函数计算第二强边缘方向上原始像素点对应的插值系数,进而通过对第二强边缘方向上的原始像素点的像素值或插值像素点的像素值及对应的插值系数进行加权计算,可得到待处理的插值像素点的实际像素值。其中,双立方插值函数所确定的插值系数可用上述公式(1)表示:

其中,a为两个相邻原始像素点或插值像素点之间的距离,s为原始像素点或插值像素点与待处理的插值像素点之间的距离。本实施例中设定相邻的两个像素点或插值像素点与待处理的插值像素点之间的距离为1/2,也即是a=1/2,则此时双立方插值函数所确定的插值系数可用如下公式(2)表示:

当第二强边缘方向为第三边缘方向的主方向时,参见图9,第三边缘方向的主方向上的像素点原始像素点6、原始像素点7、原始像素点8、原始像素点9.由图8可知,原始像素点6与待处理的插值像素点之间的距离为3/2,原始像素点7与待处理的插值像素点之间的距离为1/2,原始像素点8与待处理的插值像素点之间的距离为1/2,原始像素点9与待处理的插值像素点之间的距离为3/2。由于原始像素点6与待处理的插值像素点之间的距离为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到中,可得到原始像素点6对应的插值系数为-1/16;由于原始像素点7与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的进行计算,此时将s=1/2代入到公式中,可得到原始像素点7对应的插值系数为9/16;由于原始像素点8与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的进行计算,此时将s=1/2代入到公式中,可得到原始像素点8对应的插值系数为9/16;由于原始像素点9与待处理的插值像素点之间的距离为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到公式中可得到原始像素点9对应的插值系数为-1/16。基于所确定的第二强边缘方向上的原始像素点6、原始像素点7、原始像素点8、原始像素点9及对应的插值系数,接收端可获取到待处理的插值像素点的实际像素值为value3=-1/16*p6+9/16*p7+9/16*p8-1/16*p9。

当第二强边缘方向为第四边缘方向的主方向时,插值像素点0与待处理的插值像素点之间的距离为3/2,插值像素点4与待处理的插值像素点之间的距离为1/2,插值像素点11与待处理的插值像素点之间的距离为1/2,插值像素点15与待处理的插值像素点之间的距离为3/2。由于插值像素点0与待处理的插值像素点之间的距离为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到中,可得到插值像素点0对应的插值系数为-1/16;由于插值像素点4与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的进行计算,此时将s=1/2代入到公式中,可得到插值像素点4对应的插值系数为9/16;由于插值像素点11与待处理的插值像素点之间距离为1/2,应采用上述公式(2)中的进行计算,此时将s=1/2代入到公式中,可得到插值像素点11对应的插值系数为9/16;由于插值像素点15与待处理的插值像素点之间的距离为3/2,应采用上述公式(2)中的进行计算,此时将s=3/2代入到公式中可得到插值像素点15对应的插值系数为-1/16。基于所确定的第二强边缘方向上的插值像素点0、插值像素点4、插值像素点11、插值像素点15及对应的系数,接收端可获取到待处理的插值像素点的实际像素值为value4=-1/16*p0+9/16*p4+9/16*p11-1/16*p15。

当待处理的插值像素点位于指定原始像素点的左下角时,接收端在获取待第二强边缘方向上的各个像素点对应的插值系数的方式与当待处理的插值像素点位于指定原始像素点的右上角的时,接收端获取第二强边缘方向上各个像素点对应的系数的方式相同,此处不再赘述。

40436、如果待处理的插值像素点不存在第二强边缘方向,则接收端根据多个的像素点,获取第三边缘方向的主方向和第四边缘方向的主方向上的像素点,分别对第三边缘方向的主方向和第四边缘方向的主方向上的像素点进行插值计算,获取第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果,对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

关于获取位于第三边缘方向的主方向和第四边缘方向的主方向上的像素点,以及对第一边缘方向的主方向和第二边缘方向的主方向上的像素点进行插值计算的过程,可参见上述步骤40435,此处不再赘述。

基于第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果,接收端通过对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,可得到的待处理的插值像素点的实际像素值为:

p2=(w3*value3+w4*value4)/(w3+w4)

其中,p2为待处理的插值像素点的实际像素值,w3为第三边缘方向的主方向上的插值计算结果对应的权重值,value3为第三边缘方向的主方向上的插值计算结果,w4为第四边缘方向的主方向上的插值计算结果对应的权重值,value4为第四边缘方向的主方向上的插值计算结果,k为指定参数,可通过测试得到,在本实施例中设定k的值为5。

需要说明的是,上述以第一边缘方向为45度方向、第二边缘方向为135度方向、第三边缘方向为0度方向、第四边缘方向为90度方向为例进行说明的,在实际应用中,第一边缘方向、第二边缘方向、第三边缘方向、第四边缘方向还可以为其他方向,如果第一边缘方向、第二边缘方向、第三边缘方向、第四边缘方向为其他方向时,接收端在获取第一边缘方向、第二边缘方向、第三边缘方向、第四边缘方向上的强度值时,可基于本实施例中所获取到的0度方向、45度方向、90度方向、135度边缘方向上的强度值进行计算。

另外,本实施例提供的方法以将原始图像放大2倍,并在放大2倍图像上任意选取一个插值像素点,计算该插值像素点的像素值为例进行说明的,在实际应用中,本实施例提供的方法还适用于计算4倍放大图像、8倍放大图像等放大图像上任一插值像素点的实际像素值,具体的计算原理与对2倍放大图像上任一插值像素点的计算方式相同,此处在再赘述。

参见图12,图12为网络视频聊天中的放大增强算法框架流程图,设定接收端需要将图像放大2倍,则接收端在接收到视频数据之后,在自身的操作系统中输入放大比率2.0,并在放大图像上任意选取一个待处理的插值像素点(i,j),进而根据该待处理的插值像素点的与指定原始像素点的位置关系,采用不同的方式计算该待处理的插值像素点的实际像素值。如果该待处理的插值像素点位于指定原始像素点的左上角,则在该待处理的插值像素点周围选取与该待处理的插值像素点距离的原始像素点,并将与该待处理的插值像素点距离最近的原始像素点的像素值作为该待处理的插值像素点的实际像素值;如果该待处理的插值像素点位于指定原始像素点的右下角,则采用第二计算方式计算该待处理的插值像素点的实际像素值;如果该待处理的插值像素点位于指定原始像素点的右上角或左下角,则采用第三计算方式计算该待处理的插值像素点的实际像素值。最后,通过对2倍放大图像进行锐化增强,将放大后的图像在显示屏幕上显示出来。

参见图13,图13为网络视频聊天中的放大增强算法框架流程图,设定接收端需要将图像放大2倍,则接收端在接收到视频数据之后,在自身的操作系统中输入放大比率2.0,并在放大图像上任意选取一个待处理的插值像素点(i,j),进而根据该待处理的插值像素点的与指定原始像素点的位置关系,采用不同的方式计算该待处理的插值像素点的实际像素值。如果该待处理的插值像素点位于指定原始像素点的左上角,则采用双线性插值算法计算该待处理的插值像素点的实际像素值;如果该待处理的插值像素点位于指定原始像素点的右下角,则采用第二计算方式计算该待处理的插值像素点的实际像素值;如果该待处理的插值像素点位于指定原始像素点的右上角或左下角,则采用第三计算方式计算该待处理的插值像素点的实际像素值。最后,通过对2倍放大图像进行锐化增强,将放大后的图像在显示屏幕上显示出来。

为了直观地展示采用本实施例提供的方法处理后的图像与现有技术处理后的图像质量之间的区别,下面将通过一些图像进行对比。

图14为采用现有技术及本发明实施例提供的方法处理后的图像,其中,图14中的左图为采用现有技术处理后的图像,图14中的右图为采用本实施例提供的方法处理后的图像,通过对比图14中的左图和图14中的右图,可以发现采用本实施例提供的方法可明显提高图像的质量,处理后的图像更清晰。

图15显示的是采用本实施例提供的方法处理后的图像,图16为采用photozoom使用s-splinemax算法放大后的图像,图17为采用gimp软件当中的双立方插值算法放大后的图像。通过对比图15、图16、图17可以看出:图15与图16中的锯齿较少,也即是采用本实施例提供的方法处理后的图像与采用photozoom处理后的图像效果相接近;图17中的锯齿明显多于图15中的锯齿,说明本实施例提供的放大处理后的图像质量明显强于现有技术。

图18为进行放大处理前的原图,图19为采用本实施例提供的方法处理后的图像,图20为采用photozoom处理后的图像,图21为采用双立方插值算法处理后的图像。通过对比图18、图19、图20、图21可知,图19和图20几乎没有锯齿,图像质量较佳,图21的锯齿较为明显。

通过上述对比可以看出,采用本实施例提供的方法处理后的图像质量较佳,不仅能够较少放大图像上的锯齿,而且能够提高图像的清晰度。

本发明实施例提供的方法,在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

参见图22,本发明实施例提供了一种图像处理装置的结构示意图,该装置包括:

获取模块2201,用于获取放大图像上任一待处理的插值像素点的位置坐标,待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点;

确定模块2202,用于根据位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系;

计算模块2203,用于根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值;

其中,不同位置关系对应于不同计算方式。

在发明的另一个实施例中,计算模块2203,包括:

第一计算单元,用于当待处理的插值像素点位于指定原始像素点的第一位置区域时,采用第一计算方式计算待处理的插值像素点的实际像素值;

第二计算单元,用于当待处理的插值像素点位于指定原始像素点的第二位置区域时,采用第二计算方式计算待处理的插值像素点的实际像素值;

第三计算单元,用于当待处理的插值像素点位于指定原始像素点的第三位置区域时,采用第三计算方式计算待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,第一计算单元,用于获取与待处理的插值像素点距离最近的原始像素点的像素值,将原始像素点的像素值作为待处理的插值像素点的实际像素值;或;

第一计算单元,用于获取与待处理的插值像素点距离最近的两个原始像素点的像素值,采用双线性插值算法对两个原始像素点的像素值进行插值计算,得到待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,第二计算单元,用于获取待处理的插值像素点的第一边缘方向和第二边缘方向;以待处理的插值像素点为中心,在放大图像上选取多个原始像素点;根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值;根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向;当待处理的插值像素点存在第一强边缘方向时,从多个原始像素点中,获取位于第一强边缘方向上的原始像素点,对第一强边缘方向上的原始像素点进行插值计算,得到待处理的插值像素点的实际像素值;当待处理的插值像素点不存在第一强边缘方向时,从多个原始像素点中,获取位于第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点,分别对第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点进行插值计算,获取第一边缘方向和第二边缘方向的主方向上的插值计算结果,对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,第二计算单元,用于分别获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值;获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值;获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值;将第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第一边缘方向上的强度值,并将第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第二边缘方向上的强度值。

在本发明的另一个实施例中,第二计算单元,用于获取第一边缘方向和第二边缘方向上的强度值的比值;根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向。

在本发明的另一个实施例中,第二计算单元获取到的第一边缘方向和第二边缘方向上的强度值的比值为:

r1=(1+g1)/(1+g2);

其中,r1为第一边缘方向和第二边缘方向上的强度值的比值,g1为第一边缘方向上的强度值,g2为第二边缘方向上的强度值。

在本发明的另一个实施例中,第二计算单元,用于当第一边缘方向和第二边缘方向上的强度值的比值不等于第一预设阈值时,确定待处理的插值像素点存在第一强边缘方向;当第一边缘方向和第二边缘方向上的强度值的比值等于第一预设阈值时,确定待处理的插值像素点不存在第一强边缘方向。

在本发明的另一个实施例中,第二计算单元对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p1=(w1*value1+w2*value2)/(w1+w2);

其中,p1为待处理的插值像素点的实际像素值,w1为第一边缘方向的主方向上的插值计算结果对应的权重值,value1为第一边缘方向的主方向上的插值计算结果,w2为第二边缘方向的主方向上的插值计算结果对应的权重值,value2为第二边缘方向的主方向上的插值计算结果,k为指定参数。

在本发明的另一个实施例中,第三计算单元,用于获取待处理的插值像素点的第三边缘方向和第四边缘方向;以待处理的插值像素点为中心,在放大图像上选取多个像素点,像素点包括原始像素点和插值像素点;根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值;根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向;当待处理的插值像素点存在第二强边缘方向时,根据多个像素点,获取第二强边缘方向上的像素点,对第二强边缘方向上的像素点进行插值计算,得到待处理的插值像素点的实际像素值;当待处理的插值像素点不存在第二强边缘方向时,根据多像素点,获取第三边缘方向的主方向和第四边缘方向的主方向上的像素点,分别对第三边缘方向的主方向和第四边缘方向的主方向上的像素点进行插值计算,获取第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果,对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

在本发明的另一个实施例中,第三计算单元,用于分别获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值;获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值;获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值;将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第三边缘方向上的强度值,并将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间差值的绝对值之和作为第四边缘方向上的强度值。

在本发明的另一个实施例中,第三计算单元,用于获取第三边缘方向和第四边缘方向上的强度值的比值;根据第三边缘方向和第四边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第二强边缘方向。

在本发明的另一个实施例中,第三计算单元获取到的第三边缘方向和第四边缘方向上的强度值的比值为:

r2=(1+g3)/(1+g4);

其中,r2为第三边缘方向和第四边缘方向上的强度值的比值,g3为第三边缘方向上的强度值,g4为第四边缘方向上的强度值。

在本发明的另一个实施例中,第三计算单元,用于当第三边缘方向和第四边缘方向上的强度值的比值不等于第二预设阈值时,确定待处理的插值像素点存在第二强边缘方向;当第三边缘方向和第四边缘方向上的强度值的比值等于第二预设阈值时,确定待处理的插值像素点不存在第二强边缘方向。

在本发明的另一个实施例中,第三计算单元,用于当多个像素点在第二强边缘方向上存在原始像素点时,获取第二强边缘方向上的原始像素点;当多个像素点在第二强边缘方向上不存在原始像素点时,获取第二强边缘方向上的插值像素点。

在本发明的另一个实施例中,第三计算单元对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p2=(w3*value3+w4*value4)/(w3+w4);

其中,p2为待处理的插值像素点的实际像素值,w3为第三边缘方向的主方向上的插值计算结果对应的权重值,value3为第三边缘方向的主方向上的插值计算结果,w4为第四边缘方向的主方向上的插值计算结果对应的权重值,value4为第四边缘方向的主方向上的插值计算结果,k为指定参数。

在本发明的另一个实施例中,第一位置区域为指定原始像素点的左上角,第二位置区域为指定原始像素点的右下角,第三位置区域为指定原始像素点的右上角或左下角。

在本发明的另一个实施例中,第一边缘方向为45度方向,第二边缘方向为135度方向,第三边缘方向为0度方向,第四边缘方向为90度方向。

综上所述,本发明实施例提供的装置,在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

参见图23,其示出了本发明实施例所涉及的图像处理终端的结构示意图,该终端可以用于实施上述实施例中提供的图像处理方法。具体来讲:

终端2300可以包括rf(radiofrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、wifi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图23中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

rf电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,rf电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。此外,rf电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端2300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端2300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图23中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端2300还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端2300移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端2300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端2300之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经rf电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端2300的通信。

wifi属于短距离无线传输技术,终端2300通过wifi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图23示出了wifi模块170,但是可以理解的是,其并不属于终端2300的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是终端2300的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端2300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;可选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端2300还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端2300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端2300的显示单元是触摸屏显示器,终端2300还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行以下操作的指令:

获取放大图像上任一待处理的插值像素点的位置坐标,待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点;

根据位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系;

根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值;

其中,不同位置关系对应于不同计算方式。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值,包括:

如果待处理的插值像素点位于指定原始像素点的第一位置区域,则采用第一计算方式计算待处理的插值像素点的实际像素值;

如果待处理的插值像素点位于指定原始像素点的第二位置区域,则采用第二计算方式计算待处理的插值像素点的实际像素值;

如果待处理的插值像素点位于指定原始像素点的第三位置区域,则采用第三计算方式计算待处理的插值像素点的实际像素值。

假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

如果待处理的插值像素点位于指定原始像素点的第一位置区域,则采用第一计算方式计算待处理的插值像素点的实际像素值,包括:

获取与待处理的插值像素点距离最近的原始像素点的像素值,将原始像素点的像素值作为待处理的插值像素点的实际像素值;或;

获取与待处理的插值像素点距离最近的两个原始像素点的像素值,采用双线性插值算法对两个原始像素点的像素值进行插值计算,得到待处理的插值像素点的实际像素值。

假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

如果待处理的插值像素点位于指定原始像素点的第二位置区域,则采用第二计算方式计算待处理的插值像素点的实际像素值,包括:

获取待处理的插值像素点的第一边缘方向和第二边缘方向;

以待处理的插值像素点为中心,在放大图像上选取多个原始像素点;

根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值;

根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向;

如果待处理的插值像素点存在第一强边缘方向,则从多个原始像素点中,获取位于第一强边缘方向上的原始像素点,对第一强边缘方向上的原始像素点进行插值计算,得到待处理的插值像素点的实际像素值;

如果待处理的插值像素点不存在第一强边缘方向,则从多个原始像素点中,获取位于第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点,分别对第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点进行插值计算,获取第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果,对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

假设上述为第四种可能的实施方式,则在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,包括:

分别获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值;

获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值;

获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值;

将第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第一边缘方向上的强度值,并将第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第二边缘方向上的强度值。

假设上述为第五种可能的实施方式,则在第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向,包括:

获取第一边缘方向和第二边缘方向上的强度值的比值;

根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向。

假设上述为第六种可能的实施方式,则在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

获取到的第一边缘方向和第二边缘方向上的强度值的比值为:

r1=(1+g1)/(1+g2);

其中,r1为第一边缘方向和第二边缘方向上的强度值的比值,g1为第一边缘方向上的强度值,g2为第二边缘方向上的强度值。

假设上述为第七种可能的实施方式,则在第七种可能的实施方式作为基础而提供的第八种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向,包括:

如果第一边缘方向和第二边缘方向上的强度值的比值不等于第一预设阈值,则确定待处理的插值像素点存在第一强边缘方向;

如果第一边缘方向和第二边缘方向上的强度值的比值等于第一预设阈值,则确定待处理的插值像素点不存在第一强边缘方向。

假设上述为第八种可能的实施方式,则在第八种可能的实施方式作为基础而提供的第九种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p1=(w1*value1+w2*value2)/(w1+w2);

其中,p1为待处理的插值像素点的实际像素值,w1为第一边缘方向的主方向上的插值计算结果对应的权重值,value1为第一边缘方向的主方向上的插值计算结果,w2为第二边缘方向的主方向上的插值计算结果对应的权重值,value2为第二边缘方向的主方向上的插值计算结果,k为指定参数。

假设上述为第九种可能的实施方式,则在第九种可能的实施方式作为基础而提供的第十种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

待处理的插值像素点位于指定原始像素点的第三位置区域,则采用第三计算方式计算待处理的插值像素点的实际像素值,包括:

获取待处理的插值像素点的第三边缘方向和第四边缘方向;

以待处理的插值像素点为中心,在放大图像上选取多个像素点,像素点包括原始像素点和插值像素点;

根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值;

根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向;

如果待处理的插值像素点存在第二强边缘方向,则根据多个像素点,获取第二强边缘方向上的像素点,对第二强边缘方向上的像素点进行插值计算,得到待处理的插值像素点的实际像素值;

如果待处理的插值像素点不存在第二强边缘方向,则根据多像素点,获取第三边缘方向的主方向和第四边缘方向的主方向上的像素点,分别对第三边缘方向的主方向和第四边缘方向的主方向上的像素点进行插值计算,获取第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果,对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

假设上述为第十种可能的实施方式,则在第十种可能的实施方式作为基础而提供的第十一种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,包括:

分别获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值;

获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值;

获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值;

将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值之和作为第三边缘方向上的强度值,并将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值之和作为第四边缘方向上的强度值。

假设上述为第十一种可能的实施方式,则在第十一种可能的实施方式作为基础而提供的第十二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向,包括:

获取第三边缘方向和第四边缘方向上的强度值的比值;

根据第三边缘方向和第四边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第二强边缘方向。

假设上述为第十二种可能的实施方式,则在第十二种可能的实施方式作为基础而提供的第十三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

获取到的第三边缘方向和第四边缘方向上的强度值的比值为:

r2=(1+g3)/(1+g4);

其中,r2为第三边缘方向和第四边缘方向上的强度值的比值,g3为第三边缘方向上的强度值,g4为第四边缘方向上的强度值。

假设上述为第十三种可能的实施方式,则在第十三种可能的实施方式作为基础而提供的第十四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据第三边缘方向和第四边缘方向上的强度值的比值,确定待处理的插值像素点是否存在第二强边缘方向,包括:

如果第三边缘方向和第四边缘方向上的强度值的比值不等于第二预设阈值,则确定待处理的插值像素点存在第二强边缘方向;

如果比值等于第二预设阈值,则确定待处理的插值像素点不存在第二强边缘方向。

假设上述为第十四种可能的实施方式,则在第十四种可能的实施方式作为基础而提供的第十五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据多个像素点,获取第二强边缘方向上的像素点,包括:

如果多个像素点在第二强边缘方向上存在原始像素点,则获取第二强边缘方向上的原始像素点;

如果多个像素点在第二强边缘方向上不存在原始像素点,则获取第二强边缘方向上的插值像素点。

假设上述为第十五种可能的实施方式,则在第十五种可能的实施方式作为基础而提供的第十六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p2=(w3*value3+w4*value4)/(w3+w4);

其中,p2为待处理的插值像素点的实际像素值,w3为第三边缘方向的主方向上的插值计算结果对应的权重值,value3为第三边缘方向的主方向上的插值计算结果,w4为第四边缘方向的主方向上的插值计算结果对应的权重值,value4为第四边缘方向的主方向上的插值计算结果,k为指定参数。

假设上述为第十六种可能的实施方式,则在第十六种可能的实施方式作为基础而提供的第十七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

第一位置区域为指定原始像素点的左上角,第二位置区域为指定原始像素点的右下角,第三位置区域为指定原始像素点的右上角或左下角。

假设上述为第十七种可能的实施方式,则在第十七种可能的实施方式作为基础而提供的第十八种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

第一边缘方向为45度方向,第二边缘方向为135度方向,第三边缘方向为0度方向,第四边缘方向为90度方向。

本发明实施例提供的终端,在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行图像处理方法,该方法包括:

获取放大图像上任一待处理的插值像素点的位置坐标,待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点;

根据位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系;

根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值;

其中,不同位置关系对应于不同计算方式。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值,包括:

如果待处理的插值像素点位于指定原始像素点的第一位置区域,则采用第一计算方式计算待处理的插值像素点的实际像素值;

如果待处理的插值像素点位于指定原始像素点的第二位置区域,则采用第二计算方式计算待处理的插值像素点的实际像素值;

如果待处理的插值像素点位于指定原始像素点的第三位置区域,则采用第三计算方式计算待处理的插值像素点的实际像素值。

假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

如果待处理的插值像素点位于指定原始像素点的第一位置区域,则采用第一计算方式计算待处理的插值像素点的实际像素值,包括:

获取与待处理的插值像素点距离最近的原始像素点的像素值,将原始像素点的像素值作为待处理的插值像素点的实际像素值;或;

获取与待处理的插值像素点距离最近的两个原始像素点的像素值,采用双线性插值算法对两个原始像素点的像素值进行插值计算,得到待处理的插值像素点的实际像素值。

假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

如果待处理的插值像素点位于指定原始像素点的第二位置区域,则采用第二计算方式计算待处理的插值像素点的实际像素值,包括:

获取待处理的插值像素点的第一边缘方向和第二边缘方向;

以待处理的插值像素点为中心,在放大图像上选取多个原始像素点;

根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值;

根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向;

如果待处理的插值像素点存在第一强边缘方向,则从多个原始像素点中,获取位于第一强边缘方向上的原始像素点,对第一强边缘方向上的原始像素点进行插值计算,得到待处理的插值像素点的实际像素值;

如果待处理的插值像素点不存在第一强边缘方向,则从多个原始像素点中,获取位于第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点,分别对第一边缘方向的主方向和第二边缘方向的主方向上的原始像素点进行插值计算,获取第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果,对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

假设上述为第四种可能的实施方式,则在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据多个原始像素点,确定待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,包括:

分别获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值;

获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值;

获取第一边缘方向和第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值;

将第一边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第一边缘方向上的强度值,并将第二边缘方向上相邻两个原始像素点的颜色值之间差值的绝对值之和作为第二边缘方向上的强度值。

假设上述为第五种可能的实施方式,则在第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据待处理的插值像素点在第一边缘方向和第二边缘方向上的强度值,判断待处理的插值像素点是否存在第一强边缘方向,包括:

获取第一边缘方向和第二边缘方向上的强度值的比值;

根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向。

假设上述为第六种可能的实施方式,则在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

获取到的第一边缘方向和第二边缘方向上的强度值的比值为:

r1=(1+g1)/(1+g2);

其中,r1为第一边缘方向和第二边缘方向上的强度值的比值,g1为第一边缘方向上的强度值,g2为第二边缘方向上的强度值。

假设上述为第七种可能的实施方式,则在第七种可能的实施方式作为基础而提供的第八种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据第一边缘方向和第二边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第一强边缘方向,包括:

如果第一边缘方向和第二边缘方向上的强度值的比值不等于第一预设阈值,则确定待处理的插值像素点存在第一强边缘方向;

如果第一边缘方向和第二边缘方向上的强度值的比值等于第一预设阈值,则确定待处理的插值像素点不存在第一强边缘方向。

假设上述为第八种可能的实施方式,则在第八种可能的实施方式作为基础而提供的第九种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

对第一边缘方向的主方向和第二边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p1=(w1*value1+w2*value2)/(w1+w2);

其中,p1为待处理的插值像素点的实际像素值,w1为第一边缘方向的主方向上的插值计算结果对应的权重值,value1为第一边缘方向的主方向上的插值计算结果,w2为第二边缘方向的主方向上的插值计算结果对应的权重值,value2为第二边缘方向的主方向上的插值计算结果,k为指定参数。

假设上述为第九种可能的实施方式,则在第九种可能的实施方式作为基础而提供的第十种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

待处理的插值像素点位于指定原始像素点的第三位置区域,则采用第三计算方式计算待处理的插值像素点的实际像素值,包括:

获取待处理的插值像素点的第三边缘方向和第四边缘方向;

以待处理的插值像素点为中心,在放大图像上选取多个像素点,像素点包括原始像素点和插值像素点;

根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值;

根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向;

如果待处理的插值像素点存在第二强边缘方向,则根据多个像素点,获取第二强边缘方向上的像素点,对第二强边缘方向上的像素点进行插值计算,得到待处理的插值像素点的实际像素值;

如果待处理的插值像素点不存在第二强边缘方向,则根据多像素点,获取第三边缘方向的主方向和第四边缘方向的主方向上的像素点,分别对第三边缘方向的主方向和第四边缘方向的主方向上的像素点进行插值计算,获取第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果,对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到待处理的插值像素点的实际像素值。

假设上述为第十种可能的实施方式,则在第十种可能的实施方式作为基础而提供的第十一种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据多个像素点,确定待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,包括:

分别获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值;

获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值;

获取第三边缘方向和第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值;

将第三边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值之和作为第三边缘方向上的强度值,并将第四边缘方向上相邻两个原始像素点及插值像素点的颜色值之间插值的绝对值之和作为第四边缘方向上的强度值。

假设上述为第十一种可能的实施方式,则在第十一种可能的实施方式作为基础而提供的第十二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据待处理的插值像素点在第三边缘方向和第四边缘方向上的强度值,判断待处理的插值像素点是否存在第二强边缘方向,包括:

获取第三边缘方向和第四边缘方向上的强度值的比值;

根据第三边缘方向和第四边缘方向上的强度值的比值,判断待处理的插值像素点是否存在第二强边缘方向。

假设上述为第十二种可能的实施方式,则在第十二种可能的实施方式作为基础而提供的第十三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

获取到的第三边缘方向和第四边缘方向上的强度值的比值为:

r2=(1+g3)/(1+g4);

其中,r2为第三边缘方向和第四边缘方向上的强度值的比值,g3为第三边缘方向上的强度值,g4为第四边缘方向上的强度值。

假设上述为第十三种可能的实施方式,则在第十三种可能的实施方式作为基础而提供的第十四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据第三边缘方向和第四边缘方向上的强度值的比值,确定待处理的插值像素点是否存在第二强边缘方向,包括:

如果第三边缘方向和第四边缘方向上的强度值的比值不等于第二预设阈值,则确定待处理的插值像素点存在第二强边缘方向;

如果比值等于第二预设阈值,则确定待处理的插值像素点不存在第二强边缘方向。

假设上述为第十四种可能的实施方式,则在第十四种可能的实施方式作为基础而提供的第十五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

根据多个像素点,获取第二强边缘方向上的像素点,包括:

如果多个像素点在第二强边缘方向上存在原始像素点,则获取第二强边缘方向上的原始像素点;

如果多个像素点在第二强边缘方向上不存在原始像素点,则获取第二强边缘方向上的插值像素点。

假设上述为第十五种可能的实施方式,则在第十五种可能的实施方式作为基础而提供的第十六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

对第三边缘方向的主方向和第四边缘方向的主方向上的插值计算结果进行加权运算,得到的待处理的插值像素点的实际像素值为:

p2=(w3*value3+w4*value4)/(w3+w4);

其中,p2为待处理的插值像素点的实际像素值,w3为第三边缘方向的主方向上的插值计算结果对应的权重值,value3为第三边缘方向的主方向上的插值计算结果,w4为第四边缘方向的主方向上的插值计算结果对应的权重值,value4为第四边缘方向的主方向上的插值计算结果,k为指定参数。

假设上述为第十六种可能的实施方式,则在第十六种可能的实施方式作为基础而提供的第十七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

第一位置区域为指定原始像素点的左上角,第二位置区域为指定原始像素点的右下角,第三位置区域为指定原始像素点的右上角或左下角。

假设上述为第十七种可能的实施方式,则在第十七种可能的实施方式作为基础而提供的第十八种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:

第一边缘方向为45度方向,第二边缘方向为135度方向,第三边缘方向为0度方向,第四边缘方向为90度方向。

本发明实施例提供的计算机可读存储介质,在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

本发明实施例中提供了一种图形用户接口,该图形用户接口用在图像处理终端上,该执行图像处理终端包括触摸屏显示器、存储器和用于执行一个或者一个以上的程序的一个或者一个以上的处理器;该图形用户接口包括:

获取放大图像上任一待处理的插值像素点的位置坐标,待处理的插值像素点为将指定原始像素点放大预设倍数时所产生的像素点;

根据位置坐标,确定待处理的插值像素点与指定原始像素点之间的位置关系;

根据待处理的插值像素点与指定原始像素点之间的位置关系,采用与位置关系相应的计算方式,计算待处理的插值像素点的实际像素值;

其中,不同位置关系对应于不同计算方式。

本发明实施例提供的图形用户接口,在计算放大图像上的每个插值像素点的实际像素值时,综合考虑了插值像素点与原始像素点之间的方向性,根据每个插值像素点与原始像素点之间的位置关系,采用不同的计算方式进行计算,明显提高了图像的清晰度,使得处理后的图像质量较佳。

需要说明的是:上述实施例提供的图像处理装置在处理图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将图像处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1