CN110825250B - 一种笔刷轨迹的优化方法及装置 - Google Patents

一种笔刷轨迹的优化方法及装置 Download PDF

Info

Publication number
CN110825250B
CN110825250B CN201911115581.2A CN201911115581A CN110825250B CN 110825250 B CN110825250 B CN 110825250B CN 201911115581 A CN201911115581 A CN 201911115581A CN 110825250 B CN110825250 B CN 110825250B
Authority
CN
China
Prior art keywords
grid
planar
quadtree
cells
brush tool
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
Application number
CN201911115581.2A
Other languages
English (en)
Other versions
CN110825250A (zh
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.)
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Digital Network 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 Zhuhai Kingsoft Digital Network Technology Co Ltd filed Critical Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority to CN201911115581.2A priority Critical patent/CN110825250B/zh
Publication of CN110825250A publication Critical patent/CN110825250A/zh
Application granted granted Critical
Publication of CN110825250B publication Critical patent/CN110825250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

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)
  • Processing Or Creating Images (AREA)

Abstract

本说明书提供一种笔刷轨迹的优化方法及装置,其中所述方法包括:根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点;标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。

Description

一种笔刷轨迹的优化方法及装置
技术领域
本申请涉及计算机科学技术领域,特别涉及一种笔刷轨迹的优化方法、装置、计算设备及计算机可读存储介质。
背景技术
笔刷工具是图片编辑软件中常见的工具之一,尤其是对于三维或二维的虚拟场景的场景图像的处理中,经常会用到笔刷工具对场景图像进行选定和编辑,然而在现有技术中,但是,在存在大量笔刷工具的轨迹点的情况下,系统需要花费大量的时间去记录笔刷工具的移动轨迹,因此如何提高记录的时间与效率就成为一个亟待解决的难题。
发明内容
有鉴于此,本说明书实施例提供了一种笔刷轨迹的优化方法、装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种笔刷轨迹的优化方法,包括:
根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;
对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点;
标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;
基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。
根据本说明书实施例的第二方面,提供了一种笔刷轨迹的优化装置,包括:
包围盒模块,被配置为根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;
四叉树构建模块,被配置为对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点;
标记模块,被配置为标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;
整合优化模块,被配置为基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。
根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述笔刷轨迹的优化方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述笔刷轨迹的优化方法的步骤。
本申请通过利用四叉树结构对平面网格中被标记的多个网格单元进行合并,从而提高了平面网格的颗粒度,可实现高效地记录被标记的网格单元,并且当被标记的网格单元的数量占所有网格单元的数量比重较大时,会有较多比例的被标记的网格单元被合并,可实现高效记录并减少了占用的运算开销以及内存资源,由于显存的硬件特性,可以有效地减少显存提交次数的同时不增加请求的提交量,有效地优化了显存的编辑性能。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的笔刷轨迹的优化方法的流程图;
图3是本申请实施例提供的笔刷轨迹的优化方法的另一流程图;
图4是本申请实施例提供的笔刷轨迹的优化方法的另一流程图;
图5是本申请实施例提供的笔刷轨迹的优化方法的另一流程图;
图6是本申请实施例提供的笔刷轨迹的优化方法的另一流程图;
图7是本申请实施例提供的笔刷轨迹的优化方法的示意图;
图8是本申请实施例提供的笔刷轨迹的优化方法的另一示意图;
图9是本申请实施例提供的笔刷轨迹的优化装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
虚拟场景:二维或三维的虚拟场景,例如二维游戏或者三维游戏中的虚拟游戏场景。
笔刷工具:图像编辑软件中的常见工具之一,能够模拟出各种笔触,达到例如毛笔、水彩笔、蜡笔等特殊的绘制效果。
分辨率:显示分辨率就是屏幕上显示的像素数量,分辨率160×128的标识水平像素数为160个,垂直像素数128个,分辨率越高,像素的数目越多,感应到的图像越精密,在屏幕尺寸一样的情况下,分辨率越高,显示效果就越精细和细腻。
四叉树:四叉树是一种树状数据结构,在每一个节点上会有四个子区块。四叉树常应用于二维空间数据的分析与分类,它将数据区分成为四个象限。数据范围可以是方形或矩形或其他任意形状。
包围盒:包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象,最常见的包围盒算法有AABB包围盒(Axis-aligned bounding box),包围球(Sphere),方向包围盒OBB(Orientedbounding box)以及固定方向凸包FDH(Fixed directions hulls或k-DOP),碰撞检测问题在虚拟现实、计算机辅助设计与制造、游戏及机器人等领域有着广泛的应用,甚至成为关键技术,而包围盒算法是进行碰撞干涉初步检测的重要方法之一。
在本申请中,提供了一种笔刷轨迹的优化方法、装置、计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的笔刷轨迹的优化方法的示意性流程图,包括步骤202至步骤208。
步骤202:根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒。
在本申请的一个实施例中,系统能够基于笔刷工具执行编辑操作后在场景图像中形成的移动轨迹,获取包含整个移动轨迹的编辑区域的最小方形区域,即所述移动轨迹的方形包围盒。
步骤204:对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点。
在本申请的一个实施例中,在所述方形包围盒所形成的编辑区域内预设有平面网格,所述平面网格由多个网格单元组成,系统对所述方形包围盒所形成的编辑区域进行四叉树投射,利用四叉树结构将编辑区域等分成四个相等的子空间,如此递归下去,直至将所述平面网格中的每个网格单元设置为所述四叉树的末端节点即叶子节点。
步骤206:标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元。
在本申请的一个实施例中,用户在操作所述笔刷工具进行编辑操作时,笔刷工具在移动过程中会与所述平面网格中的至少一个网格单元发生碰撞,即笔刷公寓与所述网格单元相交,系统能够标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元,在所述笔刷工具的移动轨迹较多的情况下,将会有大量的网格单元被标记。
步骤208:基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。
在本申请的一个实施例中,系统基于四叉树对所述至少一个所述网格单元进行管理和简化,将同为被标记的所述网格单元进行合并,从而降低了所述平面网格的数量,使得所述平面网格内的网格单元的数量达到预设的数量区间,来适配对应的硬件要求。
本申请通过利用四叉树结构对平面网格中被标记的多个网格单元进行合并,从而提高了平面网格的颗粒度,可实现高效地记录被标记的网格单元,并且当被标记的网格单元的数量占所有网格单元的数量比重较大时,会有较多比例的被标记的网格单元被合并,可实现高效记录并减少了占用的运算开销以及内存资源,由于显存的硬件特性,可以有效地减少显存提交次数的同时不增加请求的提交量,有效地优化了显存的编辑性能。
图3示出了本说明书一实施例的笔刷轨迹的优化方法,该笔刷轨迹的优化方法以对笔刷轨迹的优化为例进行描述,包括步骤302至步骤322。
步骤302:从虚拟场景中获取所述场景图像,通过由多个所述网格单元组成的平面网格对所述场景图像进行栅格化处理。
在本申请的一个实施例中,本申请的笔刷轨迹记录系统首先从三维或二维的虚拟场景中获取用户待编辑的场景图像,然后通过由多个网格单元组成的平面网格对所述场景图像进行栅格化处理,在所述场景图像形成由多个网格单元组成的平面网格,所述平面网格中的网格单元的数量由所述平面网格的分辨率决定,一般可以是1024×1024。
步骤304:构建笔刷工具对应的碰撞模型,记录用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元。
在本申请的一个实施例中,笔刷轨迹记录系统能够捕获笔刷工具在执行编辑操作时对应的碰撞模型,然后记录用户在操作所述笔刷工具进行每一次的编辑操作时与所述碰撞模型发生碰撞的至少一个网格单元。
步骤306:基于与所述碰撞模型发生碰撞的至少一个网格单元得到用户操作所述笔刷工具在所述场景图像中形成的移动轨迹。
在本申请的一个实施例中,笔刷轨迹记录系统能够利用至少一个网格单元形成图形形状还原所述笔刷工具在所述场景图像中形成的移动轨迹,从而记录用户每一次在对所述场景图像进行编辑时所形成的移动轨迹,并且可以通过所述笔刷工具的碰撞模型调整所述平面网格中的网格单元的数量即所述平面网格的分辨率,从而更为精确的得到所述笔刷工具的移动轨迹。
步骤308:根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒。
在本申请的一个实施例中,系统能够基于笔刷工具执行编辑操作后在场景图像中形成的移动轨迹,获取包含整个移动轨迹的编辑区域的最小方形区域,即所述移动轨迹的方形包围盒。
步骤310:对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点。
在上述实施例中,如图4所示,在对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建之前,还包括步骤402至步骤406。
步骤402:获取所述方形包围盒所形成的编辑区域内的平面网格。
在本申请的一个实施例中,系统首先获取预设在所述方形包围盒所形成的编辑区域内的平面网格,期望个实在对所述场景图像进行栅格化时就默认存在的。
步骤404:确定所述平面网格内的所述网格单元的数量。
在本申请的一个实施例中,系统根据所述平面网格的分辨率确定所述平面网格内的所述网格单元的数量,例如在分辨率为1024×1024或1080P的情况下,可以确定所述平面网格在优化之前的数量。
步骤406:确定所述平面网格中的每个所述网格单元的世界坐标。
在上述实施例中,如图5所示,所述对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点包括步骤502至步骤506。
步骤502:根据所述网格单元的数量将所述方形包围盒所形成的编辑区域按照四象限的方式递归分割n次,得到2n×2n个子象限,其中n为大于等于1的正整数。
步骤504:将所述平面网格内每个所述网格单元与每个所述子象限相对应,使得所述平面网格中的每个网格单元作为所述四叉树的每个叶子节点。
步骤506:根据所述四叉树的叶子节点的数量确定所述四叉树的深度和中间节点的数量并构建四叉树。
在本申请的一个实施例中,如图7所示,将所述方形包围盒所形成的编辑区域按照四象限的方式递归分割n次,其中n为大于等于1的正整数,得到2n×2n个子象限,直至所述子象限的数量与所述平面网格内的所述网格单元的数量相等,然后系统将所述平面网格内每个所述网格单元与每个所述子象限相对应,使得所述平面网格中的每个网格单元作为所述四叉树的每个叶子节点,根据所述四叉树的叶子节点的数量确定所述四叉树的深度n和位于根节点和叶子节点之间的中间节点的数量从而构建出四叉树。
步骤312:提取所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元的记录。
在本申请的一个实施例中,如图8所示,在所述笔刷工具的移动轨迹为原型的情况下,系统首先提取所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元即阴影化的网格单元的轨迹记录。
步骤314:对所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元进行标记。
在本申请的一个实施例中,如图8所示,系统对与所述碰撞模型发生碰撞的至少一个网格单元即阴影化的网格单元进行标记,得到多个需要进行合并的网格单元。
步骤316:基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。
在所述实施例中,如图6所示,所述基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间包括步骤602至步骤608。
步骤602:在位于同一中间节点下的四个所述叶子节点均为被标记的网格单元的情况下,将所述四个被标记的网格单元以及所述中间节点的四个所述叶子节点进行合并。
步骤604:在位于同一深度层级的中间节点均为由下层中间节合并得到的中间节点的情况下,将所述位于同一深度层级的中间节点进行合并,刷新所述四叉树。
步骤606:根据刷新后的所述四叉树重新确定所述平面网格中的所述网格单元的数量。
步骤608:重复步骤604至步骤606,直至所述平面网格内的网格单元的数量达到预设的数量区间内。
在本申请的一个实施例中,如图7和图8所示,在位于同一中间节点下的四个所述叶子节点均为被标记的网格单元的情况下,即某一中间节点下的四个网格单元均为阴影化的网格单元,则将这个四个网格单元合并为一个较大网格,并将该四个叶子节点合并为上一级的中间节点,若上一级的四个中间节点均为被合并的中介节点,在再次合并该级的四个中间节点到更上一级,即再次合并四个所述较大网格为一个更大的网格,直至所述网格单元的数量即所述平面网格的数量位于所述预设的数量阈值区间内。
步骤318:根据所述网格单元的数量获取合并后所述平面网格中的每一个网格单元的世界坐标。
步骤320:确定所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元。
步骤322:记录所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元对应的世界坐标。
在本申请的一个实施例中,系统通过合并操作得到最终简化后的四叉树以及合并后的网格单元,然后获取所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元以及其世界坐标,从而记录并模拟出优化后的所述笔刷工具的移动轨迹形成的编辑区域。
本申请的笔刷轨迹的优化方法,可实现高效地记录被标记的网格,尤其是当被标记的网格单元数量占所有网格单元数量比重较大时,会有较多比例的叶子节点或中间节点被合并,因此可实现高效记录,占用的运算开销以及内存资源均大大减少。
与上述方法实施例相对应,本说明书还提供了笔刷轨迹的优化装置实施例,图9示出了本说明书一个实施例的笔刷轨迹的优化装置的结构示意图。如图9所示,该装置包括:
包围盒模块901,被配置为根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;
四叉树构建模块902,被配置为对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点;
标记模块903,被配置为标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;
整合优化模块904,被配置为基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。
可选的,所述装置还包括:
栅格化模块,被配置为从虚拟场景中获取所述场景图像,通过由多个所述网格单元组成的平面网格对所述场景图像进行栅格化处理;
碰撞检测模块,被配置为构建笔刷工具对应的碰撞模型,记录用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元;
轨迹生成模块,被配置为基于与所述碰撞模型发生碰撞的至少一个网格单元得到用户操作所述笔刷工具在所述场景图像中形成的移动轨迹。
可选的,所述装置还包括:
网格获取模块,被配置为获取所述方形包围盒所形成的编辑区域内的平面网格;
数量确定模块,被配置为确定所述平面网格内的所述网格单元的数量;
坐标确定模块,被配置为确定所述平面网格中的每个所述网格单元的世界坐标。
可选的,所述四叉树构建模块902包括:
象限分割模块,被配置为根据所述网格单元的数量将所述方形包围盒所形成的编辑区域按照四象限的方式递归分割n次,得到2n×2n个子象限,其中n为大于等于1的正整数;
节点对应模块,被配置为将所述平面网格内每个所述网格单元与每个所述子象限相对应,使得所述平面网格中的每个网格单元作为所述四叉树的每个叶子节点;
四叉树构建子单元,被配置为根据所述四叉树的叶子节点的数量确定所述四叉树的深度和中间节点的数量并构建四叉树。
可选的,所述标记模块903包括:
记录获取单元,被配置为提取所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元的记录;
网格标记单元,被配置为对所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元进行标记。
可选的,所述整合优化模块904包括:
叶子节点合并单元,被配置为:在位于同一中间节点下的四个所述叶子节点均为被标记的网格单元的情况下,将所述四个被标记的网格单元以及所述中间节点的四个所述叶子节点进行合并;
中间节点合并单元,被配置为:在位于同一深度层级的中间节点均为由下层中间节合并得到的中间节点的情况下,将所述位于同一深度层级的中间节点进行合并,刷新所述四叉树;
网格单元整合单元,被配置为:根据刷新后的所述四叉树重新确定所述平面网格中的所述网格单元的数量;
反馈单元,被配置为重复执行所述中间节点合并单元和网格单元整合单元,直至所述平面网格内的网格单元的数量达到预设的数量区间内。
可选的,所述装置还包括:
坐标整合模块,被配置为根据所述网格单元的数量获取合并后所述平面网格中的每一个网格单元的世界坐标;
碰撞整合模块,被配置为确定所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元;
网格记录模块,被配置为记录所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元对应的世界坐标。
本申请通过利用四叉树结构对平面网格中被标记的多个网格单元进行合并,从而提高了平面网格的颗粒度,可实现高效地记录被标记的网格单元,并且当被标记的网格单元的数量占所有网格单元的数量比重较大时,会有较多比例的被标记的网格单元被合并,可实现高效记录并减少了占用的运算开销以及内存资源,由于显存的硬件特性,可以有效地减少显存提交次数的同时不增加请求的提交量,有效地优化了显存的编辑性能。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;
对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点;
标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;
基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述笔刷轨迹的优化方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该计算机可读存储介质的技术方案与上述的笔刷轨迹的优化方法的技术方案属于同一构思,计算机可读存储介质的技术方案未详细描述的细节内容,均可以参见上述笔刷轨迹的优化方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种笔刷轨迹的优化方法,其特征在于,包括:
根据用户操作笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;
对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点,其中,所述平面网格中的网格单元的数量由所述平面网格的分辨率决定;
标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;
在位于同一中间节点下的四个所述叶子节点均为被标记的网格单元的情况下,将四个所述叶子节点合并为上一级的所述中间节点,即,将四个所述叶子节点对应的四个所述网格单元合并为一个较大网格单元,若上一级的四个所述中间节点均为被合并的中间节点,则再次合并该级的四个所述中间节点到更上一级,即再次合并四个所述较大网格单元为一个更大的网格单元,直至使得所述平面网格内的网格单元的数量达到预设的数量区间。
2.根据权利要求1所述的方法,其特征在于,在根据用户操作所述笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒之前,还包括:
从虚拟场景中获取所述场景图像,通过由多个所述网格单元组成的平面网格对所述场景图像进行栅格化处理;
构建笔刷工具对应的碰撞模型,记录用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元;
基于与所述碰撞模型发生碰撞的至少一个网格单元得到用户操作所述笔刷工具在所述场景图像中形成的移动轨迹。
3.根据权利要求1所述的方法,其特征在于,在对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建之前,还包括:
获取所述方形包围盒所形成的编辑区域内的平面网格;
确定所述平面网格内的所述网格单元的数量;
确定所述平面网格中的每个所述网格单元的世界坐标。
4.根据权利要求1所述的方法,其特征在于,所述对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点包括:
根据所述网格单元的数量将所述方形包围盒所形成的编辑区域按照四象限的方式递归分割n次,得到2n×2n个子象限,其中n为大于等于1的正整数;
将所述平面网格内每个所述网格单元与每个所述子象限相对应,使得所述平面网格中的每个网格单元作为所述四叉树的每个叶子节点;
根据所述四叉树的叶子节点的数量确定所述四叉树的深度和中间节点的数量并构建四叉树。
5.根据权利要求2所述的方法,其特征在于,所述标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元包括:
提取所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元的记录;
对所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元进行标记。
6.根据权利要求2所述的方法,其特征在于,在基于所述四叉树对所述至少一个所述网格单元进行合并,使得所述平面网格内的网格单元的数量达到预设的数量区间之后,还包括:
根据所述网格单元的数量获取合并后所述平面网格中的每一个网格单元的世界坐标;
确定所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元;
记录所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元对应的世界坐标。
7.一种笔刷轨迹的优化装置,其特征在于,包括:
包围盒模块,被配置为根据用户操作笔刷工具在场景图像中形成的移动轨迹,获取包含所述移动轨迹的方形包围盒;
四叉树构建模块,被配置为对所述方形包围盒所形成的编辑区域内的平面网格进行四叉树构建,将所述平面网格中的每个网格单元设置为所述四叉树的叶子节点,其中,所述平面网格中的网格单元的数量由所述平面网格的分辨率决定;
标记模块,被配置为标记与所述笔刷工具的移动轨迹存在交集的至少一个所述网格单元;
整合优化模块,被配置为在位于同一中间节点下的四个所述叶子节点均为被标记的网格单元的情况下,将四个所述叶子节点合并为上一级的所述中间节点,即,将四个所述叶子节点对应的四个所述网格单元合并为一个较大网格单元,若上一级的四个所述中间节点均为被合并的中间节点,则再次合并该级的四个所述中间节点到更上一级,即再次合并四个所述较大网格单元为一个更大的网格单元,直至使得所述平面网格内的网格单元的数量达到预设的数量区间。
8.根据权利要求7所述的装置,其特征在于,还包括:
栅格化模块,被配置为从虚拟场景中获取所述场景图像,通过由多个所述网格单元组成的平面网格对所述场景图像进行栅格化处理;
碰撞检测模块,被配置为构建笔刷工具对应的碰撞模型,记录用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元;
轨迹生成模块,被配置为基于与所述碰撞模型发生碰撞的至少一个网格单元得到用户操作所述笔刷工具在所述场景图像中形成的移动轨迹。
9.根据权利要求7所述的装置,其特征在于,还包括:
网格获取模块,被配置为获取所述方形包围盒所形成的编辑区域内的平面网格;
数量确定模块,被配置为确定所述平面网格内的所述网格单元的数量;
坐标确定模块,被配置为确定所述平面网格中的每个所述网格单元的世界坐标。
10.根据权利要求7所述的装置,其特征在于,所述四叉树构建模块包括:
象限分割模块,被配置为根据所述网格单元的数量将所述方形包围盒所形成的编辑区域按照四象限的方式递归分割n次,得到2n×2n个子象限,其中n为大于等于1的正整数;
节点对应模块,被配置为将所述平面网格内每个所述网格单元与每个所述子象限相对应,使得所述平面网格中的每个网格单元作为所述四叉树的每个叶子节点;
四叉树构建子单元,被配置为根据所述四叉树的叶子节点的数量确定所述四叉树的深度和中间节点的数量并构建四叉树。
11.根据权利要求8所述的装置,其特征在于,所述标记模块包括:
记录获取单元,被配置为提取所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元的记录;
网格标记单元,被配置为对所述用户在操作所述笔刷工具的过程中与所述碰撞模型发生碰撞的至少一个网格单元进行标记。
12.根据权利要求8所述的装置,其特征在于,还包括:
坐标整合模块,被配置为根据所述网格单元的数量获取合并后所述平面网格中的每一个网格单元的世界坐标;
碰撞整合模块,被配置为确定所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元;
网格记录模块,被配置为记录所述平面网格中与所述碰撞模型发生碰撞的至少一个网格单元对应的世界坐标。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
CN201911115581.2A 2019-11-14 2019-11-14 一种笔刷轨迹的优化方法及装置 Active CN110825250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911115581.2A CN110825250B (zh) 2019-11-14 2019-11-14 一种笔刷轨迹的优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911115581.2A CN110825250B (zh) 2019-11-14 2019-11-14 一种笔刷轨迹的优化方法及装置

Publications (2)

Publication Number Publication Date
CN110825250A CN110825250A (zh) 2020-02-21
CN110825250B true CN110825250B (zh) 2024-02-23

Family

ID=69555666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911115581.2A Active CN110825250B (zh) 2019-11-14 2019-11-14 一种笔刷轨迹的优化方法及装置

Country Status (1)

Country Link
CN (1) CN110825250B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114445522A (zh) * 2020-10-16 2022-05-06 华为技术有限公司 笔刷效果图生成方法、图像编辑方法、设备和存储介质
CN113313027A (zh) * 2021-05-28 2021-08-27 维沃移动通信有限公司 图像处理方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07195253A (ja) * 1993-11-24 1995-08-01 Hitachi Ltd 加工用camシステムの処理方法
CN105258704A (zh) * 2014-06-16 2016-01-20 中国科学院沈阳自动化研究所 基于快速路网建模的多尺度时空热点路径探测方法
CN105745606A (zh) * 2013-09-24 2016-07-06 惠普发展公司,有限责任合伙企业 基于图像识别触摸敏感表面的目标触摸区域
CN106951519A (zh) * 2017-03-13 2017-07-14 南京航空航天大学 基于网格划分的快速轨迹索引更新方法
CN109410290A (zh) * 2017-08-16 2019-03-01 广州极飞科技有限公司 确定作业区域边界的方法和装置
CN110119408A (zh) * 2019-03-22 2019-08-13 西安电子科技大学 地理空间实时流数据下移动对象连续查询方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152617B2 (en) * 2010-03-11 2015-10-06 A2iA S.A. System and method for processing objects
US8976168B2 (en) * 2011-11-02 2015-03-10 Microsoft Technology Licensing, Llc Mesh generation from depth images
US9836313B2 (en) * 2014-02-04 2017-12-05 Tactual Labs Co. Low-latency visual response to input via pre-generation of alternative graphical representations of application elements and input handling on a graphical processing unit
CN107145280B (zh) * 2017-04-20 2020-04-24 腾讯科技(深圳)有限公司 一种图像数据处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07195253A (ja) * 1993-11-24 1995-08-01 Hitachi Ltd 加工用camシステムの処理方法
CN105745606A (zh) * 2013-09-24 2016-07-06 惠普发展公司,有限责任合伙企业 基于图像识别触摸敏感表面的目标触摸区域
CN105258704A (zh) * 2014-06-16 2016-01-20 中国科学院沈阳自动化研究所 基于快速路网建模的多尺度时空热点路径探测方法
CN106951519A (zh) * 2017-03-13 2017-07-14 南京航空航天大学 基于网格划分的快速轨迹索引更新方法
CN109410290A (zh) * 2017-08-16 2019-03-01 广州极飞科技有限公司 确定作业区域边界的方法和装置
CN110119408A (zh) * 2019-03-22 2019-08-13 西安电子科技大学 地理空间实时流数据下移动对象连续查询方法

Also Published As

Publication number Publication date
CN110825250A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN109325437B (zh) 图像处理方法、装置和系统
US11748934B2 (en) Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
CN107610200B (zh) 一种基于特征模板的字库快速生成方法
CN104008569B (zh) 一种基于深度视频的3d场景生成方法
CN108876814B (zh) 一种生成姿态流图像的方法
US20100259538A1 (en) Apparatus and method for generating facial animation
US11367195B2 (en) Image segmentation method, image segmentation apparatus, image segmentation device
CN104899563A (zh) 一种二维人脸关键特征点定位方法及系统
CN110825250B (zh) 一种笔刷轨迹的优化方法及装置
CN104732587A (zh) 一种基于深度传感器的室内3d语义地图构建方法
CN106157354A (zh) 一种三维场景切换方法及系统
CN113870401B (zh) 表情生成方法、装置、设备、介质和计算机程序产品
CN113012293A (zh) 石刻模型构建方法、装置、设备及存储介质
CN108564120A (zh) 基于深度神经网络的特征点提取方法
CN106068537A (zh) 用于处理图像的方法和设备
CN113112581A (zh) 三维模型的纹理贴图生成方法、装置、设备及存储介质
KR20220143721A (ko) 볼류메트릭 캡처 및 메시 추적 기반 머신 학습
CN111353069A (zh) 一种人物场景视频生成方法、系统、装置及存储介质
Jung et al. Learning free-form deformation for 3D face reconstruction from in-the-wild images
CN117315211B (zh) 数字人合成及其模型训练方法、装置、设备及存储介质
CN111652795A (zh) 脸型的调整、直播方法、装置、电子设备和存储介质
CN110827303B (zh) 一种虚拟场景的图像编辑方法及装置
CN106326876A (zh) 一种训练模型生成方法、人脸对齐处理方法及装置
CN112507766B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant