发明内容
本发明提供了一种图像处理方法及设备,能够降低图像缩放后的失真。
一方面,本发明提供了一种图像处理方法,该方法包括:
判断按照给定因子对待处理图像进行缩放得到的目标图像的长宽是否都是整数,
若是,则按照所述给定因子进行缩放得到目标图像;
否则,根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像;
其中,所述第一缩放图像和第二缩放图像均为整数图像;
所述整数图像为按照标准因子对待处理图像进行缩放得到的长宽都是整数的图像,所述标准因子为整数图像对应的缩放因子;
所述第一缩放图像对应的缩放因子为第一因子;
所述第二缩放图像对应的缩放因子为第二因子;
所述第一因子为小于所述给定因子的与所述给定因子的间隔在第一预设值内的任一标准因子;
所述第二因子为大于所述给定因子的与所述给定因子的间隔在第二预设值内的任一标准因子。
进一步地,在所述根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像之前,还包括:
根据所述给定因子确定出所述第一因子和所述第二因子;
按照所述第一因子对所述待处理图像进行缩放得到第一缩放图像;
按照所述第二因子对所述待处理图像进行缩放得到第二缩放图像。
进一步地,所述根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像,具体包括:
通过以下公式计算出目标图像中的目标点的灰度值:
其中,所述目标点为目标图像中的任意一点,p为所述给定因子,p1为所述第一因子,p2为所述第二因子,v为所述目标点的灰度值,v1为第一缩放图像中与所述目标点所对应的点的灰度值,v2为第二缩放图像中与所述目标点所对应的点的灰度值。
进一步地,所述按照所述第一因子对所述待处理图像进行缩放得到第一缩放图像,包括:按照所述第一因子利用双线性插值法对所述待处理图像进行缩放得到第一缩放图像;
和/或,所述按照所述第二因子对所述待处理图像进行缩放得到第二缩放图像,包括:按照所述第二因子利用双线性插值法对所述待处理图像进行缩放得到第二缩放图像。
进一步地,所述第一预设值取小于0.1的任意正值;和/或,所述第二预设值取小于0.1的任意正值。
另一方面,本发明提供了一种图像处理设备,该设备包括:
判断单元,用于判断按照给定因子对待处理图像进行缩放得到的目标图像的长宽是否都是整数,若是,则通知第一缩放单元;否则,通知第二缩放单元;
第一缩放单元,用于按照所述给定因子进行缩放得到目标图像;
第二缩放单元,用于根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像;
其中,所述第一缩放图像和第二缩放图像均为整数图像;
所述整数图像为按照标准因子对待处理图像进行缩放得到的长宽都是整数的图像,所述标准因子为整数图像对应的缩放因子;
所述第一缩放图像对应的缩放因子为第一因子;
所述第二缩放图像对应的缩放因子为第二因子;
所述第一因子为小于所述给定因子的与所述给定因子的间隔在第一预设值内的任一标准因子;
所述第二因子为大于所述给定因子的与所述给定因子的间隔在第二预设值内的任一标准因子。
进一步地,所述设备还包括:
确定单元,用于根据所述给定因子确定出所述第一因子和所述第二因子;
第三缩放单元,用于按照所述第一因子对所述待处理图像进行缩放得到第一缩放图像;
第四缩放单元,用于按照所述第二因子对所述待处理图像进行缩放得到第二缩放图像。
进一步地,所述第二缩放单元,用于通过以下公式计算出目标图像中的目标点的灰度值:
其中,所述目标点为目标图像中的任意一点,p为所述给定因子,p1为所述第一因子,p2为所述第二因子,v为所述目标点的灰度值,v1为第一缩放图像中与所述目标点所对应的点的灰度值,v2为第二缩放图像中与所述目标点所对应的点的灰度值。
进一步地,所述第三缩放单元,用于按照所述第一因子利用双线性插值法对所述待处理图像进行缩放得到第一缩放图像;
和/或,所述第四缩放单元,用于按照所述第二因子利用双线性插值法对所述待处理图像进行缩放得到第二缩放图像。
进一步地,所述第一预设值取小于0.1的任意正值;和/或,所述第二预设值取小于0.1的任意正值。
通过本发明提供的一种图像处理方法及设备,对于缩放后的图像的长宽不全为整数的给定因子,选择与该给定因子接近了两个标准因子对待处理图像进行缩放得到两幅整数图像,将整数图像进行线性插值得到目标图像,能够降低图像缩放后的失真。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种图像处理方法,参见图1,该方法包括:
步骤101:判断按照给定因子对待处理图像进行缩放得到的目标图像的长宽是否都是整数,若是,则执行步骤102,否则执行步骤103;
步骤102:按照所述给定因子进行缩放得到目标图像;
步骤103:根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像;
所述第一缩放图像和第二缩放图像均为整数图像;
所述整数图像为按照标准因子对待处理图像进行缩放得到的长宽都是整数的图像,所述标准因子为整数图像对应的缩放因子;
所述第一缩放图像对应的缩放因子为第一因子;
所述第二缩放图像对应的缩放因子为第二因子;
所述第一因子为小于所述给定因子的与所述给定因子的间隔在第一预设值内的任一标准因子;
所述第二因子为大于所述给定因子的与所述给定因子的间隔在第二预设值内的任一标准因子。
通过本发明实施例提供的一种图像处理方法,对于缩放后的图像的长宽不全为整数的给定因子,选择与该给定因子接近了两个标准因子对待处理图像进行缩放得到两幅整数图像,将整数图像进行线性插值得到目标图像,能够降低图像缩放后的失真。
在所述步骤103之前,还包括:
根据所述给定因子确定出所述第一因子和所述第二因子;
按照所述第一因子对所述待处理图像进行缩放得到第一缩放图像;
具体地,按照所述第一因子利用双线性插值法对所述待处理图像进行缩放得到第一缩放图像。
按照所述第二因子对所述待处理图像进行缩放得到第二缩放图像;
具体地,按照所述第二因子利用双线性插值法对所述待处理图像进行缩放得到第二缩放图像。
步骤103具体包括:
通过以下公式计算出目标图像中的目标点的灰度值:
其中,所述目标点为目标图像中的任意一点,p为所述给定因子,p1为所述第一因子,p2为所述第二因子,v为所述目标点的灰度值,v1为第一缩放图像中与所述目标点所对应的点的灰度值,v2为第二缩放图像中与所述目标点所对应的点的灰度值。
具体地,对于目标图像中每一点都通过上述的步骤得出该点的灰度值,进而能够得到目标图像。
所述第一预设值取小于0.1的任意正值;和/或,所述第二预设值取小于0.1的任意正值。
需要说明的是:第一预设值和第二预设值越小,得到的目标图像失真越小。
对于第一缩放图像和第二缩放图像可以通过以下方法实现:
待处理图像大小为m×n,其中m与n分别是待处理图像的像素行数与列数。若给定因子是t(t>0),则目标图像的像素行数为t×m,像素列数为t×n。对于目标图像的某个像素点P(x,y),通过P×(1/t)可得到对应的待处理图像的坐标P’(i+u,j+v),其中i+u=x/t,j+v=y/t,若i+u,j+v都不是整数,实际上并不存在这样的点,于是需要找出与它相邻的四个点的灰度值f1、f2、f3、f4,使用双线性插值算法就可以得到这个像素点P’(i+u,j+v)的灰度值,也就是像素点P(x,y)的灰度值。具体如下:
由目标图像的某个像素(x,y)映射到待处理图像的(i+u,j+v)处。
对(i+u,j+v)取整得到(i,j),并得到(i,j)、(i+1,j)、(i,j+1)和(i+1,j+1)周围四个像素点。
利用双线性插值得到像素点(x,y)的值并写到新图像。
具体地,f(x,y)=f(i+u,j+v)=(1-u)×(1-v)×f(i,j)+(1-u)×v×f(i,j+1)+u×(1-v)×f(i+1,j)+u×v×f(i+1,j+1)。
本发明实施例提供了一种图像处理设备,参见图2,该设备包括:
判断单元201,用于判断按照给定因子对待处理图像进行缩放得到的目标图像的长宽是否都是整数,若是,则通知第一缩放单元202;否则,通知第二缩放单元203;
第一缩放单元202,用于按照所述给定因子进行缩放得到目标图像;
第二缩放单元203,用于根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像;
所述第一缩放图像和第二缩放图像均为整数图像;
所述整数图像为按照标准因子对待处理图像进行缩放得到的长宽都是整数的图像,所述标准因子为整数图像对应的缩放因子;
所述第一缩放图像对应的缩放因子为第一因子;
所述第二缩放图像对应的缩放因子为第二因子;
所述第一因子为小于所述给定因子的与所述给定因子的间隔在第一预设值内的任一标准因子;
所述第二因子为大于所述给定因子的与所述给定因子的间隔在第二预设值内的任一标准因子。
参见图3,本发明实施例还提供了一种图像处理设备,该设备包括:
判断单元301,用于判断按照给定因子对待处理图像进行缩放得到的目标图像的长宽是否都是整数,若是,则通知第一缩放单元302;否则,通知第二缩放单元303;
第一缩放单元302,用于按照所述给定因子进行缩放得到目标图像;
第二缩放单元303,用于根据第一缩放图像和第二缩放图像利用线性插值法得到目标图像;
所述第一缩放图像和第二缩放图像均为整数图像;
所述整数图像为按照标准因子对待处理图像进行缩放得到的长宽都是整数的图像,所述标准因子为整数图像对应的缩放因子;
所述第一缩放图像对应的缩放因子为第一因子;
所述第二缩放图像对应的缩放因子为第二因子;
所述第一因子为小于所述给定因子的与所述给定因子的间隔在第一预设值内的任一标准因子;
所述第二因子为大于所述给定因子的与所述给定因子的间隔在第二预设值内的任一标准因子。
所述设备还包括:
确定单元304,用于根据所述给定因子确定出所述第一因子和所述第二因子;
第三缩放单元305,用于按照所述第一因子对所述待处理图像进行缩放得到第一缩放图像;
第四缩放单元306,用于按照所述第二因子对所述待处理图像进行缩放得到第二缩放图像。
所述第二缩放单元303,用于通过以下公式计算出目标图像中的目标点的灰度值:
其中,所述目标点为目标图像中的任意一点,p为所述给定因子,p1为所述第一因子,p2为所述第二因子,v为所述目标点的灰度值,v1为第一缩放图像中与所述目标点所对应的点的灰度值,v2为第二缩放图像中与所述目标点所对应的点的灰度值。
所述第三缩放单元305,用于按照所述第一因子利用双线性插值法对所述待处理图像进行缩放得到第一缩放图像;
和/或,所述第四缩放单元306,用于按照所述第二因子利用双线性插值法对所述待处理图像进行缩放得到第二缩放图像。
所述第一预设值取小于0.1的任意正值;和/或,所述第二预设值取小于0.1的任意正值。
其中,当判断单元301在通知第二缩放单元303之前,判断单元301通知确定单元304来确定出第一因子和第二因子,确定单元304分别通知第三缩放单元305和第四缩放单元306分别缩放得出第一缩放图像和第二缩放图像。
上述设备内的各单元、子单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
通过上述描述可见,本发明实施例具有如下有益效果:
1、通过本发明实施例提供的一种图像处理方法及设备,对于缩放后的图像的长宽不全为整数的给定因子,选择与该给定因子接近了两个标准因子对待处理图像进行缩放得到两幅整数图像,将整数图像进行线性插值得到目标图像,能够降低图像缩放后的失真。
2、通过本发明实施例提供的一种图像处理方法及设备,在保证图像缩放后的质量的同时,还能保证处理过程中计算量较小。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。