CN112819839A - 基于b样条曲线的自定义抠图方法、装置、系统及介质 - Google Patents

基于b样条曲线的自定义抠图方法、装置、系统及介质 Download PDF

Info

Publication number
CN112819839A
CN112819839A CN202110121104.8A CN202110121104A CN112819839A CN 112819839 A CN112819839 A CN 112819839A CN 202110121104 A CN202110121104 A CN 202110121104A CN 112819839 A CN112819839 A CN 112819839A
Authority
CN
China
Prior art keywords
matting
spline curve
curve
spline
shape
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.)
Pending
Application number
CN202110121104.8A
Other languages
English (en)
Inventor
李天驰
孙悦
纪承志
徐培杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dianmao Technology Co Ltd
Original Assignee
Shenzhen Dianmao Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Dianmao Technology Co Ltd filed Critical Shenzhen Dianmao Technology Co Ltd
Priority to CN202110121104.8A priority Critical patent/CN112819839A/zh
Publication of CN112819839A publication Critical patent/CN112819839A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20096Interactive definition of curve of interest

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了基于B样条曲线的自定义抠图方法、装置、系统及介质,方法包括:在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线;当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。本发明实施例通过在目标图上根据检测到的抠图操作建立一个可调整的闭合的B样条曲线进行抠图,可在任意终端设备上通过调整B样条曲线实现灵活且流畅的自定义抠图。

Description

基于B样条曲线的自定义抠图方法、装置、系统及介质
技术领域
本发明涉及图像处理技术领域,尤其涉及基于B样条曲线的自定义抠图方法、装置、系统及介质。
背景技术
目前在图像处理时经常需要用到抠图技术,目前的抠图技术大都是基于三阶贝塞尔曲线开发的,采用贝塞尔曲线存在一定的缺点,例如一旦确定了特征多边形,就确定了曲线的阶次,局部修改会导致整段曲线均发生变化,使得自定义抠图时选区不够灵活,并且由于贝塞尔曲线的计算量较大,经常导致卡顿甚至闪退。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供基于B样条曲线的自定义抠图方法、装置、系统及介质,旨在解决现有技术中自定义抠图灵活性和流畅性较差的问题。
本发明的技术方案如下:
一种基于B样条曲线的自定义抠图方法,其包括如下步骤:
在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线;
当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;
根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。
所述的基于B样条曲线的自定义抠图方法中,所述在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线,包括:
检测用户在抠图图层上的移动轨迹;
采集所述移动轨迹对应的坐标点集合;
建立B-spline数据模型,将所述坐标点集合输入至B-spline数据模型后在所述抠图图层上生成闭合的B样条曲线。
所述的基于B样条曲线的自定义抠图方法中,所述当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域,包括:
根据用户输入的交互操作调整所述闭合的B样条曲线的形状;
当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域。
所述的基于B样条曲线的自定义抠图方法中,所述根据用户输入的交互操作调整所述闭合的B样条曲线的形状,包括:
检测用户输入的交互操作;
根据所述交互操作动态修改所述坐标点集合的参数;
根据动态修改后的所述坐标点集合调整所述闭合的B样条曲线的形状。
所述的基于B样条曲线的自定义抠图方法中,所述根据所述交互操作动态修改所述坐标点集合的参数,具体包括:
根据所述交互操作的动态轨迹,对应修改所述坐标点集合中的坐标点数量以及各个坐标点的坐标值。
所述的基于B样条曲线的自定义抠图方法中,所述交互操作包括曲线拖动和/或曲线挤压和/或曲线放大和/或曲线缩小。
所述的基于B样条曲线的自定义抠图方法中,所述在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线之前,还包括:
在目标图上新建一用于绘制抠图曲线的抠图图层。
本发明又一实施例还提供了一种基于B样条曲线的自定义抠图装置,所述装置包括:
绘制模块,用于在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段拼接的区间曲线;
选区模块,用于当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;
抠图模块,用于根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。
本发明又一实施例还提供了一种基于B样条曲线的自定义抠图系统,所述系统包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述基于B样条曲线的自定义抠图方法。
本发明的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的基于B样条曲线的自定义抠图方法。
本发明的另一实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使所述处理器执行上述的基于B样条曲线的自定义抠图方法。
有益效果:本发明公开了基于B样条曲线的自定义抠图方法、装置、系统及介质,相比于现有技术,本发明实施例通过在目标图上根据检测到的抠图操作建立一个可调整的闭合的B样条曲线进行抠图,可在任意终端设备上通过调整B样条曲线实现灵活且流畅的自定义抠图。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明提供的基于B样条曲线的自定义抠图方法较佳实施例的流程图;
图2为三阶贝塞尔曲线的结构示意图;
图3为B样条曲线闭合过程示意图;
图4为本发明提供的基于B样条曲线的自定义抠图方法第一应用实施例的流程图;
图5为本发明提供的基于B样条曲线的自定义抠图方法第二应用实施例的流程图;
图6为本发明提供的基于B样条曲线的自定义抠图装置较佳实施例的功能模块示意图;
图7为本发明提供的基于B样条曲线的自定义抠图系统较佳实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
请参阅图1,图1为本发明提供的基于B样条曲线的自定义抠图方法较佳实施例的流程图。如图1所示,其包括如下步骤:
S100、在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线;
S200、当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;
S300、根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。
本实施例中,在进行抠图操作时,先检测在目标图上输入的抠图操作,根据所述抠图操作绘制得到一条闭合的B样条曲线,具体所述抠图操作可通过用户手动输入或者在触发自动识别抠图等功能时系统自动检测,与常规的贝塞尔曲线相比,B样条曲线具有计算量减小且曲线更加平滑的优点,能保证绘制抠图曲线的流畅性,具体来说,B样条曲线包括多段依次拼接的区间曲线,即整条曲线是通过一段一段的区间曲线连接而成,采用分段连续多段式生成,B样条曲线的计算量比贝塞尔曲线少是因为B样条曲线的基本函数表是个数组,只计算一次,在处理闭合时,也只需要处理首尾附近的点互相的衔接关系即可,故而减少了不少计算工作量,因此从算法原理上就决定了,在同样保证闭合曲线衔接圆滑的条件下,B样条曲线比三阶贝塞尔曲线更具有优势。
具体来说,如图2所示,其为三阶贝塞尔曲线的结构图,三阶贝塞尔曲线的公式如下:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中P0、P1、P2、P3四个点定义了三阶方贝塞尔曲线,t是线条从起点走到终点的百分比,如图2所示,最下方的曲线为最终的贝塞尔曲线B(t)。
在坐标点集中,是需要保证所有连接点都能被圆滑连接,比如存在A、B、C、D四个点,连接点A和点B时,可以代入公式,P0=A,P3=B,其中控制点P1和P2是需要求算得出的,这两个控制点需要保证A到B到C之间的连线连贯,一般计算逻辑都比较复杂,也因具体使用场景而不同,之后再将B和C代入公式,继续求控制点,最后是C和D代入公式求算,最后得出能够连接A、B、C、D四个点的贝塞尔曲线。
而本实施例采用的B样条曲线不需要考虑如何保证连线连贯性,其为贝塞尔曲线的一般化,如图3所示,在处理闭合时,B样条曲线只需要处理首尾附近的点互相的衔接关系即可,即图3中的(a)寻找到收尾附近最接近的点(矩形框中的两点),将这两点闭合后得到图3中的(b)圆圈内的点,之后在图3中的(b)继续寻找到收尾附近最接近的点(矩形框中的两点),将其闭合后在图3中的(c)中新增加一个圆圈内的闭合点,之后在图3中的(c)继续寻找到收尾附近最接近的点(矩形框中的两点),将其闭合后得到图3中的(d)即实现曲线闭合,不需要考虑如何保证连线连贯性,因此减少了很多计算工作量,在同样保证闭合曲线衔接圆滑的条件下,B样条曲线的绘制效率与灵活度都更高。
之后当所述B样条曲线的形状为目标形状时,则将当前具有目标形状的B样条曲线确定为抠图区域,即所述B样条曲线的形状可灵活改变,直到其形状满足当前抠图需求时即将当前B样条曲线区域确定为抠图区域完成选区处理,由于B样条曲线采用多段拼接的方式,因此在灵活改变局部形状时不会影响曲线整体形状,更加有利于抠图选区时的准确性和灵活性;之后根据所述抠图区域即可从目标图中获取相应的抠图像素并生成抠图图像,实现灵活的自定义抠图过程,即本实施例中绘制得到的所述B样条曲线是可动态发生形变的闭合曲线,基于B样条曲线的计算特点,在对其进行形状调整时同样具有流畅的操作体验,避免发生卡顿甚至闪退等现象。
进一步地,所述在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线之前,还包括:
在目标图上新建一用于绘制抠图曲线的抠图图层。
本实施例中,抠图曲线即上述闭合的B样条曲线的绘制在新建的抠图图层上进行,在采用叠加图层进行抠图时,在调整B样条曲线得到抠图区域后通过图层重叠,抠出两个图层中不透明像素的并集且保留背景像素后即可输出抠图图像,避免直接在目标图上进行绘制抠图时可能由于操作失误等对目标图造成不可逆的破坏。
进一步地,所述在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线,包括:
检测用户在抠图图层上的移动轨迹;
采集所述移动轨迹对应的坐标点集合;
建立B-spline数据模型,将所述坐标点集合输入至B-spline数据模型后在所述抠图图层上生成闭合的B样条曲线。
本实施例中,所述抠图操作可以是用户在新建的抠图图层上输入的移动轨迹,例如通过鼠标点击滑动输入的移动轨迹,或者通过手指在触摸屏上直接触摸滑动输入的移动轨迹;或者所述抠图操作还可以是在开启自动抠图时系统根据自动识别结果例如人脸识别结果,自动在所述抠图图层上输入的移动轨迹,根据该移动轨迹中包含的触碰点或者点击位置等控制点,采集得到相应的坐标点集合,进而通过建立的B-spline数据模型对所述坐标点集合中包含的控制点进行处理后在所述抠图图层上生成闭合的B样条曲线,实现平滑且流畅的抠图曲线绘制,提升抠图操作的体验。
具体实施时,所述B-spline数据模型中包括了B样条曲线的基本函数和曲线计算公式,其中基本函数表达式为:
Figure BDA0002922314260000081
其中knot是节点表,knoti代表节点表中第i个节点,Bi,deg(t)代表基本函数表的元素,基本函数表是个数组,参数i和deg分别代表第i个元素和阶数。
这是个递归函数,因此还有一个基准值:
Figure BDA0002922314260000082
B样条曲线的计算公式为:
Figure BDA0002922314260000083
其中Pi为控制点,n为控制点数量,i为第i个控制点,Bi,deg(t)为基本函数。
进一步地,所述当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域,包括:
根据用户输入的交互操作调整所述闭合的B样条曲线的形状;
当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域。
本实施例中,在绘制了闭合的B样条曲线后,用户可根据需要输入相应的交互操作来任意调整曲线的形状,直到B样条曲线的形状满足抠图需求即得到了具有目标形状的B样条曲线,将当前具有目标形状的B样条曲线区域确定为抠图区域,实现抠图选区过程,由于B样条曲线的计算量少且可局部调整,在调整曲线形状过程中可始终保持平滑无毛刺的效果,确保抠图选区的准确性与流畅性。
具体实施时,所述交互操作包括曲线拖动和/或曲线挤压和/或曲线放大和/或曲线缩小,即用户对该闭合的B样条曲线可进行拖动、挤压、放大、缩小中的一种或多种交互操作,以实现对曲线形状的调整,当然还可根据需要增加其他的交互操作,例如复制、翻转、镜像等等,本发明对此不作限定。
进一步地,所述根据用户输入的交互操作调整所述闭合的B样条曲线的形状,包括:
检测用户输入的交互操作;
根据所述交互操作动态修改所述坐标点集合的参数;
根据动态修改后的所述坐标点集合调整所述闭合的B样条曲线的形状。
本实施例中,在具体调整曲线形状时,先检测用户输入的交互操作,根据所述交互操作动态修改所述坐标点集合的参数,即本实施例中所述坐标点集合是可动态变化的,由于B样条曲线是根据所述坐标点集合生成的,因此对所述坐标点集合的参数进行动态的修改即可实现实时的曲线形状调整,对应得到可动态发生形变的B样条曲线,这一动态变化的优化逻辑可以很大程度的提升操作流畅度和抠图灵活性,提升抠图产品体验。
进一步地,所述根据所述交互操作动态修改所述坐标点集合的参数,具体包括:
根据所述交互操作的动态轨迹,对应修改所述坐标点集合中的坐标点数量以及各个坐标点的坐标值。
本实施例中,针对所述坐标点集合的动态修改是根据所述交互操作的动态轨迹进行,根据所述动态轨迹对应修改所述坐标点集合中的坐标点数量以及各个坐标点的坐标值即可实现点集的动态变化,例如当用户输入曲线拖动操作时,根据其触碰点以及拖动方向对应修改各个坐标点的坐标值,得到随着曲线拖动操作同步移动的曲线;当用户输入曲线放大操作时,此时需要向外拉伸,根据放大比例同步增加所述坐标点集合中的坐标点数量;当用户输入曲线缩小操作时,此时需要向内积压,根据缩小比例同步减少所述坐标点集合中的坐标点数量,因此通过不断地对曲线的坐标点集和进行动态更新实现流畅顺滑的曲线形变效果,确保用户在自定义抠图时对抠图曲线准确且顺畅的调整,进而实现灵活无卡顿的自定义抠图过程。
为更好地理解本发明中的自定义抠图过程,以下结合图4和图5,举具体的应用实施例对本发明提供的自定义抠图方法的实施过程进行描述:
如图4所示,在第一应用实施例中,首先,放上一个抠图图层,在该图层上绘制一个曲线平滑的闭合曲线;之后输入交互操作以调整抠图范围,具体可以通过对曲线挤压、拖动等使曲线发生形变,拖动曲线边缘使曲线拉伸,挤压曲线边缘使曲线缩小,放大曲线使曲线形变粒度变小,缩小曲线使曲线形变粒度变大,且在形变过程中保证曲线始终平滑,无毛刺;之后在曲线形状变成目标形状后,从背景图中抠出曲线形状的图片,即生成抠图图片。
如图5所示,在第二应用实施例中,在调整曲线时,具体是通过B样条曲线坐标点集的动态变化来实现曲线的流畅变化,首先收集抠图图层上触碰点的集合,之后建立B-spline数据模型绘制成闭合的B样条曲线,可以根据交互操作放大缩小修改操作曲线的粒度因子,具体当触碰到其中一个坐标点并拖动坐标点时,若向圈外拉伸时,则按比例增加坐标点到集合中,若向内挤压时,则按比例减少集合中的坐标点,依此来形成新的坐标点集合,将新的坐标点集合重新建立数据模型后得到新的曲线,从而通过对坐标点集的动态调整来完成对B样条曲线的形状调整,当调整到目标形状时,则通过图层重叠,抠出两张图中不透明像素的并集像素后保留背景图的像素,舍弃曲线的像素后输出得到抠图图像。
由以上方法实施例可知,本发明提供的基于B样条曲线的自定义抠图方法通过在目标图上根据检测到的抠图操作建立一个可调整的闭合的B样条曲线进行抠图,可在任意终端设备上通过调整B样条曲线实现灵活且流畅的自定义抠图。
需要说明的是,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
本发明另一实施例提供一种基于B样条曲线的自定义抠图装置,如图6所示,装置1包括:
绘制模块11,用于在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线;
选区模块12,用于当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;
抠图模块13,用于根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。
所述绘制模块11、选区模块12和抠图模块13依次连接,具体实施方式请参考上述对应的方法实施例,此处不再赘述。
进一步地,所述绘制模块11包括:
检测单元,用于检测抠图图层上的移动轨迹;
采集单元,用于采集所述移动轨迹对应的坐标点集合;
绘制单元,用于建立B-spline数据模型,将所述坐标点集合输入至B-spline数据模型后在所述抠图图层上生成闭合的B样条曲线。
进一步地,所述选区模块12包括:
调整单元,用于根据用户输入的交互操作调整所述闭合的B样条曲线的形状;
选区单元,用于当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域。
进一步地,所述调整单元包括:
检测子单元,用于检测用户输入的交互操作;
动态修改子单元,用于根据所述交互操作动态修改所述坐标点集合的参数;
形状调整子单元,用于根据动态修改后的所述坐标点集合调整所述闭合的B样条曲线的形状。
进一步地,所述动态修改子单元具体用于根据所述交互操作的动态轨迹,对应修改所述坐标点集合中的坐标点数量以及各个坐标点的坐标值。
进一步地,所述基于B样条曲线的自定义抠图装置还包括:
图层建立模块,用于在目标图上新建一用于绘制抠图曲线的抠图图层。
本发明另一实施例提供一种基于B样条曲线的自定义抠图系统,如图7所示,系统10包括:
一个或多个处理器110以及存储器120,图7中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图7中以通过总线连接为例。
处理器110用于完成系统10的各种控制逻辑,其可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISCMachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于B样条曲线的自定义抠图方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行系统10的各种功能应用以及数据处理,即实现上述方法实施例中的基于B样条曲线的自定义抠图方法。
存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至系统10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的基于B样条曲线的自定义抠图方法,例如,执行以上描述的图1中的方法步骤S100至步骤S300。
本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤S100至步骤S300。
作为示例,非易失性存储介质能够包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(RAM)。通过说明丽非限制,RAM可以以诸如同步RAM(SRAM)、动态RAM、(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)以及直接Rambus(兰巴斯)RAM(DRRAM)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
本发明的另一种实施例提供了一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行上述方法实施例的基于B样条曲线的自定义抠图方法。例如,执行以上描述的图1中的方法步骤S100至步骤S300。
综上所述,本发明公开的基于B样条曲线的自定义抠图方法、装置、系统及介质中,方法通过检测用户输入的抠图操作,根据所述抠图操作在目标图上绘制闭合的B样条曲线;调整所述B样条曲线的形状至目标形状后,将当前曲线区域确定为抠图区域;从所述目标图中抠出所述抠图区域对应的像素,生成抠图图像。本发明实施例通过在目标图上根据检测到的抠图操作建立一个可调整的闭合的B样条曲线进行抠图,可在任意终端设备上通过调整B样条曲线实现灵活且流畅的自定义抠图。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行各个实施例或者实施例的某些部分的方法。
除了其他之外,诸如"能够"、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地还旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
已经在本文中在本说明书和附图中描述的内容包括能够提供基于B样条曲线的自定义抠图方法、装置、系统及介质的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。

Claims (10)

1.一种基于B样条曲线的自定义抠图方法,其特征在于,包括如下步骤:
在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线;
当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;
根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。
2.根据权利要求1所述的基于B样条曲线的自定义抠图方法,其特征在于,所述在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段依次拼接的区间曲线,包括:
检测抠图图层上的移动轨迹;
采集所述移动轨迹对应的坐标点集合;
建立B-spline数据模型,将所述坐标点集合输入至B-spline数据模型后在所述抠图图层上生成闭合的B样条曲线。
3.根据权利要求1或2所述的基于B样条曲线的自定义抠图方法,其特征在于,所述当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域,包括:
根据用户输入的交互操作调整所述闭合的B样条曲线的形状;
当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域。
4.根据权利要求3所述的基于B样条曲线的自定义抠图方法,其特征在于,所述根据用户输入的交互操作调整所述闭合的B样条曲线的形状,包括:
检测用户输入的交互操作;
根据所述交互操作动态修改所述坐标点集合的参数;
根据动态修改后的所述坐标点集合调整所述闭合的B样条曲线的形状。
5.根据权利要求4所述的基于B样条曲线的自定义抠图方法,其特征在于,所述根据所述交互操作动态修改所述坐标点集合的参数,具体包括:
根据所述交互操作的动态轨迹,对应修改所述坐标点集合中的坐标点数量以及各个坐标点的坐标值。
6.根据权利要求3-5任意一项所述的基于B样条曲线的自定义抠图方法,其特征在于,所述交互操作包括曲线拖动和/或曲线挤压和/或曲线放大和/或曲线缩小。
7.根据权利要求1-3任意一项所述的基于B样条曲线的自定义抠图方法,其特征在于,所述在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线之前,还包括:
在目标图上新建一用于绘制抠图曲线的抠图图层。
8.一种基于B样条曲线的自定义抠图装置,其特征在于,所述装置包括:
绘制模块,用于在检测到抠图操作时根据所述抠图操作在目标图上绘制闭合的B样条曲线,所述B样条曲线包括多段拼接的区间曲线;
选区模块,用于当所述B样条曲线的形状为目标形状时,将当前具有目标形状的B样条曲线区域确定为抠图区域;
抠图模块,用于根据所述抠图区域在所述目标图中获取对应的抠图像素,根据所述抠图像素生成抠图图像。
9.一种基于B样条曲线的自定义抠图系统,其特征在于,所述系统包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任一项所述的基于B样条曲线的自定义抠图方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-7任一项所述的基于B样条曲线的自定义抠图方法。
CN202110121104.8A 2021-01-28 2021-01-28 基于b样条曲线的自定义抠图方法、装置、系统及介质 Pending CN112819839A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110121104.8A CN112819839A (zh) 2021-01-28 2021-01-28 基于b样条曲线的自定义抠图方法、装置、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110121104.8A CN112819839A (zh) 2021-01-28 2021-01-28 基于b样条曲线的自定义抠图方法、装置、系统及介质

Publications (1)

Publication Number Publication Date
CN112819839A true CN112819839A (zh) 2021-05-18

Family

ID=75859969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110121104.8A Pending CN112819839A (zh) 2021-01-28 2021-01-28 基于b样条曲线的自定义抠图方法、装置、系统及介质

Country Status (1)

Country Link
CN (1) CN112819839A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467680A (zh) * 2021-06-28 2021-10-01 网易(杭州)网络有限公司 绘图处理方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467680A (zh) * 2021-06-28 2021-10-01 网易(杭州)网络有限公司 绘图处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10970854B2 (en) Visual target tracking method and apparatus based on deep adversarial training
US20210390693A1 (en) Medical endoscope image recognition method and system, and endoscopic imaging system
JP7179695B2 (ja) 車線追跡方法及び装置
CN107943365B (zh) 线条笔迹的呈现方法、装置、电子设备及存储介质
WO2021093435A1 (zh) 语义分割网络结构的生成方法、装置、设备及存储介质
JP2022534337A (ja) ビデオターゲット追跡方法と装置、コンピュータ装置、プログラム
CN108073438B (zh) 页面展示方法、装置及电子终端
US20150103184A1 (en) Method and system for visual tracking of a subject for automatic metering using a mobile device
CN110427932B (zh) 一种识别图像中多个票据区域的方法及装置
CN107463302B (zh) 一种图标布局调整方法及其装置
WO2021218017A1 (zh) 鼠标跟随特效的实现方法、装置、计算机设备及存储介质
CN106326853B (zh) 一种人脸跟踪方法及装置
CN109598744A (zh) 一种视频跟踪的方法、装置、设备和存储介质
US10536164B2 (en) Adapting image vectorization operations using machine learning
CN110287877B (zh) 视频目标的处理方法及装置
WO2022105692A1 (zh) 一种手势识别方法及装置
CN112819839A (zh) 基于b样条曲线的自定义抠图方法、装置、系统及介质
KR102198920B1 (ko) 온라인 학습을 이용한 객체 트래킹을 위한 방법 및 시스템
JP2022123843A (ja) 3次元姿勢推定データを生成するためのコンピュータ実装方法、データ処理装置およびコンピュータプログラム
CN114998679A (zh) 深度学习模型的在线训练方法、装置、设备及存储介质
US11158122B2 (en) Surface geometry object model training and inference
CN113626018A (zh) 一种应用界面设计方法、装置、电子设备及存储介质
CN111126101B (zh) 关键点位置的确定方法、装置、电子设备和存储介质
WO2023146470A2 (en) Dual-level model for segmentation
US11488053B2 (en) Automatically controlling modifications to typeface designs with machine-learning models

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