图像变形方法、图像变形装置、电子设备和存储介质与流程

文档序号:24622603发布日期:2021-04-09 20:28阅读:53来源:国知局
图像变形方法、图像变形装置、电子设备和存储介质与流程

本申请涉及图像处理技术领域,尤其涉及一种图像变形方法、图像变形装置、电子设备和存储介质。



背景技术:

图像变形处理是对原始图像进行再创作的常用手段。现有技术中,对原始图像进行变形的方式通常如下:通过目标控件,触发变形模式,使用鼠标拖动图像上指定的多个控制点,原始图像可以根据这些控制点的位置自适应变形。

这种图像变形处理方式至少存在两个问题:(1)操作复杂,使用门槛较高;(2)用户只能通过对多个控制点的拖动完成图像变形,灵活性比较低,对于细节的调整需要多次微调多个控制点,难以达到预期效果。



技术实现要素:

本申请提供一种图像变形方法,以实现快捷地变形到目标形状。

本申请提供一种图像变形方法,包括:接收用户的第一输入指令;响应于所述第一输入指令,输出目标边界,所述目标边界为二维封闭图形的边界;确定所述目标边界的内接矩形或外接矩形;以所述内接矩形或所述外接矩形为界限,缩放原始图像,输出一次变形图像;以所述目标边界为界限,缩放所述一次变形图像,输出所述原始图像的目标变形图像。

根据本申请提供的图像变形方法,所述以所述目标边界为界限,缩放所述一次变形图像,输出所述原始图像的目标变形图像,包括:

确定所述一次变形图像沿第一方向的一排像素所在的直线与所述目标边界的交点中相距最远的两个第一交点;

以所述两个第一交点为界限,缩放所述一次变形图像的对应排像素,输出第一方向变形图像;

确定所述第一方向变形图像沿第二方向的一排像素所在的直线与所述目标边界的相距最远的两个第二交点;

以所述两个第二交点为界限,缩放所述第一方向变形图像的对应排像素,输出目标变形图像;其中

所述第二方向与所述第一方向垂直。

根据本申请提供的图像变形方法,所述以所述两个第一交点为界限,缩放所述一次变形图像的对应排像素,包括:以所述两个第一交点的中点为第一边界中心,等比例缩放所述一次变形图像的对应排像素;

所述以所述两个第二交点为界限,缩放所述第一方向变形图像的对应排像素,包括:以所述两个第二交点的中点为第二边界中心,等比例缩放所述第一方向变形图像的对应排像素;

或者,

所述以所述两个第一交点为界限,缩放所述一次变形图像的对应排像素,包括:以所述两个第一交点的中点为第一边界中心,基于所述一次变形图像的对应排像素中的各像素到所述第一边界中心的距离确定所述像素的缩放比例;

所述以所述两个第二交点为界限,缩放所述第一方向变形图像的对应排像素,包括:以所述两个第二交点的中点为第二边界中心,基于所述第一方向变形图像的对应排像素中的各像素到所述第二边界中心的距离确定所述像素的缩放比例。

根据本申请提供的图像变形方法,所述以所述两个第一交点为界限,缩放所述一次变形图像的对应排像素,包括:以所述一次变形图像的一排像素的中点为第一像素中心,等比例缩放所述一次变形图像的对应排像素;

所述以所述两个第二交点为界限,缩放所述第一方向变形图像的对应排像素,包括:以所述第一方向变形图像的一排像素的第二像素中心为中心,等比例缩放所述第一方向变形图像的对应排像素;

或者,

所述以所述两个第一交点为界限,缩放所述一次变形图像的对应排像素,包括:以所述一次变形图像的一排像素的中点为第一像素中心,基于所述一次变形图像的对应排像素中的各像素到所述第一像素中心的距离确定所述像素的缩放比例;

所述以所述两个第二交点为界限,缩放所述第一方向变形图像的对应排像素,包括:以所述第一方向变形图像的一排像素的中点为第二像素中心,基于所述第一方向变形图像的对应排像素中的各像素到所述第二像素中心的距离确定所述像素的缩放比例。

根据本申请提供的图像变形方法,所述确定所述目标边界的内接矩形或外接矩形,包括:

判断所述目标边界的凹凸属性;

确定所述目标边界为凸,输出所述目标边界的内接矩形,并在所述目标边界上显示所述内接矩形;

或者,确定所述目标边界为凹,输出所述目标边界的外接矩形,并在所述目标边界上显示所述外接矩形。

根据本申请提供的图像变形方法,所述判断所述目标边界的凹凸属性,包括:

用相互垂直的两条直线扫描所述目标边界的每一行和每一列;

在所述目标边界与每条所述直线的交点数均不大于2个的情况下,确定所述目标边界为凸;

或者,在所述目标边界与至少一条所述直线的交点数大于2个的情况下,确定所述目标边界为凹。

本申请还提供一种图像变形装置,包括:

接收模块,用于接收用户的第一输入指令;

第一处理模块,用于响应于所述第一输入指令,输出目标边界,所述目标边界为二维封闭图形的边界;

第二处理模块,用于确定所述目标边界的内接矩形或外接矩形;

第三处理模块,用于以所述内接矩形或所述外接矩形为界限,缩放原始图像,输出一次变形图像;

第四处理模块,用于以所述目标边界为界限,缩放所述一次变形图像,输出所述原始图像的目标变形图像。

根据本申请提供的图像变形装置,所述第四处理模块,包括:

第一确定模块,用于确定所述一次变形图像沿第一方向的一排像素所在的直线与所述目标边界的交点中相距最远的两个第一交点;

第一处理子模块,用于以所述两个第一交点为界限,缩放所述一次变形图像的对应排像素,输出第一方向变形图像;

第二确定模块,用于确定所述第一方向变形图像沿第二方向的一排像素所在的直线与所述目标边界的相距最远的两个第二交点;

第二处理子模块,用于以所述两个第二交点为界限,缩放所述第一方向变形图像的对应排像素,输出目标变形图像;其中

所述第二方向与所述第一方向垂直。

根据本申请提供的图像变形装置,所述第一处理子模块,还用于以所述两个第一交点的中点为第一边界中心,等比例缩放所述一次变形图像的对应排像素;

所述第二处理子模块,还用于以所述两个第二交点的中点为第二边界中心,等比例缩放所述第一方向变形图像的对应排像素;

或者,

所述第一处理子模块,还用于以所述两个第一交点的中点为第一边界中心,基于所述一次变形图像的对应排像素中的各像素到所述第一边界中心的距离确定所述像素的缩放比例;

所述第二处理子模块,还用于以所述两个第二交点的中点为第二边界中心,基于所述第一方向变形图像的对应排像素中的各像素到所述第二边界中心的距离确定所述像素的缩放比例。

根据本申请提供的图像变形装置,所述第一处理子模块,还用于以所述一次变形图像的一排像素的中点为第一像素中心,等比例缩放所述一次变形图像的对应排像素;

所述第二处理子模块,还用于以所述第一方向变形图像的一排像素的第二像素中心为中心,等比例缩放所述第一方向变形图像的对应排像素;

或者,

所述第一处理子模块,还用于以所述一次变形图像的一排像素的中点为第一像素中心,基于所述一次变形图像的对应排像素中的各像素到所述第一像素中心的距离确定所述像素的缩放比例;

所述第二处理子模块,还用于以所述第一方向变形图像的一排像素的中点为第二像素中心,基于所述第一方向变形图像的对应排像素中的各像素到所述第二像素中心的距离确定所述像素的缩放比例。

根据本申请提供的图像变形装置,所述第二处理模块,包括:

第一判断模块,用于判断所述目标边界的凹凸属性;

第一显示模块,用于确定所述目标边界为凸,输出所述目标边界的内接矩形,并在所述目标边界上显示所述内接矩形;

或,第二显示模块,用于确定所述目标边界为凹,输出所述目标边界的外接矩形,并在所述目标边界上显示所述外接矩形。

根据本申请提供的图像变形装置,所述第一判断模块,包括:

扫描模块,用于用相互垂直的两条直线扫描所述目标边界的每一行和每一列;

第一确定子模块,用于在所述目标边界与每条所述直线的交点数均不大于2个的情况下,确定所述目标边界为凸;

或,第二确定子模块,用于在所述目标边界与至少一条所述直线的交点数大于2个的情况下,确定所述目标边界为凹。

本申请还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述图像变形方法的步骤。

本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述图像变形方法的步骤。

本申请提供的图像变形方法、图像变形装置、电子设备和存储介质,通过先将原始图像缩放至目标边界的内接矩形或外接矩形,再缩放至目标边界的变形方法,使得该方法可以用于各种形状的目标边界,且整个图像变形方法是以直接体现最终结果的目标边界为起点执行的,可以确保得到理想中的变形效果,整个图像变形方法的操作简单,无需操作人员过多手动操作,方便快捷。

附图说明

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

图1是本申请提供的图像变形方法的流程示意图之一;

图2是本申请提供的图像变形方法中步骤130的实施方式的流程示意图;

图3是本申请提供的图像变形方法中步骤131的实施方式的流程示意图;

图4是本申请提供的图像变形方法中步骤131b的原理图;

图5是本申请提供的图像变形方法中步骤131c的原理图;

图6是本申请提供的图像变形方法中步骤150的实施方式的流程示意图;

图7是本申请提供的图像变形方法中待变形的原始图像的示意图;

图8是本申请提供的图像变形方法中目标边界的示意图;

图9是本申请提供的图像变形方法中确定目标边界的内接矩形的示意图;

图10是本申请提供的图像变形方法中一次变形图像的示意图;

图11是本申请提供的图像变形方法中第一方向变形图像的示意图;

图12是本申请提供的图像变形方法中目标变形图像的示意图;

图13是本申请提供的图像变形方法中获取目标边界的示意图;

图14是本申请提供的图像变形方法中待变形的原始图像的示意图;

图15是本申请提供的图像变形方法中目标变形图像的示意图;

图16是本申请提供的图像变形装置的结构示意图;

图17是本申请提供的图像变形装置的第二处理模块的结构示意图;

图18是本申请提供的图像变形装置的第一判断模块的结构示意图;

图19是本申请提供的图像变形装置的第四处理模块的结构示意图;

图20是本申请提供的电子设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面结合图1-图15描述本申请的图像变形方法。

该图像变形方法可应用终端,具体可由,但不限于终端中的硬件或软件执行。

在某些实施例中,终端包括但不限于台式计算机、笔记本,或者在某些实施例中,终端包括为具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话或平板电脑之类的便携式设备。

以下各个实施例中,描述了包括显示器的终端。然而,应当理解的是,终端可以包括诸如触控面板、物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

如图1所示,本申请实施例提供的图像变形方法包括:步骤110-步骤150。

步骤110、接收用户的第一输入指令;

在本步骤中,第一输入指令用于输出目标边界。

其中,第一输入指令可以表现为如下至少一种方式:

其一,第一输入指令可以表现为用户通过外部输入设备(例如:鼠标、键盘、电子笔、按键)的方式进行输入。

在该实施方式中,终端连接有鼠标、键盘的等外部输入设备,接收用户的第一输入指令,可以表现为,接收用户点击、按压或拖动鼠标的输入,或者接收用户敲击键盘的输入。

在一个具体的实施例中,第一输入指令可以表现为用户通过鼠标点击或拖动目标控件的操作,该目标控件用于选择目标二维封闭图形。

在另一个具体的实施例中,第一输入指令可以包括,用户通过鼠标点击或拖动第一目标控件的操作,选择本地或云端的目标图像,目标图像包含目标二维封闭图形,第一输入指令还可以包括,用户通过鼠标点击第二目标控件的操作,以从目标图像中识别出目标边界。

其二,在终端包括为具有触摸敏感表面的情况下,第一输入指令可以表现为触控输入,包括但不限于点击输入、滑动输入和按压输入等。

在该实施方式中,接收用户的第一输入指令,可以表现为,接收用户在终端显示屏的显示区域的触控操作。

为了降低用户误操作率,可以将第一输入指令的作用区域限定在特定的区域内,比如界面的上部中间区域;或者在当前界面显示目标控件,触摸目标控件,实现第一输入指令。

其三,第一输入指令可以表现为语音输入。

在该实施方式中,终端可以在接收到语音如“将半径为5cm的圆作为目标边界”时,触发输出目标边界。

当然,在其他实施例中,第一输入指令也可以表现为其他形式,包括但不限于字符输入等,具体可根据实际需要决定,本申请实施例对此不作限定。

步骤120、响应于第一输入指令,输出目标边界,目标边界为二维封闭图形的边界;

在该步骤中,终端在接收到第一输入指令后,可以响应于第一输入指令,输出目标边界,目标边界可以在界面显示。

目标边界为二维封闭图形的边界。目标边界可以为多边形、圆形、椭圆形或其他不规则的封闭图形。

比如图4所示的目标边界为圆形,图5所示的目标边界为不规则封闭图形,图8所示的目标边界为圆形,图13所示的目标边界为四边形。

步骤130、确定目标边界的内接矩形或外接矩形;

在已知目标边界的情况下,可以得到目标边界的内接矩形或外接矩形,优选地,该内接矩形或外接矩形的长宽分别与界面的横向和纵向平行。

在一些实施例中,该步骤可以得到目标边界的内接矩形,内接矩形可以显示在该目标边界的图像上。

如图9所示,目标边界为圆形,在目标边界上以线框显示内接矩形。

在另一些实施例中,该步骤可以得到目标边界的外接矩形,内接矩形可以显示在该目标边界的图像上。

步骤140、以内接矩形或外接矩形为界限,缩放原始图像,输出一次变形图像;

如图10所示,在步骤130输出内接矩形的情况下,该步骤用于以内接矩形为缩放界限,缩放原始图像,输出一次变形图像。

在实际的执行中,该步骤具体包括:基于内接矩形在长度方向的尺寸与原始图像在长度方向的尺寸的比值,沿长度方向缩放原始图像;基于内接矩形在宽度方向的尺寸与原始图像在宽度方向的尺寸的比值,沿宽度方向缩放原始图像。

在步骤130输出外接矩形的情况下,该步骤用于以外接矩形为缩放界限,缩放原始图像,输出一次变形图像。

在实际的执行中,该步骤具体包括:基于外接矩形在长度方向的尺寸与原始图像在长度方向的尺寸的比值,沿长度方向缩放原始图像;基于外接矩形在宽度方向的尺寸与原始图像在宽度方向的尺寸的比值,沿宽度方向缩放原始图像。

步骤150、以目标边界为界限,缩放一次变形图像,输出原始图像的目标变形图像。

在该步骤中,缩放界限为步骤110中得到的目标边界,缩放的对象为步骤140得到的一次变形图像,执行缩放,可以输出原始图像的目标变形图像。

如图7所示,原始图像为矩形,经过缩放后,按照圆形的目标边界,得到如图12所示的目标变形图像。

根据本申请实施例的图像变形方法,通过先将原始图像缩放至目标边界的内接矩形或外接矩形,再缩放至目标边界的变形方法,使得该方法可以用于各种形状的目标边界,且整个图像变形方法是以直接体现最终结果的目标边界为起点执行的,可以确保得到理想中的变形效果,整个图像变形方法的操作简单,无需操作人员过多手动操作,方便快捷。

在一些实施例中,如图2所示,步骤130、确定目标边界的内接矩形或外接矩形,包括步骤131和步骤132a,或者步骤131和步骤132b。

步骤131、判断目标边界的凹凸属性;

二维封闭图形具有凹和凸两种类型,比如圆形和三角形为凸,图5所示的不规则图形为凹。

步骤132a、确定目标边界为凸,输出目标边界的内接矩形,并在目标边界上显示内接矩形;

如图9所示,在目标边界为凸的情况下,输出目标边界的内接矩形,并在目标边界上显示内接矩形。

步骤132b、确定目标边界为凹,输出目标边界的外接矩形,并在目标边界上显示外接矩形。

在目标边界为凹的情况下,输出目标边界的内接矩形,并在目标边界上显示内接矩形。

在目标边界为多边形的情况下,确定目标边界为凸多边形,输出目标边界的内接矩形,并在目标边界上显示内接矩形;在目标边界为多边形的情况下,确定目标边界为凹多边形,输出目标边界的外接矩形,并在目标边界上显示外接矩形。

需要说明的是,内接矩形的长宽分别与界面的长宽平行,外接矩形的长宽分别与界面的长宽平行。

这样,在进行缩放时,可以确保原始图像的每行货每列像素点均具有明确的两个边界点。

在实际的执行中,如图3所示,上述步骤131、判断目标边界的凹凸属性,包括:步骤131a和步骤131b,或者步骤131a和步骤131c。

步骤131a、用相互垂直的两条直线扫描目标边界的每一行和每一列;

步骤131b、在目标边界与每条直线的交点数均不大于2个的情况下,确定目标边界为凸;

如图4所示,用与界面的横向平行的直线逐行扫描,任一直线与目标边界的交点至多为2;且用与界面的纵向平行的直线逐行扫描,任一直线与目标边界的交点至多为2;则该目标边界为凸。

步骤131c、在目标边界与至少一条直线的交点数大于2个的情况下,确定目标边界为凹。

如图5所示,用与界面的横向平行的直线逐行扫描,存在如图所示的直线与目标边界的交点多于2;则该目标边界为凹。

在一些实施例中,步骤150、以目标边界为界限,缩放一次变形图像,输出原始图像的目标变形图像,包括:步骤151-步骤154。

步骤151、确定一次变形图像沿第一方向的一排像素所在的直线与目标边界的交点中相距最远的两个第一交点;

步骤152、以两个第一交点为界限,缩放一次变形图像的对应排像素,输出第一方向变形图像;

步骤153、确定第一方向变形图像沿第二方向的一排像素所在的直线与目标边界的相距最远的两个第二交点;

步骤154、以两个第二交点为界限,缩放第一方向变形图像的对应排像素,输出目标变形图像;其中第二方向与第一方向垂直。

第一方向和第二方向分别与内接矩形或外接矩形的长宽平行。

下面以第一方向为纵向,第二方向为横向为例,参考图7-图12,详细说明本申请实施例的图像变形方法。

如图7所示,为待变形的原始图像。

如图8所示,为响应于用户的第一输入指令,输出目标边界图像,目标边界图像包含目标边界,目标边界为圆形。

如图9所示,确定该目标边界的内接矩形,并显示在目标边界图像的对应位置。

如图10所示,以上述内接矩形为边界,缩放原始图像,输出一次变形图像,换言之,将原始图像缩放后填充到内接矩形内。

如图11所示,确定一次变形图像沿纵向的任一列像素所在的直线与目标边界的交点中相距最远的两个第一交点;以两个第一交点为界限,缩放一次变形图像的对应列像素,对每一列像素均执行该操作,可以输出第一方向变形图像。换言之,使用图像缩放算法分别对一次变形图像的纵方向每一列放缩至目标边界的边界。

如图12所示,确定第一方向变形图像沿横向的任一行像素所在的直线与目标边界的相距最远的两个第二交点;以两个第二交点为界限,缩放第一方向变形图像的对应排像素,输出目标变形图像。换言之,使用图像缩放算法分别对第一方向变形图像的横方向每一行放缩至目标边界的边界。

当然,行和列的操作顺序可以调换。

需要说明的是,对于凹属性的目标边界,一次变形图像或第一方向变形图像沿横向或纵向的一行像素所在的直线与目标边界的交点可能有多个,此时需要确定相距最远的两个交点。

上述步骤151-步骤154的缩放方式至少有如下四种:

其一,以两个目标边界与直线的两个交点的中点为第一边界中心,等比例缩放。

步骤152、以两个第一交点为界限,缩放一次变形图像的对应排像素,包括:以两个第一交点的中点为第一边界中心,等比例缩放一次变形图像的对应排像素。

换言之,每个像素或每组像素,均按照相同的缩放比例,在该排像素所在的直线上朝背离或靠近第一边界中心的方向缩放。

比如,一次变形图像的某一排像素包括100个像素,两个第一交点之间具有200个像素,则以第一边界中心为中心(中心点不动),每个像素朝背离第一边界中心的方向复制一次。

步骤154、以两个第二交点为界限,缩放第一方向变形图像的对应排像素,包括:以两个第二交点的中点为第二边界中心,等比例缩放第一方向变形图像的对应排像素;

换言之,每个像素或每组像素,均按照相同的缩放比例,在该排像素所在的直线上朝背离或靠近第二边界中心的方向缩放。

比如,一次变形图像的某一排像素包括100个像素,两个第一交点之间具有50个像素,则以第一边界中心为中心(中心点不动),每两个像素的均值朝靠近第一边界中心的方向填充。

其二,以两个目标边界与直线的两个交点的中点为第一边界中心,不等比例缩放。

步骤152、以两个第一交点为界限,缩放一次变形图像的对应排像素,包括:以两个第一交点的中点为第一边界中心,基于一次变形图像的对应排像素中的各像素到第一边界中心的距离确定像素的缩放比例。

换言之,每个像素或每组像素,均按照自身与第一边界中心的距离确定缩放比例,距离与缩放比例正相关或负相关,以该缩放比例在该排像素所在的直线上朝背离或靠近第一边界中心的方向缩放。

步骤154、以两个第二交点为界限,缩放第一方向变形图像的对应排像素,包括:以两个第二交点的中点为第二边界中心,基于第一方向变形图像的对应排像素中的各像素到第二边界中心的距离确定像素的缩放比例。

换言之,每个像素或每组像素,均按照自身与第二边界中心的距离确定缩放比例,距离与缩放比例正相关或负相关,以该缩放比例在该排像素所在的直线上朝背离或靠近第二边界中心的方向缩放。

其三,以待缩放图像的一排像素的中点为第一边界中心,等比例缩放。

步骤152、以两个第一交点为界限,缩放一次变形图像的对应排像素,包括:以一次变形图像的一排像素的中点为第一像素中心,等比例缩放一次变形图像的对应排像素。

换言之,每个像素或每组像素,均按照相同的缩放比例,在该排像素所在的直线上朝背离或靠近第一边界中心的方向缩放。

比如,一次变形图像的某一排像素包括100个像素,两个第一交点之间具有200个像素,则以第一像素中心为中心(中心点不动),每个像素朝背离第一像素中心的方向复制一次。

步骤154、以两个第二交点为界限,缩放第一方向变形图像的对应排像素,包括:以第一方向变形图像的一排像素的第二像素中心为中心,等比例缩放第一方向变形图像的对应排像素。

换言之,每个像素或每组像素,均按照相同的缩放比例,在该排像素所在的直线上朝背离或靠近第二像素中心的方向缩放。

比如,一次变形图像的某一排像素包括100个像素,两个第一交点之间具有50个像素,则以第二像素中心为中心(中心点不动),每两个像素的均值朝靠近第二像素中心的方向填充。

其四,以待缩放图像的一排像素的中点为第一边界中心,不等比例缩放。

步骤152、以两个第一交点为界限,缩放一次变形图像的对应排像素,包括:以一次变形图像的一排像素的中点为第一像素中心,基于一次变形图像的对应排像素中的各像素到第一像素中心的距离确定像素的缩放比例。

换言之,每个像素或每组像素,均按照自身与第一像素中心的距离确定缩放比例,距离与缩放比例正相关或负相关,以该缩放比例在该排像素所在的直线上朝背离或靠近第一像素中心的方向缩放。

步骤154、以两个第二交点为界限,缩放第一方向变形图像的对应排像素,包括:以第一方向变形图像的一排像素的中点为第二像素中心,基于第一方向变形图像的对应排像素中的各像素到第二像素中心的距离确定像素的缩放比例。

换言之,每个像素或每组像素,均按照自身与第二像素中心的距离确定缩放比例,距离与缩放比例正相关或负相关,以该缩放比例在该排像素所在的直线上朝背离或靠近第二像素中心的方向缩放。

上述四种缩放方式,可以实现不同的缩放效果,用户可以根据需要提前设置缩放方式。

图13示出了第一输入指令包括,选择本地或云端的目标图像的操作,以及用户通过鼠标点击第二目标控件的操作,以从目标图像中识别出目标边界。图13中的目标边界为照片中的矩形边界。

图14为待变形的原始图像。

图15为将原始图像变形后填充到图13中的矩形边界后得到的目标变形图像。

下面对本申请提供的图像变形装置进行描述,下文描述的图像变形装置与上文描述的图像变形方法可相互对应参照。

如图16所示,本申请实施例提供的图像变形装置包括:接收模块1610、第一处理模块1620、第二处理模块1630、第三处理模块1640和第四处理模块1650。

接收模块1610,用于接收用户的第一输入指令;

第一处理模块1620,用于响应于第一输入指令,输出目标边界,目标边界为二维封闭图形的边界;

第二处理模块1630,用于确定目标边界的内接矩形或外接矩形;

第三处理模块1640,用于以内接矩形或外接矩形为界限,缩放原始图像,输出一次变形图像;

第四处理模块1650,用于以目标边界为界限,缩放一次变形图像,输出原始图像的目标变形图像。

根据本申请实施例的图像变形装置,通过先将原始图像缩放至目标边界的内接矩形或外接矩形,再缩放至目标边界的变形方法,使得该方法可以用于各种形状的目标边界,且整个图像变形方法是以直接体现最终结果的目标边界为起点执行的,可以确保得到理想中的变形效果,整个图像变形方法的操作简单,无需操作人员过多手动操作,方便快捷。

在一些实施例中,如图17所示,第二处理模块1630可以包括:第一判断模块1631和第一显示模块1632,或者第一判断模块1631和第二显示模块1633。

第一判断模块1631,用于判断目标边界的凹凸属性;

第一显示模块1632,用于确定目标边界为凸,输出目标边界的内接矩形,并在目标边界上显示内接矩形;

第二显示模块1633,用于确定目标边界为凹,输出目标边界的外接矩形,并在目标边界上显示外接矩形。

在一些实施例中,如图18所示,第一判断模块1631可以包括:扫描模块1631a和第一确定子模块1631b,或者扫描模块1631a和第二确定子模块1631c。

扫描模块1631a,用于用相互垂直的两条直线扫描目标边界的每一行和每一列;

第一确定子模块1631b,用于在目标边界与每条直线的交点数均不大于2个的情况下,确定目标边界为凸;

第二确定子模块1631c,用于在目标边界与至少一条直线的交点数大于2个的情况下,确定目标边界为凹。

在一些实施例中,如图19所示,第四处理模块1650可以包括:第一确定模块1651、第一处理子模块1652、第二确定模块1653和第二处理子模块1654。

第一确定模块1651,可以用于确定一次变形图像沿第一方向的一排像素所在的直线与目标边界的交点中相距最远的两个第一交点;

第一处理子模块1652,可以用于以两个第一交点为界限,缩放一次变形图像的对应排像素,输出第一方向变形图像;

第二确定模块1653,可以用于确定第一方向变形图像沿第二方向的一排像素所在的直线与目标边界的相距最远的两个第二交点;

第二处理子模块1654,可以用于以两个第二交点为界限,缩放第一方向变形图像的对应排像素,输出目标变形图像;其中

第二方向与第一方向垂直。

在一些实施例中,第一处理子模块1652,还可以用于以两个第一交点的中点为第一边界中心,等比例缩放一次变形图像的对应排像素;

第二处理子模块1654,还可以用于以两个第二交点的中点为第二边界中心,等比例缩放第一方向变形图像的对应排像素。

在一些实施例中,第一处理子模块1652,还可以用于以两个第一交点的中点为第一边界中心,基于一次变形图像的对应排像素中的各像素到第一边界中心的距离确定像素的缩放比例;

第二处理子模块1654,还可以用于以两个第二交点的中点为第二边界中心,基于第一方向变形图像的对应排像素中的各像素到第二边界中心的距离确定像素的缩放比例。

在一些实施例中,第一处理子模块1652,还可以用于以一次变形图像的一排像素的中点为第一像素中心,等比例缩放一次变形图像的对应排像素;

第二处理子模块1654,还可以用于以第一方向变形图像的一排像素的第二像素中心为中心,等比例缩放第一方向变形图像的对应排像素。

在一些实施例中,第一处理子模块1652,还可以用于以一次变形图像的一排像素的中点为第一像素中心,基于一次变形图像的对应排像素中的各像素到第一像素中心的距离确定像素的缩放比例;

第二处理子模块1654,还可以用于以第一方向变形图像的一排像素的中点为第二像素中心,基于第一方向变形图像的对应排像素中的各像素到第二像素中心的距离确定像素的缩放比例。

本申请实施例提供的图像变形装置用于执行上述图像变形方法,其具体的实施方式与方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。

图20示例了一种电子设备的实体结构示意图,如图20所示,该电子设备可以包括:处理器(processor)2010、通信接口(communicationsinterface)2020、存储器(memory)2030和通信总线2040,其中,处理器2010,通信接口2020,存储器2030通过通信总线2040完成相互间的通信。处理器2010可以调用存储器2030中的逻辑指令,以执行图像变形方法,该方法包括:接收用户的第一输入指令;响应于第一输入指令,输出目标边界,目标边界为二维封闭图形的边界;确定目标边界的内接矩形或外接矩形;以内接矩形或外接矩形为界限,缩放原始图像,输出一次变形图像;以目标边界为界限,缩放一次变形图像,输出原始图像的目标变形图像。

此外,上述的存储器2030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例提供的电子设备中的处理器2010可以调用存储器2030中的逻辑指令,实现上述图像变形方法,其具体的实施方式与方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。

另一方面,本申请还提供一种计算机程序产品,下面对本申请提供的计算机程序产品进行描述,下文描述的计算机程序产品与上文描述的图像变形方法可相互对应参照。

所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的图像变形方法,该方法包括:接收用户的第一输入指令;响应于第一输入指令,输出目标边界,目标边界为二维封闭图形的边界;确定目标边界的内接矩形或外接矩形;以内接矩形或外接矩形为界限,缩放原始图像,输出一次变形图像;以目标边界为界限,缩放一次变形图像,输出原始图像的目标变形图像。

本申请实施例提供的计算机程序产品被执行时,实现上述图像变形方法,其具体的实施方式与方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。

又一方面,本申请还提供一种非暂态计算机可读存储介质,下面对本申请提供的非暂态计算机可读存储介质进行描述,下文描述的非暂态计算机可读存储介质与上文描述的图像变形方法可相互对应参照。

本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的图像变形方法,该方法包括:接收用户的第一输入指令;响应于第一输入指令,输出目标边界,目标边界为二维封闭图形的边界;确定目标边界的内接矩形或外接矩形;以内接矩形或外接矩形为界限,缩放原始图像,输出一次变形图像;以目标边界为界限,缩放一次变形图像,输出原始图像的目标变形图像。

本申请实施例提供的非暂态计算机可读存储介质上存储的计算机程序被执行时,实现上述图像变形方法,其具体的实施方式与方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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