一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像变形方法、装置及电子设备与流程

2022-02-19 09:08:06 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,特别是涉及图像变形方法、装置及电子设备。


背景技术:

2.在商品对象信息系统中,可以通过对商品对象的动态属性表达,向用户传达商品对象的特征。例如,对于鞋子类的商品对象,可以通过动图的方式表达出鞋底柔软、弯曲度好的特点,等等。
3.其中,具体的动态属性信息可以通过拍摄视频等方式来实现,但是,需要商家用户花费比较高的成本。为了节约成本,可以利用算法对原始的静态图像进行处理并生成动图,进而可以通过这种生成的动图来进行动态属性的表达。
4.在上述生成动图的过程中,如果需要体现出鞋底柔软、可弯曲的特性,则需要对原始图像进行连续多帧的变形处理,然后将生成的多帧目标图像组成动图。现有技术中存在一些图像变形处理的方案,例如,其中一种方案是,通过移动最小二乘法来达到上述对图像进行变形处理的目的。在该方案中,可以首先在原始图像中选定多个锚点,并设置这几个锚点在分别在多帧目标图像中的期望位置,然后,针对每帧目标图像,就可以利用移动最小二乘法,分别计算出原始图像中各个像素分别在目标图像中的位置,再根据具体的位置将各个像素值投射到目标图像中。
5.上述方法可以达到对图像平滑变形的效果,但是,其缺点在于,一方面,需要逐个像素进行计算,分别计算出每个像素在新图像中位置,因此,效率往往比较低。另一方面,在完成变形处理后,在新图像中可能会出现某些区域的像素变得更密集,某些区域的图像变得更稀疏等情况。其中,对于像素变稀疏的区域,可能使得像素之间出现缝隙,这种缝隙表现为:在新图像中的某些区域能够看出来存在多个像素点,并且每个像素点之间存在缝隙,例如,具体缝隙的位置可能会显示为黑色等背景色,这显然会影响图像的展示效果。
6.因此,如何更高效地实现图像变形,且避免新图像中缝隙的出现,成为需要本领域技术人员解决的技术问题。


技术实现要素:

7.本技术提供了图像变形方法、装置及电子设备,能够更高效地实现图像变形,且避免新图像中缝隙的出现。
8.本技术提供了如下方案:
9.一种图像变形方法,包括:
10.确定原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容;
11.将所述图像主体内容剖分为多个初始多边形图像块,并对所述初始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
12.利用第一变换模型,将所述扩边多边形图像块的顶点映射到变形后的目标图像中;
13.根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述目标图像中。
14.其中,所述将所述图像主体内容剖分为多个初始多边形图像块,包括:
15.将所述图像主体内容剖分为多个初始三角形图像块,并对所述初始三角形图像块进行边界扩大处理,得到多个扩边三角形图像块。
16.其中,所述将所述图像主体内容剖分为多个初始三角形图像块,包括:
17.对所述原始图像进行网格划分;
18.遍历所有网格,保留包含图像主体内容的网格顶点并进行去重处理;
19.根据所述保留的网格顶点调用预置的剖分算法,得到所述多个三角形图像块。
20.其中,所述对所述三角形图像块进行边界扩大处理,得到多个扩边三角形图像块,包括:
21.对于三角形图像块的每个顶点分别进行如下处理:
22.按照目标距离在顶点周围选取多个备选点组成备选点集合;
23.分别以所述顶点所在的两条边作为分界线,从所述备选点集合中选取第一备选点子集,以及第二备选点子集,其中,在以其中一条边作为分界线进行备选点子集的选取时,将以该边为对边的顶点作为参考顶点,选取与该参考顶点异侧的备选点形成备选点子集;
24.根据所述第一备选点子集与第二备选点子集的交集,确定顶点的替代点;
25.连接各顶点的替代点,得到所述扩边三角形图像块。
26.其中,所述目标距离的大小,与不同的图像块在映射过程中可能被拉远的距离相关。
27.其中,所述第二变换模型包括仿射变换模型;
28.所述利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述目标图像中,包括:
29.根据扩边三角形图像块的顶点在映射前后的位置对应关系信息,确定三组映射点;
30.基于所述三组映射点,利用仿射变换模型,将所述扩边三角形图像块内的像素点映射到所述目标图像中。
31.其中,所述第一变换模型包括移动最小二乘法变换模型;
32.所述利用第一变换模型,将所述扩边多边形图像块的顶点映射到变形后的目标图像中,包括:
33.基于所述原始图像中设置的多个锚点位置,以及各锚点在待生成的目标图像中对应的期望位置,建立移动最小二乘法拟合函数;
34.利用所述移动最小二乘法拟合函数,将所述顶点映射到所述待生成的目标图像中,以确定所述顶点在所述待生成的目标图像中的位置映射结果。
35.其中,还包括:
36.如果存在多个像素点被映射到目标图像中的相同位置,则从所述多个像素点中选择透明度较低者映射到该位置。
37.一种为商品对象生成动图的方法,包括:
38.确定需要生成动图的目标商品对象以及对应的原始图像,并从所述原始图像中识
别出待进行变形处理的图像主体内容;
39.将所述图像主体内容剖分为多个原始多边形图像块,并对所述原始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
40.从所述图像主体内容中确定多个锚点的位置,以及各锚点分别在多帧目标图像中的期望位置;
41.针对所述多帧目标图像,分别进行以下处理:
42.对于当前目标图像,根据多个锚点的位置以及所述期望位置建立第一变换模型,利用所述第一变换模型将所述扩边多边形图像块的顶点映射到所述当前目标图像中,并根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述当前目标图像中,以生成所述当前目标图像;
43.根据所生成的多帧目标图像,生成所述目标商品对象的动图。
44.其中,所述确定需要生成动图的目标商品对象以及对应的原始图像,包括:
45.接收所述目标商品对象关联的目标页面的页面地址信息;
46.根据所述页面地址信息,对所述目标页面关联的图像进行分析,并从中确定符合目标条件的图像作为所述原始图像。
47.其中,还包括:
48.提供用于对所述动图进行发布的操作控件;
49.通过所述操作控件接收到用户操作后,将所生成的动图发布到所述目标页面中。
50.一种图像变形装置,包括:
51.原始图像确定单元,用于确定原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容;
52.扩边处理单元,用于将所述图像主体内容剖分为多个初始多边形图像块,并对所述初始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
53.第一映射单元,用于利用第一变换模型,将所述扩边多边形图像块的顶点映射到变形后的目标图像中;
54.第二映射单元,用于根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述目标图像中。
55.一种为商品对象生成动图的装置,包括:
56.原始图像确定单元,用于确定需要生成动图的目标商品对象以及对应的原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容;
57.扩边处理单元,用于将所述图像主体内容剖分为多个原始多边形图像块,并对所述原始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
58.锚点位置确定单元,用于从所述图像主体内容中确定多个锚点的位置,以及各锚点分别在多帧目标图像中的期望位置;
59.目标图像生成单元,用于针对所述多帧目标图像,分别进行以下处理:对于当前目标图像,根据多个锚点的位置以及所述期望位置建立第一变换模型,利用所述第一变换模型将所述扩边多边形图像块的顶点映射到所述当前目标图像中,并根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述当前目标图像中,以生成所述当前目标图像;
60.动图生成单元,用于根据所生成的多帧目标图像,生成所述目标商品对象的动图。
61.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述的方法的步骤。
62.一种电子设备,包括:
63.一个或多个处理器;以及
64.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述任一项所述的方法的步骤。
65.根据本技术提供的具体实施例,本技术公开了以下技术效果:
66.通过本技术实施例,可以对图像进行变形处理的过程中,可以将原始图像中的图像主体内容剖分为多个初始多边形图像块,并且,可以对每个初始多边形进行扩展边界处理,得到扩边多边形图像块。之后,具体可以利用第一变换模型将这种扩边多边形图像块的顶点映射到目标图像中。再结合第二变换模型,可以实现扩边多边形图像块内部的像素点向目标图像的映射,进而生成具体的目标图像。通过这种方式,由于在针对多边形图像块顶点进行映射之前,对多边形图像块进行了扩展边界处理,因此,使得不同的多边形图像块之间产生重叠的区域,这样,即使在映射的过程中,不同的扩边多边形图像块之间的距离被拉远,也可以通过这种重叠区域的存在,来弥补被拉远的距离所可能产生的缝隙,以此提升变形之后的图像效果。
67.其中,具体可以利用移动最小二乘法对扩边多边形的顶点进行映射,扩边多边形内部的像素点只需要进行几何变换,包括仿射变换等,即可完成向目标图像的映射。因此,可以大幅减少移动最小二乘法变换的次数,从而提升效率。
68.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
69.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1是本技术实施例提供的系统架构的示意图;
71.图2是本技术实施例提供的第一方法的流程图;
72.图3至图9是本技术实施例提供的图像处理过程中多个状态的示意图;
73.图10是本技术实施例提供的第二方法的流程图;
74.图11是本技术实施例提供的第一装置的示意图;
75.图12是本技术实施例提供的第二装置的示意图;
76.图13是本技术实施例提供的电子设备的示意图。
具体实施方式
77.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的
范围。
78.首先需要说明的是,一幅图像是由一个像素坐标系下各个带有像素值的坐标点组成的,这种带有像素值的坐标点也称像素点。对图像进行扭曲变形处理就是将这些像素点进行坐标转换,将具体像素点转换到其他位置,即可生成新的图像。在该新的图像中,就可以获得扭曲变形处理后的效果。
79.背景技术中所述的移动最小二乘法就可以达到上述坐标变换的目的。但是,由于需要对原始图像中的所有像素点分别进行计算,也即,原始图像中包含多少个像素点,就需要进行多少次移动最小二乘法计算,这个过程是比较耗时的,因此,效率比较低。另外,也存在像素之间产生缝隙的缺点。
80.为了解决上述问题,一种方案是,将原始图像剖分成多个图像块,例如,进行三角剖分,得到多个三角形图像块。这样,可以分别对各个三角形的顶点进行移动最小二乘法变换,将其映射到目标图像中,得到各个顶点在目标图像中的位置映射结果。之后,对于三角形内部的像素点,则可以通过仿射变换的方式,完成向目标图像的映射,得到三角形内部各个像素点在目标图像中的位置映射结果。这样,将两部分位置映射结果进行组合,即可生成最终的目标图像。
81.通过上述方式,由于只需要对三角形顶点进行移动最小二乘法变换,而不是对所有像素点分别进行移动最小二乘法变换,因此,移动最小二乘法变换的计算次数大幅降低。例如,假设一个三角形图像块中包括312个像素,如果直接进行移动最小二乘法变换,则仅该图像块就需要执行312次移动最小二乘法变换。而在与三角剖分 仿射变换相结合的方式下,对于一个三角形图像块,只需要执行3次移动最小二乘法变换,以及一次仿射变换。而一次仿射变换运算所需的时间,远小于309次移动最小二乘法变换所需的时间,因此,整体上能够提升效率。
82.另外,在上述将移动最小二乘法与三角剖分、仿射变换相结合的方式进行图像变形处理的过程中,由于不需要分别对每个像素点进行移动最小二乘法变换,因此,不会出现像素点之间的缝隙的问题。但是,由于具体图像块的顶点是通过移动最小二乘法变换完成的映射,并且也会存在部分图像块之间距离变得比较接近,部分图像块之间则拉远的情况。因此,在不同的图像块之间可能会出现缝隙,仍然会影响生成的目标图像的展示效果。
83.为此,在本技术实施例中,在上述将移动最小二乘法与三角剖分、仿射变换相结合的基础上,进行了进一步的优化,以解决不同图像块之间产生缝隙的问题。具体的,在本技术实施例中,在将原始图像划分成多个三角形图像块(也可以是四边形等)之后,可以首先对三角形进行扩大边界处理,得到多个扩边三角形。这样,在原始图像中,不同的扩边三角形之间可以存在相互交叠的部分。之后,可以基于这种扩边三角形的顶点进行移动最小二乘法变换,再对扩边三角形内部的像素点进行仿射变换,从而完成对全部像素点的映射,并生成目标图像。通过这种方式,由于原始图像中不同的扩边三角形之间存在相互交叠的部分,因此,在经过变换之后,即使部分三角形之间的距离被拉远(在变换过程中被拉远的距离通常小于扩边处理过程中扩展出的距离),也可以避免图像块之间出现缝隙。另外,扩边处理的工作量相对较小,因此,对处理效率的影响几乎可以忽略不计。
84.通过本技术实施例提供的上述方式,由于加入了扩边处理的步骤,并且基于扩边处理结果进行移动最小二乘法变换,可以在保证处理效率的基础上,提升变换后的图像质
量,避免图像块之间缝隙的出现。
85.从技术架构角度而言,本技术实施例可以有多种具体的架构。例如,一种方式下,可以提供图像变形处理工具,该工具可以是线下的工具,可以以客户端程序等形式存在,用户可以通过安装这种图像变形处理工具,并输入具体需要处理的图像,该工具即可进行处理,生成变形后的目标图像,或者,还可以生成多帧目标图像进而生成动图。之后,用户可以将这种处理后的目标图像或动图应用于多种场景,例如,包括投放到某页面中,等等。
86.或者,另一种方式下,如图1所示,还可以面向商家用户/卖家用户等提供图像变形处理系统,该系统还可以与具体的商品对象信息系统打通。这样,如果商家用户/卖家用户需要为已发布的商品对象生成动态图像,以表达可弯曲、柔软等属性,则可以通过该图像变形处理系统输入具体商品对象的详情页面链接。之后,图像变形处理系统可以从该详情页面中选择适合作为原始图像的图像,并按照本技术实施例提供的方式进行变形处理后,生成动图。或者,商家用户/卖家用户也可以直接输入商品对象的图片,由图像变形处理系统生成动图,等等。生成动图之后,还可以向用户提供预览功能,使得用户可以对生成的动图效果进行预览。另外,还可以提供对生成的动图进行下载等功能,使得用户可以将生成的动图进行下载后进行使用。具体的使用方式可以包括:将这种动图作为商品对象主图,或者,还可以发布到该商品对象的详情页面中,例如,具体可以发布到详情页面中的商品主图资源位中,等等。
87.下面对本技术实施例提供的具体实现方案进行详细介绍。
88.实施例一
89.首先,该实施例一提供了一种图像变形方法,参见图2,该方法可以包括:
90.s201:确定原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容。
91.其中,原始图像具体可以由用户输入,或者,用户也可以指定具体的页面网址,由图像处理工具或系统自动对页面中图片等进行分析,确定适合的原始图像,等等。其中,自动分析时,可以根据预先设定的特征等信息进行判断,例如,具体的原始图像可以符合以下特点:以具体商品对象作为图像主体内容,主体内容的拍摄角度符合要求(例如,如果需要表达鞋子的鞋底可弯曲的特点,则可以选择鞋子的侧面图作为原始图像),不包含过多的冗余内容(例如,可以将带模特的图像过滤掉,将背景过于复杂的图像过滤掉等),等等。具体实现时,如果是由用户输入原始图像,则还可以为用户提供示例,以便于帮助用户提供符合要求的原始图像。
92.在确定出原始图像之后,还可以从中识别出待进行变形处理的图像主体内容。例如,如图3所示,原始图像是某鞋子的照片,可以将属于鞋子的部分作为图像主体内容进行识别,其他属于背景的部分则不需要参与到后续的计算过程中。其中,图像主体内容识别的算法可以有多种,包括具体的抠图算法识别出主体边缘,然后将边缘以内的内容作为图像主图内容,等等,因此,可以调用已有算法来实现。
93.需要说明的是,在原始图像中,具体的像素点通常可具有rgb三通道属性。但是,在进行了图像主体内容识别处理之后,具体识别出的属于图像主体内容的像素点,可以具有四个通道的属性,在原来的rgb基础上,增加透明度通道。该透明度信息在后续的处理过程中也可以被用到。
94.另外需要说明的是,在具体实现时,为了达到更好的处理效果,在完成主体内容识别之后,还可以进行一些预处理。例如,可以对图像主体内容进行旋转,使其在原始图像中的位置更适合于进行后续的变形处理,或者更容易获得更加的变形效果。例如,假设原始图像中是关于“鞋子”的照片,则可以对原始图像中的“鞋子”主体图像内容进行旋转,使鞋子尖部朝下,以使得后续生成的动图可以模拟出鞋子在穿着状态下,从鞋尖部开始踩下的过程中,鞋底逐渐变弯曲的过程。
95.另外,还可以对原始图像的边界宽度进行调整,具体的,该步骤可以在必要的情况下执行。例如,如果图像主体内容在原始图像中所占的面积比较大,以至于原始图像中上下或者左右方向上可能没有太多的剩余空间。此时,如果直接基于该原始图像进行变形处理,则变形后的图像主体内容可能会出现超出原始图像边界的情况。因此,在可选的方式下,如果图像主体内容在原始图像中所占的面积比较大,则还可以对原始图像的边界宽度进行调整,例如,可以在原始图像中补充一些背景像素等方式,使得边界变宽,等等。
96.s202:将所述图像主体内容剖分为多个初始多边形图像块,并对所述初始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块。
97.在从原始图像中识别出具体的图像主体内容之后,可以将该图像主体内容剖分成多个初始多边形图像块。其中,具体的多边形可以包括三角形、四边形,等等。在优选的方式下,可以采用三角形的方式来实现。也即,可以将所述图像主体内容剖分为多个三角形图像块,然后,对所述三角形图像块进行扩大边界处理,得到多个扩边三角形图像块。
98.其中,具体在进行三角剖分时,可以有多种方式,例如,一种方式下,可以使用德洛内(delaunay)三角剖分算法来实现(当然,也可以使用其他剖分算法)。其中,所谓的德洛内三角剖分是指,假设v是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,e为e的集合。那么该点集v的一个三角剖分t=(v,e)是一个平面图g,该平面图满足条件:a.除了端点,平面图中的边不包含点集中的任何点;b.没有相交边;c.平面图中所有的面都是三角面,且所有三角面的合集是散点集v的凸包。
99.也就是说,对于已知的点集,可以使用德洛内三角剖分算法形成多个三角形。因此,在使用具体的德洛内三角剖分算法对图像主体内容进行三角剖分之前,可以首先在图像主体内容中选定一个点集,然后,将该点集输入到算法中,即可输出三角剖分结果。
100.为了获得上述点集,可以有多种方式。例如,在一种方式下,可以首先对原始图像进行网格划分。例如,具体可以对原始图像进行均匀的网格划分,网格宽度可根据图像主体内容的面积进行自适应配置。也就是说,如果原始图像中图像主体内容的面积比较大,网格宽度也可以更大,相反,如果原始图像中图像主体内容的面积比较小,则网格宽度也可以较小,等等。在本技术实施例提供的图3所示的例子中,可以将网格宽度设置为25个像素,此时,具体的网格划分结果可以如图4所示。
101.在完成网格划分后,可以遍历所有网格,保留包含图像主体内容的网格顶点并进行去重处理。也就是说,在对原始图像进行网格划分后,部分网格会落在图像主体内容上,部分网格则不会落在图像主体内容上。因此,可以从中选择落在图像主体内容上的网格,将其这种网格的顶点保留下来,并进行去重处理,则可以得到一个点集。例如,具体可以如图5所示。将保留下来的网格顶点作为点集之后,便可以根据所述保留的网格顶点调用德洛内三角剖分算法,得到多个三角形图像块。例如,可以如图6所示。
102.在将图像主体内容剖分成多个图像块之后,在本技术实施例中,并不是直接进行移动最小二乘法变换,而是首先对多边形进行扩大边界处理,也即使得多边形的边界更向外展,不同的多边形之间可以产生部分重叠。
103.其中,对具体的多边形进行扩大边界处理的方法也可以有多种,例如,对于三角形的情况,可以如下进行:对于三角形图像块的每个顶点分别进行如下处理:首先按照目标距离在顶点周围选取多个备选点组成备选点集合;然后,分别以所述顶点所在的两条边作为分界线,从所述备选点集合中选取第一备选点子集,以及第二备选点子集,其中,在以其中一条边作为分界线进行备选点子集的选取时,将以该边为对边的顶点作为参考顶点,选取与该参考顶点异侧的备选点形成备选点子集;之后,可以根据所述第一备选点子集与第二备选点子集的交集,确定顶点的替代点;最后,连接各顶点的替代点,即可得到所述扩边三角形图像块。
104.例如,如图7所示,假设abc为剖分出的三角形,则可以通过以下步骤进行扩大边界chuli:
105.a)针对顶点a,按照输入距离d选取备选点,以d=1个像素为例,选取的备选点可以包括点p1

p8;也就是说,可以按照预先设的目标距离d对多边形图像块进行扩大边界处理。其中,关于距离d的取值,不宜过大,也不宜过小;如果太大,则会使得每个三角形图像块的面积明显变大,影响最终变形处理后图像弯曲区域的平滑性;如果太小,则可能不足以弥补由于图像块之间的距离被拉远所形成的缝隙。因此,具体实现时,可以使得该距离d略大于变形处理后图像块可能被拉远的最大距离即可。例如,假设被拉远的最大距离是两个像素,则d可以为三个像素,等等。
106.b)以边ab形成的直线l1为分界线(此时,边ab是顶点c的对边,因此,可以以顶点c作为参考顶点),保留与顶点c异侧的备选点,分别为p1,p2,p3,p8;
107.c)以边ac形成的直线l2为分界线,在c)的结果中保留与顶点b异侧的备选点,为p8;
108.d)如果剩余的备选点只有一个(如本例p8),则该点可以为点a的替代点。这里需要说明的是,在设定d的值之后,各个三角形都可以使用相同的d进行扩边处理。因此,可能出现以下情况,对于某个三角形而言,按照上述方式进行选择后,发现没有剩余备选点,则说明d设置对于该三角形而言相对较小,但是由于在算法运行过程中不宜修改d的值,因此,可以直接将点a作为其自身的替代点。另外,还可能对于某三角形进行处理时,发现剩余多个备选点,此时,可以从该多个备选点中选择距离点a最远的点作为替代点;
109.e)针对顶点b、c重复步骤a至d,获得的三个替代点所组成的三角形即为扩边三角行,如图6中虚线三角形所示。
110.s203:利用第一变换模型,将所述扩边多边形图像块的顶点映射到变形后的目标图像中。
111.在完成对多边形的扩边处理后,可以基于这种扩边多边形的顶点,进行第一次变换,从而确定出各个顶点在目标图像中的位置。其中,目标图像就是待生成的、变形后的图像。具体实现时,上述第一次变换可以通过多种方式实现,例如,在一种具体的实现方式下,可以使用移动最小二乘法模型来实现。具体的,为了使用移动最小二乘法进行变换,可以在原始图像中指定多个锚点位置,以及各锚点在待生成的目标图像中对应的期望位置(该过
程与前述三角形剖分的过程可以是独立的,因此,可以并列进行)。其中,锚点位置可以根据具体的图像主体内容的形状、所需变形的特点等进行位置以及数量的选择。所述的期望位置,也就是希望变换之后,上述锚点位置在目标图像中出现的位置。具体实现时,具体的锚点位置属于用来体现变化效果的关键位置。例如,如图8所示,假设原始图像中展示的是鞋子,需要通过变形处理展示其鞋底弯曲柔软的特点,则锚点位置分别可以为鞋尖处的s1、鞋底三分之一处(鞋底通常在该位置处产生弯曲)的s2以及鞋后跟处的s3。目标图像中的期望位置可以分别为t1,t2,t3。
112.这里需要说明的是,在具体实现时,可能需要通过多帧目标图像组成的动图,来表达鞋底弯曲的特点,因此,可以根据原始图像生成多帧目标图像,其中,原始图像中锚点位置可以不变,但是各帧目标图像中对应的期望位置可以不同,以此呈现出逐渐弯曲变形的动态效果。因此,可以分别针对不同的目标图像帧,对各锚点的期望位置进行指定。其中,关于原始图像中锚点位置的选取,以及各帧目标图像中期望位置的确定,都可以通过算法的方式来自动实现,这里不再详述。
113.在确定出原始图像中的锚点位置,以及在目标图像中的期望位置之后,便可以利用锚点位置以及期望位置建立多组映射点,并基于该多组映射点建立移动最小二乘法拟合函数。其中,在移动最小二乘法中,需要在一组不同位置的节点(node)附近建立拟合曲线,每个节点都有自己的一组系数用于定义该位置附近拟合曲线的形态。因此,在计算某个节点附近的拟合曲线时,只需要计算该点的该组系数值即可。而上述确定出的多组映射点,即可用于确定系数值。关于具体的实现方式,并不属于本技术实施例的重点,因此,这里不再进行详述。
114.在构建了移动最小二乘法拟合函数之后,便可以利用该拟合函数,将具体扩边多边形的顶点映射到所述待生成的目标图像中,以确定所述顶点在所述待生成的目标图像中的位置映射结果。也就是说,在本技术实施例中,不是直接对剖分出的多边形的顶点进行移动最小二乘法变换,而是对完成边界扩展的多边形的顶点进行移动最小二乘法变换。
115.s204:根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述目标图像中。
116.在将扩边多边形的顶点映射到目标图像中之后,可以确定出各个顶点在目标图像中的位置。之后,可以根据顶点的映射结果,将多边形内部的其他像素点映射到目标图像中,也即,确定出多边形内部的其他像素点在目标图像中的位置。
117.其中,具体在进行多边形内部的其他像素点的映射时,可以通过多种具体的变换模型来实现。例如,在一种方式下,具体的第二变换模型可以包括几何变换模型,也即,可以利用几何变换模型将所述扩边多边形图像块内的像素点映射到所述目标图像中。其中,具体的几何变换模型可以包括刚性变换、仿射变换、透视变换、非线形变换等等。具体的,可以根据具体剖分出的多边形的边数等,确定对应的几何变换模型。例如,如果是进行的三角形剖分,则可以使用仿射变换模型,如果是进行的四边形剖分,则可以使用透视变换模型,等等。
118.具体的,以三角形剖分为例,具体可以根据扩边三角形图像块的顶点在映射前后的位置对应关系信息,确定出三组映射点,然后,基于所述三组映射点,利用仿射变换模型,将所述扩边三角形图像块内的像素点映射到所述目标图像中。其中,所谓仿射变换就是指,
在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。
119.在完成具体扩边多边形图像块的顶点以及内部的各像素点向目标图像的映射之后,便可以确定出原始图像中图像主体内容的各个像素点,分别在目标图像中的位置,然后,将各个像素点的像素值填充到目标图像中对应的位置处,即可生成目标图像。例如,如果原始图像以及锚点位置如图8所示,则在变形处理之后生成的目标图像可以如图9所示,可见,图像中的主体图像发生了弯曲变形。变形处理后生成的目标图像可以是动效图,动态展示主体图像发生弯曲变形的整个过程,图9是某个时刻的状态示意图。
120.这里需要说明的是,由于对多边形图像块进行了扩边处理,扩边处理后的多边形之间会存在部分像素重叠的情况,也即,同一像素可能属于不同的扩边多边形。而在完成变换后,目标图像中的不同图像块之间也可能出现部分重叠,尤其是在图像块的边缘部位。其中,目标图像中的重叠,主要是指,原始图像中两个不同的像素点被映射到目标图像中的相同位置。因此,在具体实现时,还可以对这种情况进行处理,具体的,如果有两个像素点被映射到目标图像中相同位置,则可以从这两个像素点中选择透明度更低的一个,展示到该位置,等等。其中,关于像素点的透明度信息,可以在前述进行图像本体内容识别的过程中获得,或者也可以通过其他方式获得,这里不进行限定。
121.总之,通过本技术实施例,可以对图像进行变形处理的过程中,可以将原始图像中的图像主体内容剖分为多个初始多边形图像块,并且,可以对每个初始多边形进行扩展边界处理,得到扩边多边形图像块。之后,具体可以利用第一变换模型将这种扩边多边形图像块的顶点映射到目标图像中。再结合第二变换模型,可以实现扩边多边形图像块内部的像素点向目标图像的映射,进而生成具体的目标图像。通过这种方式,由于对多边形图像块进行了扩展边界处理,因此,使得不同的多边形图像块之间产生重叠的区域,这样,即使在映射的过程中,不同的扩边多边形图像块之间的距离被拉远,也可以通过这种重叠区域的存在,来弥补被拉远的距离所可能产生的缝隙,以此提升变形之后的图像效果。
122.实施例二
123.该实施例二是对前述实施例一提供的算法在商品对象微动效属性场景中的应用,提供了一种为商品对象生成动图的方法,参见图10,该方法可以包括:
124.s1001:确定需要生成动图的目标商品对象以及对应的原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容;
125.s1002:将所述图像主体内容剖分为多个原始多边形图像块,并对所述原始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
126.s1003:从所述图像主体内容中确定多个锚点的位置,以及各锚点分别在多帧目标图像中的期望位置;
127.s1004:针对所述多帧目标图像,分别进行以下处理:
128.对于当前目标图像,根据多个锚点的位置以及所述期望位置建立第一变换模型,利用所述第一变换模型将所述扩边多边形图像块的顶点映射到所述当前目标图像中;根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述当前目标图像中,以生成所述当前目标图像;
129.s1005:根据所生成的多帧目标图像,生成所述目标商品对象的动图。
130.具体在确定需要生成动图的目标商品对象以及对应的原始图像时,可以有多种方法,例如,用户可以直接输入原始图像,或者,在另一种方式下,用户可以输入目标商品对象关联的目标页面的页面地址信息。例如,具体可以是商品对象详情页面的链接地址等等。之后,可以根据所述页面地址信息,对所述目标页面关联的图像进行分析,并从中确定符合目标条件的图像作为所述原始图像。
131.另外,在具体实现时,还可以与商品对象信息系统进行打通,并且可以提供用于对所述动图进行发布的操作控件,这样,在通过所述操作控件接收到用户操作后,可以将所生成的动图发布到所述目标页面中。例如,具体可以发布到详情页面中的商品主图资源位中,等等。
132.关于该实施例二中的未详述部分,可以参见实施例一中的记载,这里不再赘述。
133.需要说明的是,本技术实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
134.与实施例一相对应,本技术实施例还提供了一种图像变形装置,参见图11,该装置可以包括:
135.原始图像确定单元1101,用于确定原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容;
136.扩边处理单元1102,用于将所述图像主体内容剖分为多个初始多边形图像块,并对所述初始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
137.第一映射单元1103,用于利用第一变换模型,将所述扩边多边形图像块的顶点映射到变形后的目标图像中;
138.第二映射单元1104,用于根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述目标图像中。
139.其中,扩边处理单元具体可以用于:
140.将所述图像主体内容剖分为多个初始三角形图像块,并对所述初始三角形图像块进行边界扩大处理,得到多个扩边三角形图像块。
141.具体在将所述图像主体内容剖分为多个初始三角形图像块时,所述扩边处理单元具体可以用于:
142.对所述原始图像进行网格划分;
143.遍历所有网格,保留包含图像主体内容的网格顶点并进行去重处理;
144.根据所述保留的网格顶点调用预置的剖分算法,得到所述多个三角形图像块。
145.具体的,扩边处理单元具体可以用于:
146.对于三角形图像块的每个顶点分别进行如下处理:
147.按照目标距离在顶点周围选取多个备选点组成备选点集合;
148.分别以所述顶点所在的两条边作为分界线,从所述备选点集合中选取第一备选点子集,以及第二备选点子集,其中,在以其中一条边作为分界线进行备选点子集的选取时,将以该边为对边的顶点作为参考顶点,选取与该参考顶点异侧的备选点形成备选点子集;
149.根据所述第一备选点子集与第二备选点子集的交集,确定顶点的替代点;
150.连接各顶点的替代点,得到所述扩边三角形图像块。
151.具体的,所述目标距离的大小,与不同的图像块在映射过程中可能被拉远的距离相关。
152.其中,所述第二映射单元具体可以用于:
153.根据扩边三角形图像块的顶点在映射前后的位置对应关系信息,确定三组映射点;
154.基于所述三组映射点,利用仿射变换模型,将所述扩边三角形图像块内的像素点映射到所述目标图像中。
155.具体的,所述第一变换模型包括移动最小二乘法变换模型;
156.所述第一映射单元具体可以用于:
157.基于所述原始图像中设置的多个锚点位置,以及各锚点在待生成的目标图像中对应的期望位置,建立移动最小二乘法拟合函数;
158.利用所述移动最小二乘法拟合函数,将所述顶点映射到所述待生成的目标图像中,以确定所述顶点在所述待生成的目标图像中的位置映射结果。
159.另外,该装置还可以包括:
160.像素点选择单元,用于如果存在多个像素点被映射到目标图像中的相同位置,则从所述多个像素点中选择透明度较低者映射到该位置。
161.与实施例二相对应,本技术实施例还提供了一种为商品对象生成动图的装置,参见图12,该装置可以包括:
162.原始图像确定单元1201,用于确定需要生成动图的目标商品对象以及对应的原始图像,并从所述原始图像中识别出待进行变形处理的图像主体内容;
163.扩边处理单元1202,用于将所述图像主体内容剖分为多个原始多边形图像块,并对所述原始多边形图像块进行边界扩大处理,得到多个扩边多边形图像块;
164.锚点位置确定单元1203,用于从所述图像主体内容中确定多个锚点的位置,以及各锚点分别在多帧目标图像中的期望位置;
165.目标图像生成单元1204,用于针对所述多帧目标图像,分别进行以下处理:对于当前目标图像,根据多个锚点的位置以及所述期望位置建立第一变换模型,利用所述第一变换模型将所述扩边多边形图像块的顶点映射到所述当前目标图像中,并根据所述顶点在映射前后的位置对应关系信息,利用第二变换模型,将所述扩边多边形图像块内的像素点映射到所述当前目标图像中,以生成所述当前目标图像;
166.动图生成单元1205,用于根据所生成的多帧目标图像,生成所述目标商品对象的动图。
167.另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
168.以及一种电子设备,包括:
169.一个或多个处理器;以及
170.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
171.其中,图13示例性的展示出了电子设备的架构,具体可以包括处理器1310,视频显
示适配器1311,磁盘驱动器1312,输入/输出接口1313,网络接口1314,以及存储器1320。上述处理器1310、视频显示适配器1311、磁盘驱动器1312、输入/输出接口1313、网络接口1314,与存储器1320之间可以通过通信总线1330进行通信连接。
172.其中,处理器1310可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术所提供的技术方案。
173.存储器1320可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1320可以存储用于控制电子设备1300运行的操作系统1321,用于控制电子设备1300的低级别操作的基本输入输出系统(bios)。另外,还可以存储网页浏览器1323,数据存储管理系统1324,以及图像变形处理系统1325等等。上述图像变形处理系统1325就可以是本技术实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本技术所提供的技术方案时,相关的程序代码保存在存储器1320中,并由处理器1310来调用执行。
174.输入/输出接口1313用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
175.网络接口1314用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
176.总线1330包括一通路,在设备的各个组件(例如处理器1310、视频显示适配器1311、磁盘驱动器1312、输入/输出接口1313、网络接口1314,与存储器1320)之间传输信息。
177.需要说明的是,尽管上述设备仅示出了处理器1310、视频显示适配器1311、磁盘驱动器1312、输入/输出接口1313、网络接口1314,存储器1320,总线1330等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本技术方案所必需的组件,而不必包含图中所示的全部组件。
178.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
179.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根
据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
180.以上对本技术所提供的图像变形方法、装置及电子设备,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献