CN111311617B - 一种动图剪裁方法、装置、设备及存储介质 - Google Patents
一种动图剪裁方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111311617B CN111311617B CN202010223451.7A CN202010223451A CN111311617B CN 111311617 B CN111311617 B CN 111311617B CN 202010223451 A CN202010223451 A CN 202010223451A CN 111311617 B CN111311617 B CN 111311617B
- Authority
- CN
- China
- Prior art keywords
- target
- polygonal
- frame
- contours
- contour
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005520 cutting process Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000010586 diagram Methods 0.000 title claims description 27
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 9
- 230000001788 irregular Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供了一种动图剪裁方法、装置、设备及存储介质,该方法包括:获取待处理动图,该待处理动图包括多帧图片;绘制每帧图片中的每一物体的多边形轮廓;确定每一物体在多帧图片中的多边形轮廓的并集,得到每一物体在待处理动图中的最终轮廓;获取针对每一物体中目标物体的剪裁指令;确定包含目标物体的最终轮廓的目标剪裁框;根据目标剪裁框对多帧图片进行剪裁,得到包括目标物体的目标动图。用户可以通过目标剪裁框对待处理动图直接剪裁得到包含目标物体的目标动图,不需要根据目标物体在动图中每一帧的位置不断地调整剪裁框,可以简化动图的剪裁过程,提高用户体验。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种动图剪裁方法、装置、设备及存储介质。
背景技术
目前,动图中的目标物体会移动至不同位置,在剪裁动图,获得包含目标物体的区域动图时,用户很难控制剪裁框的边界,需要反复调整剪裁框,使得动图的剪裁过程很繁琐。此外,当动图的某些帧图片中某些物体与目标物体间的距离过近时,为了不将与目标物体距离过近的物体剪裁入包含目标物体的区域动图中,用户同样需要反复调整剪裁框,使得动图的剪裁过程更为繁琐,用户体验不佳。
发明内容
本发明实施例的目的在于提供一种动图剪裁方法、装置、设备及存储介质,简化动图的剪裁过程,提高用户体验。具体技术方案如下:
为达到上述目的,本发明实施例提供了一种动图剪裁方法,所述方法包括:
获取待处理动图,所述待处理动图包括多帧图片;
绘制每帧图片中的每一物体的多边形轮廓;
确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓;
获取针对所述每一物体中目标物体的剪裁指令;
确定包含所述目标物体的最终轮廓的目标剪裁框;
根据所述目标剪裁框对所述多帧图片进行剪裁,得到包括所述目标物体的目标动图。
可选的,所述方法还包括:
获取针对所述待处理动图的旋转指令,所述旋转指令包括目标角度;
将所述待处理动图旋转所述目标角度;
所述确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓的步骤,包括:
确定所述每一物体在所述多帧图片中的多边形轮廓的并集;
将所述并集旋转所述目标角度,得到所述每一物体在所述待处理动图中的最终轮廓。
可选的,所述确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓的步骤,还包括:
对于每一物体,对该物体在所述多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集;将每一组轮廓的并集作为该物体在所述待处理动图中的一个最终轮廓。
可选的,所述将每一组轮廓的并集作为该物体在所述待处理动图中的一个最终轮廓的步骤,包括:
对于每一组轮廓,确定该组轮廓中每一多边形轮廓的多个顶点;
去除所述每一多边形轮廓的多个顶点中位于其他多边形轮廓内的顶点;
将剩余的顶点组成的轮廓作为该组轮廓的并集,得到该物体在所述待处理动图中的一个最终轮廓。
可选的,所述获取针对所述每一物体中的目标物体的剪裁指令的步骤,包括:
获取用户剪裁框;
确定所述每一物体中多边形轮廓与所述用户剪裁框存在交集的候选物体;
确定交集面积与整体面积的比值,所述交集面积为所述候选物体的多边形轮廓与所述用户剪裁框的交集的面积,所述整体面积所述候选物体的多边形轮廓的面积;
若所述比值大于第一预设比例阈值,则确定所述候选物体为目标物体,接收到针对所述目标物体的剪裁指令。
可选的,所述确定包含所述目标物体的最终轮廓的目标剪裁框的步骤,包括:
获取预设剪裁框;
缩放所述预设剪裁框,直至所述预设剪裁框为包含所述目标物体的最终轮廓的最小剪裁框;
将所述最小剪裁框作为目标剪裁框。
为达到上述目的,本发明实施例还提供了一种动图剪裁装置,所述装置包括:
第一获取模块,用于获取待处理动图,所述待处理动图包括多帧图片;
绘制模块,用于绘制每帧图片中的每一物体的多边形轮廓;
第一确定模块,用于确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓;
第二获取模块,用于获取针对所述每一物体中目标物体的剪裁指令;
第二确定模块,用于确定包含所述目标物体的最终轮廓的目标剪裁框;
剪裁模块,用于根据所述目标剪裁框对所述多帧图片进行剪裁,得到包括所述目标物体的目标动图。
可选的,所述装置还包括:
第三获取模块,用于获取针对所述待处理动图的旋转指令,所述旋转指令包括目标角度;
旋转模块,用于将所述待处理动图旋转所述目标角度;
所述第一确定模块包括:
第一确定子模块,用于确定所述每一物体在所述多帧图片中的多边形轮廓的并集;
旋转子模块,用于将所述并集旋转所述目标角度,得到所述每一物体在所述待处理动图中的最终轮廓。
可选的,所述第一确定模块还包括:
分组子模块,用于对于每一物体,对该物体在所述多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集;将每一组轮廓的并集作为该物体在所述待处理动图中的一个最终轮廓。
可选的,所述分组子模块包括:
确定单元,用于对于每一组轮廓,确定该组轮廓中每一多边形轮廓的多个顶点;
去除单元,用于去除所述每一多边形轮廓的多个顶点中位于其他多边形轮廓内的顶点;
获取单元,用于将剩余的顶点组成的轮廓作为该组轮廓的并集,得到该物体在所述待处理动图中的一个最终轮廓。
可选的,所述第二获取模块包括:
第一获取子模块,用于获取用户剪裁框;
第二确定子模块,用于确定所述每一物体中多边形轮廓与所述用户剪裁框存在交集的候选物体;
计算子模块,用于确定交集面积与整体面积的比值,所述交集面积为所述候选物体的多边形轮廓与所述用户剪裁框的交集的面积,所述整体面积为所述候选物体的多边形轮廓的面积;
判断子模块,用于若所述比值大于第一预设比例阈值,则确定所述候选物体为目标物体,接收到针对所述目标物体的剪裁指令。
可选的,所述第二确定模块包括:
第二获取子模块,用于获取预设剪裁框;
缩放子模块,用于缩放所述预设剪裁框,直至所述预设剪裁框为包含所述目标物体的最终轮廓的最小剪裁框;
第三确定子模块,用于将所述最小剪裁框作为目标剪裁框。
为达到上述目的,本发明实施例还提供了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
为达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
为达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法步骤。
本发明实施例有益效果:
本发明实施例提供的一种动图剪裁方法、装置设备及存储介质,该方法绘制待处理动图中每一物体的多边形轮廓,得到每一物体的多边形轮廓的并集,也就是,得到每一物体的最终轮廓。这里,每一物体的最终轮廓可以理解为该物体在待处理动图中所占的区域,待处理动图的每一帧图片中的该物体均在该区域内。在确定待处理动图中的目标物体后,只需要确定包括目标物体的最终轮廓的目标剪裁框即可,因为待处理动图的每一帧图片中的目标物体均在目标剪裁框中。也就是,依据目标剪裁框对待处理动图进行剪裁,即可得到包括目标物体的目标动图。此时,用户不需要反复调整剪裁框,简化了动图的剪裁过程,提高了用户体验。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种动图剪裁方法的一种流程图;
图2为本发明实施例提供的一种动图剪裁方法的另一种流程图;
图3为本发明实施例提供的一种确定每一物体最终轮廓的一种流程图;
图4为本发明实施例提供的一种确定每一物体最终轮廓的另一种流程图;
图5为本发明实施例提供的一种确定每一物体多边形轮廓的并集的一种流程图;
图6a为本发明实施例提供的目标物体在一帧图片中的多边形轮廓的一种示意图;
图6b为本发明实施例提供的目标物体在另一帧图片中的多边形轮廓的一种示意图;
图6c为基于图6a和图6b所示的多边形轮廓的最终轮廓的一种示意图;
图7为本发明实施例提供的一种获取针对目标物体的剪裁指令的一种流程图;
图8为本发明实施例提供的一种确定目标剪裁框的一种流程图;
图9为本发明实施例提供的一种确定目标剪裁框的一种示意图;
图10为本发明实施例提供的一种动图剪裁装置的一种结构示意图;
图11为本发明实施例提供的一种电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,动图中的目标物体会移动至不同位置,在剪裁动图,获得包含目标物体的区域动图时,用户很难控制剪裁框的边界,需要反复调整剪裁框,使得动图的剪裁过程很繁琐。此外,当动图的某些帧图片中某些物体与目标物体间的距离过近时,为了不将与目标物体距离过近的物体剪裁入包含目标物体的区域动图中,用户同样需要反复调整剪裁框,使得动图的剪裁过程更为繁琐,用户体验不佳。
由于现有技术中用户很难控制剪裁框的边界,需要反复调整剪裁框,使得动图的剪裁过程很繁琐,为解决这一技术问题,本发明实施例提供了一种动图剪裁方法、装置、设备及存储介质。
如图1所示,图1为本发明实施例提供的一种动图剪裁方法的一种流程图,该方法包括:
步骤101,获取待处理动图,待处理动图包括多帧图片。
步骤102,绘制每帧图片中的每一物体的多边形轮廓。
步骤103,确定每一物体在多帧图片中的多边形轮廓的并集,得到每一物体在待处理动图中的最终轮廓。
步骤104,获取针对每一物体中目标物体的剪裁指令。
步骤105,确定包含目标物体的最终轮廓的目标剪裁框。
步骤106,根据目标剪裁框对多帧图片进行剪裁,得到包括目标物体的目标动图。
本发明实施例提供的动图剪裁方法中,绘制待处理动图中每一物体的多边形轮廓,得到每一物体的多边形轮廓的并集,也就是,得到每一物体的最终轮廓。这里,每一物体的最终轮廓可以理解为该物体在待处理动图中所占的区域,待处理动图的每一帧图片中的该物体均在该区域内。在确定待处理动图中的目标物体后,只需要确定包括目标物体的最终轮廓的目标剪裁框即可,因为待处理动图的每一帧图片中的目标物体均在目标剪裁框中。也就是,依据目标剪裁框对待处理动图进行剪裁,即可得到包括目标物体的目标动图。此时,用户不需要反复调整剪裁框,简化了动图的剪裁过程,提高了用户体验。
步骤101中,待处理动图中包含有多帧静态图片,由多帧静态图片不停切换达到动画的效果。待处理动图可由用户直接上传后,储存在服务器中。也可以在用户输入与目标图片相关的信息后,服务器后台从图片库中检索获得。
步骤102中,获取到待处理动图后,识别待处理动图的每一帧图片中每一物体,绘制出每一帧图片中每一物体的轮廓。这里,物体可以包括人、石头、树木、建筑等。
一个实施例中,多边形轮廓可以采用矩形轮廓,也就是,绘制每帧图片中每一物体的矩形轮廓。由于矩形规则且对称,采用矩形轮廓,降低绘制轮廓的操作难度。
另一个实施例中,多边形轮廓可以采用不规则的多边形轮廓,也就是,沿着物体的不规则外形,绘制每帧图片中每一物体不规则的多边形轮廓。这样,绘制的轮廓可以更好的贴合每一物体。
步骤103中,对于每一物体,确定了该物体的一个或多个多边形轮廓,获取该物体的一个或多个多边形轮廓的并集,基于这一并集得到该物体的最终轮廓。该物体的最终轮廓覆盖的区域包括该物体每一多边形轮廓覆盖的区域。
例如,待处理动图中包括图片1和图片2。物体A在图片1中的多边形轮廓覆盖的区域可以划分为区域A1和区域A2,物体A在图片2中的多边形轮廓覆盖的区域可以划分为区域A2和区域A3。此时,物体A的最终轮廓可确定覆盖的区域包括区域A1、区域A2和区域A3。
本发明实施例中,由于物体对应的多边形轮廓的并集中,包括该物体在每一帧的轮廓,因此,当用户剪裁图片时,只需要对多边形轮廓的并集进行剪裁处理即可,不需要根据每一帧的目标物体的位置来不断调整剪裁边框,降低了操作难度。
步骤104中,可以将用户指定的待处理动图中的一个或多个物体作为目标物体,进而生成针对目标物体的剪裁指令。
本发明实施例中,用户可以通过点击操作,选中待处理动图中的物体作为目标物体。用户也可以通过文字输入的方式,输入目标物体所在区域的坐标或目标物体的特征等;进而基于目标物体所在区域的坐标或目标物体的特征等,确定目标物体。本发明实施例还可以通过其他方式确定目标物体,对此不作具体限定。
本发明实施例中,步骤104可在步骤101-103中任一步骤之前或之后执行,对此不作具体限定。
步骤105中,基于剪裁指令所针对的目标物体,获得该目标物体的最终轮廓,进而确定包含该目标物体的最终轮廓的目标剪裁框。也就是,该目标物体的最终轮廓位于目标剪裁框区域内。此时,待处理动图的每一帧图片中的该目标物体均位于目标剪裁框中,因此,剪裁动图,获得包含目标物体的区域动图时不需要反复调整剪裁框,简化了动图的剪裁过程,提高了用户体验。
步骤106中,目标剪裁框包含了用户想要剪裁的目标物体,根据目标剪裁框直接对待处理动图进行剪裁,即可得到包含目标物体的动图。
一种实施例中,可旋转待处理动图,如图2所示,本发明实施例提供的方法还可以包括以下步骤:
步骤201,获取针对待处理动图的旋转指令,旋转指令包括目标角度。
步骤202,将待处理动图旋转目标角度。
本发明实施例中,图2所示的方法可实现对待处理动图进行旋转。
步骤201中,获取旋转指令的过程可以为获取用户输入的包括目标角度的旋转指令。获取旋转指令的过程也可以为获取用户针对待处理动图的旋转操作,基于旋转操作,确定出目标角度,进而生成针对待处理动图的旋转指令。本发明实施例中,还可以通过其他方式获取到旋转指令,对此不作具体限定。
本发明实施例中,步骤201可以在步骤102之前或之后执行,也可以与步骤102同时执行。
步骤202中,从旋转指令中获取到目标角度,依据获取的目标角度,将待处理动图旋转目标角度,实现待处理动图的旋转。
本发明实施例中,在对待处理动图进行旋转的情况下,如图3所示,步骤103可以细化为如下步骤:
步骤1031,确定每一物体在多帧图片中的多边形轮廓的并集。
步骤1032,将并集旋转目标角度,得到每一物体在待处理动图中的最终轮廓。
当用户旋转待处理动图时,待处理动图中的物体也会发生旋转,若再根据原有的最终轮廓为用户提供目标剪裁框,目标剪裁框中可能会包含部分目标物体或不包含目标物体。因此,为保证目标剪裁框可以包含目标物体,要将每一物体的多边形轮廓的并集旋转同样的角度,将旋转同样角度后的多边形轮廓的并集作为该物体的最终轮廓。
其中,步骤201可以位于步骤1031之前,也可以位于步骤1031之后,也可以与步骤1031同时执行,本发明实施例对此不作限定。
一种实施例中,待处理动图中目标物体的位置变化范围可能比较大,为能够更准确地确定目标剪裁框,更准确地进行动态裁剪,如图4所示,步骤103还可以细化为如下步骤:
步骤1033,对于每一物体,可以对该物体在多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集。
步骤1034,将每一组轮廓的并集作为该物体在待处理动图中的一个最终轮廓。
本发明实施例中,将某一物体不存在交集的多边形轮廓归为位置变化较大的图片帧,因此对该物体在多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集。将每一组轮廓的并集作为该物体在待处理动图中的一个最终轮廓。同时根据用户的剪裁指令提供包含目标物体的目标剪裁框。使得目标剪裁框中尽量只包含目标物体或包含较少的除目标物体外的其他物体,进而更准确地进行动态裁剪。
步骤1033中,对于每一物体,将存在交集该物体的多边形轮廓划分为一组,得到一组或多组多边形轮廓。这里,存在交集是指,该物体的一个多边形轮廓与一组多边形轮廓中的一个或多个多边形轮廓存在重叠区域,则说明该物体的这个多边形轮廓与这一组多边形轮廓存在交集,此时,该物体的这个多边形轮廓可以划分至这一组多边形轮廓中。
例如,待处理动图包括图片1-5,图片1中物体A的多边形轮廓1,图片2中物体A的多边形轮廓2,图片3中物体A的多边形轮廓3,图片4中物体A的多边形轮廓4,图片5中物体A的多边形轮廓5,其中,多边形轮廓1与多边形轮廓2存在交集,多边形轮廓2与多边形轮廓5存在交集,多边形轮廓3与多边形轮廓4存在交集,因此,多边形轮廓1、多边形轮廓2和多边形轮廓5划分为一组,多边形轮廓3和多边形轮廓4划分为一组。
本发明的一个实施例中,可以基于多边形轮廓的位置坐标,确定多边形轮廓是否存在交集,进而进行分组。例如,目标物体从左下角到右上角之间运动,将图片分为3个区域,即左下角区域、右上角区域及中间区域,确定目标物体的位置坐标位于左下角区域的多边形轮廓存在交集,划分为一组;确定目标物体的位置坐标位于右下角区域的多边形轮廓存在交集,划分为一组;确定目标物体的位置坐标位于中下角区域的多边形轮廓存在交集,划分为一组。
步骤1034中,将每一组多边形轮廓的并集作为该物体的一个最终轮廓。若一个物体的多边形轮廓划分为多组,则可确定出多个该物体的最终轮廓。
仍以步骤1033中的例子为例进行说明。物体A的多边形轮廓划分了2组,此时,可将多边形轮廓1、多边形轮廓2和多边形轮廓5的并集,作为物体A的最终轮廓1,将多边形轮廓3和多边形轮廓4的并集,作为物体A的最终轮廓2。
之后,步骤105中,对于每一物体,基于该物体的最终轮廓数目,确定出相同数量个目标剪裁框。再之后,步骤106中,基于确定的目标剪裁框进行裁剪,若一个物体对应多个目标剪裁框,合并基于这多个目标剪裁框剪裁得到的图片,得到包括目标物体的目标动图。
由于在动图中,物体在每一帧的位置都可以不同,当物体在某一帧中的位置与在其他帧中的位置相比,变化较大,如从待处理动图的左下角运动至待处理动图的右上角。为将该物体在每一帧的多边形轮廓都纳入多边形轮廓的并集中,多边形轮廓的并集面积会很大,同时该物体的多边形轮廓的并集内会包含有很多其他物体,使得动图的剪裁不够精确。本发明实施例中,存在交集的一物体的多边形轮廓划分为一组,确定每一组轮廓的并集,得到物体的一个最终轮廓,基于该物体的一个最终轮廓分别进行裁剪,避免了物体在某一帧中的位置与在其他帧中的位置相比,变化较大,所导致的多边形轮廓的并集内包含有很多其他物体的问题,提高了动图剪裁精确度。
一种实施例中,如图5所示,步骤1034可以细化为如下步骤:
步骤501,对于每一组轮廓,确定该组轮廓中每一多边形轮廓的多个顶点。
步骤502,去除每一多边形轮廓的多个顶点中位于其他多边形轮廓内的顶点。
步骤503,将剩余的顶点组成的轮廓作为该组轮廓的并集,得到该物体在待处理动图中的一个最终轮廓。
通过顶点的位置可以清楚地判断出每一组轮廓中存在交集的两个多边形轮廓的重叠部分,去除多边形轮廓中位于其他多边形轮廓中的顶点,剩下的顶点也就是该多边形轮廓位于最边缘或最外侧的顶点,按预设方向连接该组轮廓中位于最外侧的顶点得到并集,该并集不仅包含了该组轮廓中的所有的多边形轮廓,还十分贴合该组轮廓对应的物体,从而实现对动图的精确剪裁。
步骤501中,每一组轮廓即为物体在每一帧的多边形轮廓中存在交集的轮廓。一个多边形轮廓包括多个顶点。在绘制出每一物体的多边形轮廓后,即可得到每一物体的多边形轮廓的多个顶点。
步骤502中,在获取一组轮廓中每个多边形轮廓的所有顶点后,由于多边形轮廓间存在交集,则每个多边形轮廓均存在位于其他轮廓内的顶点,找到这个顶点,并将该顶点去除,得到每一组轮廓中的剩余顶点。
步骤503中,对于每一组轮廓,将该组轮廓中剩余顶点组成的轮廓,该作为该组轮廓的并集,该组轮廓的并集即为该物体在待处理动图中的一个最终轮廓。
一个实施例中,每一物体的最终轮廓为凸多边形轮廓。具体的,对于每一组轮廓,可以按照预设的方向连接该组轮廓中剩余顶点中最外侧的顶点,获得凸多边形轮廓,该凸多边形轮廓即为该组轮廓的并集,也就是该物体在待处理动图中的一个最终轮廓。其中,预设方向可以为顺时针,也可以为逆时针。
例如,图6a为目标物体在一帧图片中的多边形轮廓11,图6b为目标物体在另一帧图片中的多边形轮廓12。这两个轮廓存在交集,如图6c所示。从图6c中可以看出,多边形轮廓11的顶点P2在多边形轮廓12内,多边形轮廓12的顶点D5在多边形轮廓11内,因此,去除顶点P2和D5,此时剩余顶点包括P1、P3、P4、P5、P6、D1、D2、D3、D4,按照预设的方向连接该组轮廓中剩余顶点中最外侧的顶点P1、D2、D3、D4、P3、P4、P5、D1、P6、P1,得到凸多边形轮廓13,该凸多边形轮廓即为目标物体的一个最终轮廓。
一种实施例中,如图7所示,步骤104可以细化为如下步骤:
步骤1041,获取用户剪裁框。
步骤1042,确定每一物体中多边形轮廓与用户剪裁框存在交集的候选物体。
步骤1043,确定交集面积与整体面积的比值,其中,交集面积为候选物体的多边形轮廓与用户剪裁框的交集的面积,整体面积为候选物体的多边形轮廓的面积。
步骤1044,判断比值是否大于第一预设比例阈值,若是,则执行步骤1045;若否,则执行步骤1046。
步骤1045,确定候选物体为目标物体,接收到针对目标物体的剪裁指令。
步骤1046,确定候选物体不是目标物体。
本发明实施例中,通过判断与用户剪裁框存在交集的物体位于剪裁框内的面积的大小,来判断该物体是否是目标物体,可以更加准确地获取用户想要进行剪裁的目标物体,更加精确地确定目标剪裁框。
步骤1041中,用户剪裁框为用户指定的剪裁框,也就是当用户想要对待处理动图中的某一物体进行剪裁时,针对该物体建立的剪裁框。例如,用户针对目标物体在待处理动图上绘制的一个矩形框,矩形框中包含用户想要剪裁的物体。
步骤1042中,用户剪裁框为用户指定的剪裁框,用户剪裁框可能并不能正好的只包含了目标物体,该用户剪裁框可能与一个或多个物体存在交集。确定与用户剪裁框存在交集的一个或多个物体,这一个或多个物体都有可能是用户想要进行剪裁的目标物体。将这一个或多个物体作为候选物体。
步骤1043,确定每一候选物体的多边形轮廓与用户剪裁框的交集的面积,作为该候选物体对应的交集面积,确定每一候选物体的多边形轮廓的面积,作为该候选物体对应的整体面积。比较每一候选物体对应的交集面积和整体面积,得到每一候选物体对应的交集面积与整体面积的比值。
步骤1044-1046中,对于每一候选物体,判断该候选物体对应的比值是否大于第一预设比例阈值。若大于第一预设比例阈值,则确定该候选物体大部分区域都在用户剪裁框中,该候选物体是用户想要进行剪裁的目标物体。若小于等于第一预设比例阈值,则确定该候选物体只有一小部分区域都在用户剪裁框中,该候选物体不是用户想要进行剪裁的目标物体。
其中,第一预设比例阈值可以由用户根据实际需求设定,可以为90%,也可以为80%。
一种实施例中,如图8所示,步骤105可以细化为如下步骤:
步骤1051,获取预设剪裁框。
步骤1052,缩放预设剪裁框,直至预设剪裁框为包含目标物体的最终轮廓的最小剪裁框。
步骤1053,将最小剪裁框作为目标剪裁框。
本发明实施例中,由于多边形轮廓的并集为不规则的多边形,而为保证整齐美观,最后为用户提供的目标剪裁框需要为规则的矩形,缩放剪裁框直至获得最小剪裁框可以使目标剪裁框的大小更加贴合目标物体且使目标剪裁框的形状为规则的矩形。如图9所示,剪裁框P便为针对目标物体G提供的目标剪裁框,目标剪裁框内包含目标物体G的多边形轮廓的并集且不包含其他物体。
步骤1051中,获取的预设剪裁框可以为设定好的标准大小的剪裁框,也可以是根据目标物体的多边形轮廓的面积大小所提供的剪裁框。预设剪裁框还可以为用户指定的剪裁框,如上述用户剪裁框。
步骤1052-1053中,最小剪裁框可以理解为,包含目标物体,且除目标物体外剪裁框内不包含其他的物体或者包含有极少的其他物体。从而使得目标剪裁框尽可能地贴合目标物体,使得对待处理动图中目标物体的剪裁更加精确。
与一种动图剪裁方法实施例相对应,本发明实施例还提供了一种动图剪裁装置,如图10所示,该装置包括:
第一获取模块1001,用于获取待处理动图,其中,待处理动图包括多帧图片。
绘制模块1002,用于绘制每帧图片中的每一物体的多边形轮廓。
第一确定模块1003,用于确定每一物体在多帧图片中的多边形轮廓的并集,得到每一物体在待处理动图中的最终轮廓。
第二获取模块1004,用于获取针对每一物体中目标物体的剪裁指令。
第二确定模块1005,用于确定包含目标物体的最终轮廓的目标剪裁框。
剪裁模块1006,用于根据目标剪裁框对多帧图片进行剪裁,得到包括目标物体的目标动图。
一种实施例中,上述装置还可以包括:
第三获取模块,用于获取针对待处理动图的旋转指令,其中,旋转指令包括目标角度。
旋转模块,用于将待处理动图旋转目标角度。
其中,第一确定模块1003可以包括:
第一确定子模块,用于确定每一物体在多帧图片中的多边形轮廓的并集。
旋转子模块,用于将并集旋转目标角度,得到每一物体在待处理动图中的最终轮廓。
一种实施例中,第一确定模块1003还可以包括:
分组子模块,用于对于每一物体,对该物体在多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集。将每一组轮廓的并集作为该物体在待处理动图中的一个最终轮廓。
一种实施例中,上述分组子模块可以包括:
确定单元,用于对于每一组轮廓,确定该组轮廓中每一多边形轮廓的多个顶点。
去除单元,用于去除每一多边形轮廓的多个顶点中位于其他多边形轮廓内的顶点。
获取单元,用于将剩余的顶点组成的轮廓作为该组轮廓的并集,得到该物体在待处理动图中的一个最终轮廓。
一种实施例中,第二获取模块1004可以包括:
第一获取子模块,用于获取用户剪裁框。
第二确定子模块,用于确定每一物体中多边形轮廓与用户剪裁框存在交集的候选物体。
计算子模块,用于确定交集面积与整体面积的比值,其中,交集面积为候选物体的多边形轮廓与用户剪裁框的交集的面积,整体面积为候选物体的多边形轮廓的面积。
判断子模块,用于若上述比值大于第一预设比例阈值,则确定候选物体为目标物体,接收到针对目标物体的剪裁指令。
一种实施例中,第二确定模块1005包括:
第二获取子模块,用于获取预设剪裁框。
缩放子模块,用于缩放预设剪裁框,直至预设剪裁框为包含目标物体最终轮廓的最小剪裁框;
第三确定子模块,用于将最小剪裁框作为目标剪裁框。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现如下步骤:
获取待处理动图,待处理动图包括多帧图片;
绘制每帧图片中的每一物体的多边形轮廓;确定每一物体在多帧图片中的多边形轮廓的并集,得到每一物体在待处理动图中的最终轮廓;
获取针对每一物体中目标物体的剪裁指令;确定包含目标物体的最终轮廓的目标剪裁框;
根据目标剪裁框对多帧图片进行剪裁,得到包括目标物体的目标动图。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一动图剪裁方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一动图剪裁方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种动图剪裁方法,其特征在于,所述方法包括:
获取待处理动图,所述待处理动图包括多帧图片;
绘制每帧图片中的每一物体的多边形轮廓;
确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓;
获取针对所述每一物体中目标物体的剪裁指令;
基于所述剪裁指令所针对的目标物体,获得所述目标物体的最终轮廓,确定包含所述目标物体的最终轮廓的目标剪裁框;
根据所述目标剪裁框对所述多帧图片进行剪裁,得到包括所述目标物体的目标动图;
所述确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓的步骤,包括:
对于每一物体,对该物体在所述多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集;其中,存在交集是指,该物体的一个多边形轮廓与一组多边形轮廓中的一个或多个多边形轮廓存在重叠区域,则该物体的这个多边形轮廓与这一组多边形轮廓存在交集;
将每一组轮廓的并集作为该物体在所述待处理动图中的一个最终轮廓。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述待处理动图的旋转指令,所述旋转指令包括目标角度;
将所述待处理动图旋转所述目标角度;
所述确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓的步骤,包括:
确定所述每一物体在所述多帧图片中的多边形轮廓的并集;
将所述并集旋转所述目标角度,得到所述每一物体在所述待处理动图中的最终轮廓。
3.根据权利要求1所述的方法,其特征在于,所述将每一组轮廓的并集作为该物体在所述待处理动图中的一个最终轮廓的步骤,包括:
对于每一组轮廓,确定该组轮廓中每一多边形轮廓的多个顶点;
去除所述每一多边形轮廓的多个顶点中位于其他多边形轮廓内的顶点;
将剩余的顶点组成的轮廓作为该组轮廓的并集,得到该物体在所述待处理动图中的一个最终轮廓。
4.根据权利要求1所述的方法,其特征在于,所述获取针对所述每一物体中的目标物体的剪裁指令的步骤,包括:
获取用户剪裁框;
确定所述每一物体中多边形轮廓与所述用户剪裁框存在交集的候选物体;
确定交集面积与整体面积的比值,所述交集面积为所述候选物体的多边形轮廓与所述用户剪裁框的交集的面积,所述整体面积为所述候选物体的多边形轮廓的面积;
若所述比值大于第一预设比例阈值,则确定所述候选物体为目标物体,接收到针对所述目标物体的剪裁指令。
5.根据权利要求1所述的方法,其特征在于,所述确定包含所述目标物体的最终轮廓的目标剪裁框的步骤,包括:
获取预设剪裁框;
缩放所述预设剪裁框,直至所述预设剪裁框为包含所述目标物体的最终轮廓的最小剪裁框;
将所述最小剪裁框作为目标剪裁框。
6.一种动图剪裁装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理动图,所述待处理动图包括多帧图片;
绘制模块,用于绘制每帧图片中的每一物体的多边形轮廓;
第一确定模块,用于确定所述每一物体在所述多帧图片中的多边形轮廓的并集,得到所述每一物体在所述待处理动图中的最终轮廓;
第二获取模块,用于获取针对所述每一物体中目标物体的剪裁指令;
第二确定模块,用于基于所述剪裁指令所针对的目标物体,获得所述目标物体的最终轮廓,确定包含所述目标物体的最终轮廓的目标剪裁框;
剪裁模块,用于根据所述目标剪裁框对所述多帧图片进行剪裁,得到包括所述目标物体的目标动图;
所述第一确定模块,具体用于对于每一物体,对该物体在所述多帧图片中的多边形轮廓进行分组,每组轮廓包括的多边形轮廓存在交集;其中,存在交集是指,该物体的一个多边形轮廓与一组多边形轮廓中的一个或多个多边形轮廓存在重叠区域,则该物体的这个多边形轮廓与这一组多边形轮廓存在交集;将每一组轮廓的并集作为该物体在所述待处理动图中的一个最终轮廓。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取针对所述待处理动图的旋转指令,所述旋转指令包括目标角度;
旋转模块,用于将所述待处理动图旋转所述目标角度;
所述第一确定模块包括:
第一确定子模块,用于确定所述每一物体在所述多帧图片中的多边形轮廓的并集;
旋转子模块,用于将所述并集旋转所述目标角度,得到所述每一物体在所述待处理动图中的最终轮廓。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010223451.7A CN111311617B (zh) | 2020-03-26 | 2020-03-26 | 一种动图剪裁方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010223451.7A CN111311617B (zh) | 2020-03-26 | 2020-03-26 | 一种动图剪裁方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311617A CN111311617A (zh) | 2020-06-19 |
CN111311617B true CN111311617B (zh) | 2024-07-19 |
Family
ID=71146078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010223451.7A Active CN111311617B (zh) | 2020-03-26 | 2020-03-26 | 一种动图剪裁方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311617B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW456144B (en) * | 1999-12-16 | 2001-09-21 | Inventec Corp | Method for improving animation play efficiency |
CN110087096A (zh) * | 2019-04-15 | 2019-08-02 | 北京奇艺世纪科技有限公司 | 视频处理方法、装置及计算机可读存储介质 |
CN110347877A (zh) * | 2019-06-27 | 2019-10-18 | 北京奇艺世纪科技有限公司 | 一种视频处理方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748636A (zh) * | 2017-11-17 | 2018-03-02 | 深圳泉眼体育运营管理有限公司 | 图片批量剪裁方法、装置及终端 |
CN108090916B (zh) * | 2017-12-21 | 2019-05-07 | 百度在线网络技术(北京)有限公司 | 用于跟踪视频中的目标图形的方法和装置 |
CN110163932A (zh) * | 2018-07-12 | 2019-08-23 | 腾讯数码(天津)有限公司 | 图像处理方法、装置、计算机可读介质及电子设备 |
CN109448001B (zh) * | 2018-10-26 | 2021-08-27 | 世纪开元智印互联科技集团股份有限公司 | 一种图片自动裁剪方法 |
-
2020
- 2020-03-26 CN CN202010223451.7A patent/CN111311617B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW456144B (en) * | 1999-12-16 | 2001-09-21 | Inventec Corp | Method for improving animation play efficiency |
CN110087096A (zh) * | 2019-04-15 | 2019-08-02 | 北京奇艺世纪科技有限公司 | 视频处理方法、装置及计算机可读存储介质 |
CN110347877A (zh) * | 2019-06-27 | 2019-10-18 | 北京奇艺世纪科技有限公司 | 一种视频处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111311617A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10957093B2 (en) | Scene-based foveated rendering of graphics content | |
CN109961064B (zh) | 身份证文本定位方法、装置、计算机设备及存储介质 | |
US9600137B2 (en) | Providing selection areas for selectable objects in graphical interface | |
US10152213B2 (en) | Techniques for selecting objects in images | |
CN111260750B (zh) | openFL绘制矢量图形的处理方法、装置及电子设备 | |
CN112348836A (zh) | 一种自动提取建筑物轮廓的方法及装置 | |
CN109410213A (zh) | 基于包围盒的多边形图元裁剪方法、计算机可读存储介质、电子设备 | |
JPH07302336A (ja) | 画像の特徴を曖昧化する方法および装置 | |
CN110033507B (zh) | 模型贴图的内描线绘制方法、装置、设备及可读存储介质 | |
JP2021119457A (ja) | 背景なし画像の生成方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN111339944A (zh) | 装修风格识别方法、装置及电子设备 | |
CN113947768A (zh) | 一种基于单目3d目标检测的数据增强方法和装置 | |
CN111523531A (zh) | 文字处理方法、装置、电子设备及计算机可读存储介质 | |
CN109741413B (zh) | 一种场景中半透明物体的渲染方法、装置及电子设备 | |
CN108280135B (zh) | 实现数据结构可视化的方法、装置和电子设备 | |
CN111311617B (zh) | 一种动图剪裁方法、装置、设备及存储介质 | |
CN115668271A (zh) | 用于生成平面图的方法及装置 | |
US20220122258A1 (en) | Image Content Snapping Guidelines | |
CN111353115A (zh) | 一种雪碧图的生成方法及装置 | |
CN111192192B (zh) | 在图形中填充图像的方法、装置、设备以及介质 | |
CN110321190B (zh) | 一种桌面中图标优化的方法及装置 | |
CN116824090A (zh) | 一种曲面重建方法及装置 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN115984154A (zh) | 一种图像融合的方法、装置、存储介质及电子设备 | |
CN111739084B (zh) | 图片处理方法、图集处理方法、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |