CN117435110A - 一种图片处理方法、装置、电子设备和存储介质 - Google Patents
一种图片处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117435110A CN117435110A CN202311312953.7A CN202311312953A CN117435110A CN 117435110 A CN117435110 A CN 117435110A CN 202311312953 A CN202311312953 A CN 202311312953A CN 117435110 A CN117435110 A CN 117435110A
- Authority
- CN
- China
- Prior art keywords
- grid
- contour points
- picture
- contour
- tracing
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000009877 rendering Methods 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims description 35
- 238000009499 grossing Methods 0.000 claims description 21
- 238000010586 diagram Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 abstract description 30
- 239000000463 material Substances 0.000 description 50
- 230000000694 effects Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04845—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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/13—Edge detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种图片处理方法、装置、电子设备和存储介质,通过获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;确定所述目标对象的掩膜区域的轮廓点;基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。本申请实施例可满足用户对图片描边分段的个性化需求。
Description
技术领域
本申请涉及图片处理技术领域,具体涉及一种图片处理方法、装置、电子设备和存储介质。
背景技术
随着手机和移动设备的普及,越来越多的人喜欢用视频来记录自己的生活,并对拍摄到的视频增加各种特效,其中,描边分段特效是人们经常选择的一种特效,描边分段特效是指对视频目标对象的轮廓边缘进行描边,并将轮廓边缘的边划分为多段线条的特效。
目前的描边分段特效方案是通过获取视频帧图片,使用一张掩膜图对该视频帧图片中目标对象的轮廓边缘进行描边,并将轮廓边缘的边划分为多段线条。但是,由于掩膜图的参数固定,即绘制边的素材和边的分段段数为固定的,且描边分段效果显示比较生硬,难以满足用户的个性化体验。
发明内容
本申请实施例提供一种图片处理方法、装置、电子设备和存储介质,可以满足用户对图片描边分段的个性化需求。
第一方面,本申请实施例提供一种图片处理方法,包括:
获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;
确定所述目标对象的掩膜区域的轮廓点;
基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;
获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;
基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。
第二方面,本申请实施例还提供一种图片处理装置,包括:
掩膜图像获取模块,用于获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;
轮廓点确定模块,用于确定所述目标对象的掩膜区域的轮廓点;
网格图生成模块,用于基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;
描边线段确定模块,用于获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;
渲染模块,用于基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。
第三方面,本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种图片处理方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种图片处理方法的步骤。
第五方面,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例所提供的任一种图片处理方法中的步骤。
采用申请实施例的方案,可以获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;确定所述目标对象的掩膜区域的轮廓点;基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。在本申请实施例中,通过生成待处理图片中目标对象的掩膜区域的初始描边线的网格图,根据多段描边控制信息,可确定多个互不连接的描边线段,实现自定义分段,同时,根据描边线段在网格图上对应的网格区域,对待处理图片进行渲染,实现描边分段效果,可以满足用户对描边分段的个性化需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中提供的客户端和服务端的一种数据交互示意图;
图2是本申请实施例中提供的图片处理方法的一种实施例流程示意图;
图3是本申请实施例中提供的图片处理方法的一种实现描边分段特效的界面示意图;
图4是本申请实施例中提供的图片处理方法的又一种实现描边分段特效的示意图;
图5是本申请实施例中提供的图片处理装置的结构示意图;
图6是本申请实施例中提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。同时,在本申请实施例的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例提供一种图片处理方法、装置、电子设备和计算机可读存储介质。
具体地,本实施例将从图片处理装置的角度进行描述,该图片处理装置具体可以集成在电子设备中,即本申请实施例图片处理方法可以由电子设备执行,可选的,该电子设备可以为具有数据处理功能的终端设备。其中,终端设备可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、游戏机、或者个人电脑(Personal Computer,PC)等设备。可选的,该电子设备还可以为服务器,该服务器可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
例如,该电子设备以服务端为例进行说明,该服务端可以获取待处理图片中目标对象的掩膜图像,掩膜图像包括目标对象对应的掩膜区域;确定目标对象的掩膜区域的轮廓点;基于轮廓点生成掩膜区域的初始描边线的网格图,网格图中包括多个以轮廓点为顶点生成的三角形网格,每个三角形网格至少与一个其他三角形网格邻接;获取多段描边控制信息,并根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段;基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段。其中,客户端可以接收用户输入的待处理图片,将待处理图片发送给服务端,服务端可以采用本申请实施例的图片处理方法对待处理图片进行描边分段处理,然后渲染好的待处理图片发送给客户端,以便客户端展示给用户。
如图1所示,图1为客户端和服务端之间数据交互的示意图,客户端可以接收用户输入的待处理图片,将待处理图片和该待处理图片的多段描边控制信息同时发送给服务端。待处理图片和该待处理图片的多段描边控制信息也可分两次发送给服务端。服务端通过AI算法获取待处理图片对应的掩膜图像,采用opencv(Open Source Computer VisionLibrary,开放源代码计算机视觉库),确定掩膜图像的轮廓点,将轮廓点作为顶点数据输入渲染管线中进行网格图渲染处理,在待处理图片上渲染出多个描边线段,得到渲染后的图片,并将渲染后的图片发送给客户端,以便客户端展示给用户。
以下结合附图分别进行详细说明,本实施例中以执行主体是可以调用去重算法的电子设备。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于附图所示的顺序执行所示出或描述的步骤。
请参考图2,该图片处理方法的具体流程可以如下步骤101~步骤105,其中:
101、获取待处理图片中目标对象的掩膜图像,掩膜图像包括目标对象对应的掩膜区域。
其中,待处理图片可以是用户拍摄的照片,也可以是从用户拍摄的视频中提取到的视频帧图像。该待处理图片需进行描边分段处理。
目标对象是指在待处理图片中需要进行描边的对象。
掩膜图像是指由待处理图片对应的掩膜信息构建而成的图像。掩膜区域是目标对象在掩膜图像中的区域。
掩膜图像为二值图像。如,若掩膜图像中包含目标对象的区域的像素值为0,则不包含目标对象的区域的像素值为1,反之,若掩膜图像中包含目标对象的区域的像素值为1,则不包含目标对象的区域的像素值为0。
获取掩膜区域的方法可根据实际情况进行调整。如,将待处理图片上传至云端,云端通过AI算法得到该待处理图片中目标对象在掩膜图像中对应的掩膜区域。通过结合AI算法,获取该待处理图片中目标对象在掩膜图像中对应的掩膜区域,丰富特效的可扩展性。该AI算法可根据实际情况进行选择,例如,采用的AI算法为SAM模型(SegmentAnythingModel)。该SAM模型能够根据文本指令等方式实现图像分割,并返回有效的分割掩码,该分割掩码包括但不限于前景点、背景点、粗框或者掩码等。分割掩码与输入指令有关。SAM模型包含图像编码器、提示编码器和轻量级掩码解码器。该图像编码器用于计算图像嵌入,该提示编码器用于计算提示嵌入,该轻量级掩码解码器用于实时预测掩码。在使用时,只需要对图像提取一次图像嵌入,可以在不同的提示下重复使用。给定一个图像嵌入,提示编码器和掩码解码器可以在浏览器中在50毫秒内根据提示预测掩码。
可选的,在获取到待处理图片中目标对象的掩膜图像后,可根据实际需求对掩膜区域进行位置变换处理。该位置变换信息可以包括如下至少一项:平移信息、旋转信息、缩放信息及翻转信息。变换后的边缘掩膜图可以是基于位置变化信息对边缘掩膜图中的像素点进行位置变化得到。优选的,对掩膜区域进行缩放处理,如将掩膜区域的比例缩小到原始比例的一半,用于提高对图片进行处理的性能。
102、确定目标对象的掩膜区域的轮廓点。
其中,轮廓点是指掩膜区域边缘所在曲线的点。
具体地,将目标对象掩膜区域的参数输入opencv(Open Source Computer VisionLibrary,开放源代码计算机视觉库)中,通过opencv的findCoutours接口得到掩膜区域的轮廓点。此处需要说明的是,findCoutours接口用于确定目标对象的轮廓。通过opencv的findCoutours接口获取到的轮廓点为密集轮廓点。
findCoutours接口的输入参数包括要做轮廓检测的图像、轮廓检索模式和轮廓逼近方法。将要做轮廓检测的图像转换为二值图像通过findCoutours接口轮廓检索模式对该二值图像进行检索,并根据轮廓逼近方法对应的保存方式将检索出来的轮廓点进行保存。其中,要做轮廓检测的图像为目标对象,轮廓检索模式可以为只检测图像最外面的轮廓,或者,检索所有的轮廓。轮廓检索模式可根据实际情况进行选择。轮廓逼近方式是指如何表示轮廓,如,以链码的方式输出轮廓,该链码方式是指存储了所有的轮廓点,即相连两个点的像素位置差不超过1,以完整的线条来表示轮廓。轮廓逼近方式可根据实际情况进行选择。优选地,本申请的轮廓检索模式为检索所有的轮廓,并以链码的方式输出轮廓。
在一些实施例中,确定目标对象的掩膜区域的轮廓点之后,图片处理方法还包括,对目标对象的掩膜区域的轮廓点进行稀疏化处理。
稀疏化处理是指将密集轮廓点转换为稀疏轮廓点的处理过程。
优选地,采用多边形拟合曲线函数算法对目标对象的掩膜区域的轮廓点进行稀疏化处理,其具体过程为:计算每个轮廓点到预设线段的距离;判断距离是否小于预设距离阈值,若是,则保留轮廓点,若否,则舍弃轮廓点。
具体地,通过opencv的approxPolyDP接口对目标对象的掩膜区域的轮廓点进行稀疏化处理。该approxPolyDP接口的输入参数包括但不限于轮廓点、存储输出结果的变量、原始曲线与其近似曲线之间的最大距离、用于指定近似曲线是否闭合的bool参数。该approxPolyDP接口通过用预设线段来逼近原始曲线,使得两条曲线之间的距离小于或等于指定的精度。如,(1)通过approxPolyDP接口,从轮廓中挑出两个最远的点,进行相连,(2)然后从原轮廓上寻找一个离线段距离最远的点,将该点加入逼近后的新轮廓,即连接着三个点形成的三角形作为轮廓;(3)选择三角形的任意一条边出发,返回执行步骤(2),将距离最远点加入新轮廓,直至两条曲线之间的距离满足输出的精度要求。
其中,轮廓点为存储成std::vector或者mat的2D输入点。
上述预设线段为多边形拟合曲线函数算法中的近似曲线参数。
上述原始曲线是指轮廓点所在的曲线。
在本实施例中,通过多边形拟合曲线函数算法,把连续光滑曲线变成进行折线化,可以有效减少多边形曲线上点的数量,从而使得轮廓点稀疏,通过降低掩膜区域的轮廓点的数量,减少计算量,提高对图片进行处理的性能。
在一些实施例中,确定目标对象的掩膜区域的轮廓点之后,图片处理方法还包括:
对轮廓点进行曲线拟合,并对轮廓点所在的曲线进行平滑处理。
其中,曲线拟合是指使用一个模型或者函数,将一系列的轮廓点数据拟合成平滑的曲线的过程。
优选地,本申请采用样条函数对轮廓点进行曲线拟合,在保证拟合出来的曲线的光滑度的同时,确保曲线能经过所有轮廓点。
上述平滑处理是指对轮廓点所在的曲线上的轮廓点进行点平滑处理的过程。应理解,经过曲线拟合后,轮廓点所在的曲线上仍有一些轮廓点为异常点,影响曲线的平滑度,为此需要进行点平滑处理。
点平滑处理的方式包括但不限于傅里叶变换平滑、贝塞尔平滑,其中,傅里叶变化平滑是指利用傅里叶变换函数对轮廓点进行平滑处理的过程,贝塞尔平滑是指通过贝塞尔曲线函数对轮廓点进行平滑处理的过程。
优选的,对轮廓点所在的曲线进行平滑处理的过程为:
遍历所有轮廓点,并判断轮廓点所在的曲线上相邻三个轮廓点构成的夹角是否小于预设夹角阈值,若夹角小于预设夹角阈值,则对中间轮廓点进行坐标重计算,更新中间轮廓点的坐标,直到遍历次数达到预设次数,中间轮廓点为夹角的顶点;
对更新坐标后的轮廓点进行贝塞尔计算。
其中,上述坐标重计算的规则可根据实际情况进行调整。如,计算夹角对应的初始轮廓点和夹角对应的终止轮廓点的坐标平均值,并将得到的坐标结果作为中间轮廓点的坐标,其中,初始轮廓点是指夹角的第一个轮廓点,终止轮廓点是指夹角的最后一个轮廓点。
上述遍历次数是指对所有轮廓点进行夹角大小判断的次数。该预设次数可根据实际情况进行调整,如,遍历次数为3,即遍历三次所有轮廓点,并判断轮廓点所在的曲线上相邻三个轮廓点构成的夹角是否小于预设夹角阈值,若夹角小于预设夹角阈值,则对中间轮廓点进行坐标重计算,更新中间轮廓点的坐标,此处需要说明的是,第二轮遍历的轮廓点包括经过第一轮坐标重计算的轮廓点,第三轮遍历的轮廓点包括经过第一轮坐标重计算的轮廓点和经过第二轮坐标重计算的轮廓点。通过对轮廓点进行多次遍历,确保后续进行贝塞尔计算时,轮廓点的排布基本光滑。
上述贝塞尔计算是指将更新坐标后的轮廓点作为贝塞尔曲线函数的输入,得到贝塞尔曲线。该贝塞尔曲线为平滑处理后轮廓点所在的曲线。
贝塞尔曲线,又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。贝塞尔曲线上具有三个控制点:起始点,结束点和控制点。
通过贝塞尔曲线函数,将更新坐标后的轮廓点依次作为控制点,绘制得到平滑处理后的轮廓点所在的曲线。优选的,本申请采用的是二次贝塞尔曲线。
在本实施例中,通过对轮廓点进行坐标重计算,并对更新坐标后的轮廓点进行贝塞尔曲线拟合,在保证轮廓点的数量的同时,使得最终拟合的曲线更加丝滑、流畅,以确保描边的效果平滑。
103、基于轮廓点生成掩膜区域的初始描边线的网格图,网格图中包括多个以轮廓点为顶点生成的三角形网格,每个三角形网格至少与一个其他三角形网格邻接;
其中,初始描边线是指根据目标对象的掩膜区域处理过的轮廓点,在网格图中构建目标对象的描边线。
上述网格图具有指定顶点和拓扑关系。其中,指定顶点是指轮廓点,拓扑关系是指轮廓点之间的连接关系。
上述网格图的生成方式包括但不限于基于GPU(Graphics Processing Unit,图形处理单元)生成网格图,基于vg-renderer图形库生成网格图。其中,基于GPU构建网格图是指基于GPU进行编写网格图生成程序,并根据该程序利用轮廓点生成网格图。基于vg-renderer图形库生成网格图是指借助vg-renderer图形库的内置功能,根据轮廓点的坐标信息以及轮廓点之间的连接关系,生成网格图的过程。
应理解,基于GPU构建网格图的程序实现复杂度较大,因此,本申请优选采用vg-renderer图形库构建网格图,实现了高性能低代码构建网格图,降低了对图片的处理成本,同时提高对图片的处理效率。
具体地,获取多个以轮廓点为顶点的三角形网格的连接关系;
连接与连接关系对应的轮廓点,生成掩膜区域的初始描边线的网格图。
上述连接关系用于指示顶点的连接关系,即轮廓点之间的连接关系。该连接关系以三个轮廓点作为顶点,连接形成一个三角形网格。
将轮廓点的坐标信息和轮廓点之间的连接关系输入vg-renderer图形库创建的网格对象中,连接与连接关系对应的轮廓点,生成掩膜区域的初始描边线的网格图。
此处需要说明的是,将轮廓点作为顶点数据输入渲染管线,渲染管线根据顶点数据和连接关系生成掩膜区域的初始描边线的网格图,根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段,并基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段,生成一张二维的图像。
渲染管线的工作任务是由一个三维场景出发,渲染生成一张二维的图像。渲染管线的工作任务由CPU(Central Processing Unit,中央处理器)和GPU(GraphicsProcessing Unit,图形处理单元)共同完成。渲染管线包括可编程渲染管线和固定管线。
以可编程渲染管线为例进行解释说明,可编程渲染管线包括应用阶段、几何阶段、光栅化阶段,该可编程渲染管线接收到多段描边分段控制信息,该多段描边分段控制信息包括渲染状态,在可编程渲染管线的应用阶段输出渲染所需的几何信息。完成应用阶段任务后,通过CPU调用可编程渲染管线,并向GPU发送渲染指令。当GPU从CPU获取到渲染命令后,可编程渲染管线接收顶点数据作为GPU的输入,该顶点数据为轮廓点。通过GPU,完成对轮廓点的几何处理和光栅化。在几何阶段,GPU主要利用顶点着色器对输入渲染管线的轮廓点进行坐标变换,将轮廓点坐标从模型空间变换到齐次裁剪空间,根据顶点数据和连接关系生成掩膜区域的初始描边线的网格图。根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段。进一步的,GPU可采用曲面细分着色器和/或几何着色器对轮廓点进行细化,如,采用曲面细分着色器对网格图中三角形进行细分,从而增加物体表面上的三角形数量,将这些新的三角形偏移到适当的位置,使网格图表现出更加细腻的细节,采用几何着色器将摄像机视口中视椎体之外的区域进行裁剪。当几何阶段任务完成后,通过GPU进行光栅化处理,光栅化处理包括三角形设置、三角形遍历、片元着色器、逐片元操作等子任务。三角形设置的上一阶段输出为三角形网格的顶点,若要得到整个三角网格对像素的覆盖情况,则必须计算三角形网格每条边上的像素坐标。三角形遍历则是指遍历每一个像素,去检查该像素是否被一个三角形网格所覆盖,若该像素被三角形网格覆盖,则生成一个片元。片元是一个状态集合,一个片元所包含的信息包括但不限于屏幕坐标、深度信息、法线、纹理。最后,在逐片元操作子任务中,根据渲染状态对每个片元进行渲染,即基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段,生成一张二维的图像。
在本实施例中,实现了高性能低代码构建网格图,降低了对图片的处理成本,同时提高对图片的处理效率。
104、获取多段描边控制信息,并根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段;
其中,多段描边控制信息是指将初始描边线分成多个线段及对每个线段进行描边的控制信息。
该多段描边控制信息可以是用户自定义设置的控制信息,也可以是系统默认信息。
传统的方案中使用特定的掩膜图进行描边分段,存在只能在固定位置进行分段,且对线段进行渲染时需要统一进行的弊端。在本申请实施例中,获取多段描边控制信息,可以根据用户个性化喜好,通过修改多段描边控制信息,灵活控制分成多少线段,以及每个线段如何渲染,满足用户对图片描边分段的个性化需求。
优选地,根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段的起止信息和每个描边线段的渲染信息。
其中,上述多段描边控制信息包括描边线段的起止信息和渲染信息。
起止信息是指描边线段的起始轮廓点的编号和终止轮廓点的编号。如,当一个描边线段的起止信息为(30,50)时,其代表该描边线段的起始轮廓点的编号为30和终止轮廓点的编号为50,该描边线段是指以第30个轮廓点为顶点的三角形网格至以第50个轮廓点为顶点的三角形网格在网格图上对应的网格区域。
渲染信息是指描边线段的渲染属性。该渲染属性包括但不限于材质、纹理、颜色。渲染属性可多选。如,当一个多段描边控制信息为[(30,50):red]时,该描边线段是指以第30个轮廓点为顶点的三角形网格至以第50个轮廓点为顶点的三角形网格在网格图上对应的网格区域,该网格区域被渲染成红色。
用户通过对网格区域的属性进行自定义,实现渲染的个性化体验。
示例性的,如图3所示,图3为用户对图片增加描边特效的一界面示意图,该界面示意图仅为示例。界面201包括一个描边控制按钮和用户输入的待处理图片,用户通过点击界面201中的描边控制按钮,对待处理图片的轮廓进行描边分段,生成如界面202所示的描边图片,该描边分段的内容包括但不限于分段数量、线段的粗细程度、线段的渲染纹理。当描边分段的内容为分段数量时,该图片的轮廓的分段数量可随机选择或者用户自定义分段数量。根据分段数量,将待处理图片的轮廓进行描边分段,并根据描边分段后的结果渲染该待处理图片。界面202还包括一个确认键,若用户点击确认键,则保存经过描边渲染过的图片。
进一步地,如图4所示,用户通过点击界面201中的描边控制按钮,可跳转到界面203,界面203包括待处理图片、两个控件按钮(仅为示例)和一个确认键。此处需要说明的是,控件按钮是数量和种类可根据描边控制信息进行设定。例如,描边控制信息包括分段段数,描边线段的粗细程度和渲染图案时,控件按钮为线段段数控件按钮、线段图案控件按钮、线段粗细控件按钮。如图4所示的示意图中,控件按钮包括线段段数控件按钮和线段图案控件按钮,线段段数是指分段数量,线段图案是指渲染该分段的图案。用户通过点击线段段数可确定分段数量,通过点击线段图案可确定渲染该分段的图案。该线段段数可为输入框,用户通过输入框直接输入分段数量,也可以由“+”和“-”控制的控件按钮,通过控制“+”和“-”,控制分段数量。该线段图案选择框可自定义选择渲染素材或者系统预设图案。若用户点击界面203中的确认键,则根据线段段数选择框和线段图案选择框的内容,如线段段数为3,第一段线段对应的渲染图案为圆形素材的图案,第二段线段对应的渲染图案为正方形素材的图案,第三段线段对应的渲染图案为三角形素材的图案,对待处理图片进行渲染,得到如界面202所示的渲染效果。此外,界面202还包括一个确认键,若用户点击确认键,则保存该描边后的图片。此处需要说明的是,用户对图片增加描边特效的示意图仅为举例说明,具体界面可根据实际情况进行调整。
在一示例中,初始描边线上存在100个轮廓点,轮廓点的编号为(0,100)。多段描边控制信息为{[(0,25):texture],[(30,50):red],[(60,100),circle]},则可确定第一个描边线段为以第0个轮廓点为顶点的三角形网格至以第25个轮廓点为顶点的三角形网格在网格图上对应的网格区域,第一个描边线段的渲染信息为肌理属性的素材;第二个描边线段为以第30个轮廓点为顶点的三角形网格至以第50个轮廓点为顶点的三角形网格在网格图上对应的网格区域,第二个描边线段的渲染信息为红色;第三个描边线段为以第60个轮廓点为顶点的三角形网格至以第100个轮廓点为顶点的三角形网格在网格图上对应的网格区域,第三个描边线段的渲染信息为圆形形状属性的素材。初始描边线上(25,30)和(50,60)的线段在网格图上对应的网格区域则不需要进行渲染。
在本实施例中,通过多段描边控制信息,从初始描边线中确定多个互不连接的描边线段,实现自定义分段,以满足用户对描边分段的个性化需求。
105、基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段。
其中,上述渲染可以为按顺序渲染,也可以为随机渲染。按顺序渲染是指按照描边线段的排列顺序进行渲染。随机渲染是指随机选取描边线段,根据选取的描边线段的渲染信息进行渲染。
具体地,获取与渲染信息有关的素材,将该素材采样到在网格图上对应的网格区域的描边线段,根据描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段。
此处需要说明的是,描边线段是由多个三角形网格构建成的,将该素材采样到在网格图上对应的网格区域的描边线段是指将素材渲染到描边线段的三角形网格中。
示例性的,当多段控制信息中存在(0,25):texture,则表示该描边线段为以第0个轮廓点为顶点的三角形网格至以第25个轮廓点为顶点的三角形网格在网格图上对应的网格区域,第一个描边线段的渲染信息为肌理属性的素材,在渲染过程中,随机选择一个肌理属性的素材或者根据特定肌理属性的素材,将该素材采样到以第0个轮廓点为顶点的三角形网格至以第25个轮廓点为顶点的三角形网格在网格图上对应的网格区域,再在待处理图片进行渲染。
上述素材是指用于描边的效果图。如,素材为圆形点图。
上述素材可通过随机的方向采样到在网格图上对应的网格区域的描边线段上,也可以通过素材的法线方向进行采样,能保证特定素材的展示方向,提高特效素材内容的可读性。
示例性的,随机选取第n个素材,将该素材采样到在网格图上对应的网格区域的描边线段,根据描边线段在网格图上对应的网格区域,在待处理图片得到用该素材渲染得到的连续曲线,即描边线段。
此处需要说明的是,若素材为文字素材且渲染方向为逆时针时,在对待处理图片进行描边分段之前,可通过顺序倒转操作,使得渲染之后的文字素材符合人从左到右的阅读习惯。
示例性的,当素材为“好好学习,天天向上”等字样,且渲染方向为逆时针时,对待处理图片进行描边分段后,从左到右的读法则为“上向天天,习学好好”,因此,在对待处理图片进行描边分段之前,可通过顺序倒转操作,使得素材的渲染方向改变,使得渲染之后的文字素材符合人从左到右的阅读习惯。
进一步的,为了优化渲染效果,可对待处理图片进行多次渲染。通过多次渲染,加强待处理图片描边线段的宽度。
进一步的,可通过lua脚本控制素材填充的间隙、素材变更替换、素材与主体边缘的距离,增加渲染效果的多样性。
lua脚本是一种轻量小巧的脚本语言,通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。
示例性的,通过编写lua脚本,控制素材按照间隔一个三角形网格的方式进行渲染,如,当存在一描边线段为以第0个轮廓点为顶点的三角形网格至以第25个轮廓点为顶点的三角形网格在网格图上对应的网格区域,通过lua脚本,描边线段中素材的渲染方式为以单数轮廓点为顶点的三角形网格在网格图上对应的网格区域进行素材采样,以双数轮廓点为顶点的三角形网格在网格图上对应的网格区域则跳过素材采样步骤。
示例性的,通过编写lua脚本,选择多个素材,选定素材按照规定排列顺序进行渲染,如,当存在一描边线段为以第0个轮廓点为顶点的三角形网格至以第25个轮廓点为顶点的三角形网格在网格图上对应的网格区域,则选定的素材为(素材1,素材2,素材3)。通过lua脚本,描边线段中素材的渲染方式为按照(素材1,素材2,素材3)的顺序,从第0个轮廓点为顶点的三角形网格开始,依次对三角形网络在网格图上对应的网格区域进行素材采样,也就是说,以第0个轮廓点为顶点、第3个轮廓点为顶点、第6个轮廓点为顶点等的三角形网格在网格图上对应的网格区域被素材1渲染,以第1个轮廓点为顶点、第4个轮廓点为顶点、第7个轮廓点为顶点等的三角形网格在网格图上对应的网格区域被素材2渲染,以第2个轮廓点为顶点、第5个轮廓点为顶点、第8个轮廓点为顶点等的三角形网格在网格图上对应的网格区域被素材3渲染。
通过lua脚本进行素材控制,无需更新引擎,实现了特效的热更新,提升描边分段的效率。
在本实施例中,通过生成待处理图片中目标对象的掩膜区域的初始描边线的网格图,根据多段描边控制信息,可确定多个互不连接的描边线段,实现自定义分段,同时,根据描边线段在网格图上对应的网格区域,对待处理图片进行渲染,实现描边分段效果,可以满足用户对描边分段的个性化需求。
本实施例还提供一种图片处理装置,该图片处理装置具体可以集成在电子设备中,比如计算机设备,该计算机设备可以为终端、服务器等设备,本实施例对此没有限制。
例如,如图5所示,该图片处理装置可以包括:
掩膜图像获取模块301,用于获取待处理图片中目标对象的掩膜图像,掩膜图像包括目标对象对应的掩膜区域。
轮廓点确定模块302,用于确定目标对象的掩膜区域的轮廓点。
网格图生成模块303,用于基于轮廓点生成掩膜区域的初始描边线的网格图,网格图中包括多个以轮廓点为顶点生成的三角形网格,每个三角形网格至少与一个其他三角形网格邻接。
描边线段确定模块304,用于获取多段描边控制信息,并根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段。
渲染模块305,用于基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段。
在一些实施例中,在轮廓点确定模块302之后,图片处理装置还包括:
距离计算单元,用于计算每个轮廓点到预设线段的距离。
稀疏单元,用于判断距离是否小于预设距离阈值,若是,则保留轮廓点,若否,则舍弃轮廓点。
在一些实施例中,在轮廓点确定模块302之后,图片处理装置还包括:
平滑单元,用于对轮廓点进行曲线拟合,并对轮廓点所在的曲线进行平滑处理。
在一些实施例中,平滑单元包括:
坐标重计算单元,用于遍历所有轮廓点,并判断轮廓点所在的曲线上相邻三个轮廓点构成的夹角是否小于预设夹角阈值,若夹角小于预设夹角阈值,则对中间轮廓点进行坐标重计算,更新中间轮廓点的坐标,直到遍历次数达到预设次数,中间轮廓点为夹角的顶点。
贝塞尔单元,用于对更新坐标后的轮廓点进行贝塞尔计算。
在一些实施例中,网格图生成模块303包括:
连接关系获取单元,用于获取多个以轮廓点为顶点的三角形网格的连接关系。
网格图生成单元,用于连接与连接关系对应的轮廓点,生成掩膜区域的初始描边线的网格图。
在一些实施例中,描边线段确定模块304包括:
描边控制信息确定单元,用于根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段的起止信息和每个所述描边线段的渲染信息。
采用本实施例的装置,可以通过掩膜图像获取模块301获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;通过轮廓点确定模块302确定所述目标对象的掩膜区域的轮廓点;通过网格图生成模块303基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;通过描边线段确定模块304,获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;通过渲染模块305,基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。在本申请实施例中,通过生成待处理图片中目标对象的掩膜区域的初始描边线的网格图,根据多段描边控制信息,可确定多个互不连接的描边线段,实现自定义分段,同时,根据描边线段在网格图上对应的网格区域,对待处理图片进行渲染,实现描边分段效果,可以满足用户对描边分段的个性化需求。
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,PersonalComputer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。或者,电子设备可以为服务器。
如图6所示,图6为本申请实施例提供的电子设备的结构示意图。该电子设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备400的各种功能和处理数据,从而对电子设备400进行整体监控。
在本申请实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,例如:
获取待处理图片中目标对象的掩膜图像,掩膜图像包括目标对象对应的掩膜区域;
确定目标对象的掩膜区域的轮廓点;
基于轮廓点生成掩膜区域的初始描边线的网格图,网格图中包括多个以轮廓点为顶点生成的三角形网格,每个三角形网格至少与一个其他三角形网格邻接;
获取多段描边控制信息,并根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段;
基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段。
在一些实施例中,确定所述目标对象的掩膜区域的轮廓点之后,还包括:
计算每个轮廓点到预设线段的距离;
判断距离是否小于预设距离阈值,若是,则保留轮廓点,若否,则舍弃所述轮廓点。
在一些实施例中,确定目标对象的掩膜区域的轮廓点之后,还包括:
对轮廓点进行曲线拟合,并对轮廓点所在的曲线进行平滑处理。
在一些实施例中,对轮廓点所在的曲线进行平滑处理,包括:
遍历所有轮廓点,并判断轮廓点所在的曲线上相邻三个轮廓点构成的夹角是否小于预设夹角阈值,若夹角小于预设夹角阈值,则对中间轮廓点进行坐标重计算,更新中间轮廓点的坐标,直到遍历次数达到预设次数,中间轮廓点为夹角的顶点;
对更新坐标后的轮廓点进行贝塞尔计算。
在一些实施例中,基于轮廓点生成掩膜区域的初始描边线的网格图,包括:
获取多个以轮廓点为顶点的三角形网格的连接关系;
连接与连接关系对应的轮廓点,生成掩膜区域的初始描边线的网格图。
在一些实施例中,根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段,包括:
根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段的起止信息和每个描边线段的渲染信息。
进一步的,运行存储在存储器402中的应用程序,从而实现的各种功能,还可以参见前述实施例中的描述,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图6所示,电子设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
音频电路405可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一电子设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源407用于给电子设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图6中未示出,电子设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种图片处理方法。例如,该计算机程序可以执行如下图片处理方法的步骤:
获取待处理图片中目标对象的掩膜图像,掩膜图像包括目标对象对应的掩膜区域;
确定目标对象的掩膜区域的轮廓点;
基于轮廓点生成掩膜区域的初始描边线的网格图,网格图中包括多个以轮廓点为顶点生成的三角形网格,每个三角形网格至少与一个其他三角形网格邻接;
获取多段描边控制信息,并根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段;
基于描边线段在网格图上对应的网格区域,在待处理图片上渲染出多个描边线段。
进一步的,上述方法步骤的细化步骤,还可以参见前述实施例中的描述,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种图片处理方法,因此,可以实现本申请实施例所提供的任一种图片处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述实施例中的各种可选实现方式中提供的方法。
在上述图片处理装置、计算机可读存储介质、电子设备、计算机程序产品实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的图片处理装置、计算机可读存储介质、计算机程序产品、电子设备及其相应单元的具体工作过程及可带来的有益效果,可以参考如上实施例中图片处理方法的说明,具体在此不再赘述。
以上对本申请实施例所提供的一种图片处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种图片处理方法,其特征在于,包括:
获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;
确定所述目标对象的掩膜区域的轮廓点;
基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;
获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;
基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。
2.根据权利要求1所述的图片处理方法,其特征在于,所述确定所述目标对象的掩膜区域的轮廓点之后,所述方法还包括:
计算每个轮廓点到预设线段的距离;
判断所述距离是否小于预设距离阈值,若是,则保留所述轮廓点,若否,则舍弃所述轮廓点。
3.根据权利要求1所述的图片处理方法,其特征在于,所述确定所述目标对象的掩膜区域的轮廓点之后,所述方法还包括:
对轮廓点进行曲线拟合,并对所述轮廓点所在的曲线进行平滑处理。
4.根据权利要求3所述的图片处理方法,其特征在于,所述对轮廓点所在的曲线进行平滑处理,包括:
遍历所有轮廓点,并判断所述轮廓点所在的曲线上相邻三个轮廓点构成的夹角是否小于预设夹角阈值,若所述夹角小于所述预设夹角阈值,则对中间轮廓点进行坐标重计算,更新所述中间轮廓点的坐标,直到遍历次数达到预设次数,所述中间轮廓点为所述夹角的顶点;
对更新坐标后的轮廓点进行贝塞尔计算。
5.根据权利要求1所述的图片处理方法,其特征在于,所述基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,包括:
获取多个以轮廓点为顶点的三角形网格的连接关系;
连接与所述连接关系对应的轮廓点,生成所述掩膜区域的初始描边线的网格图。
6.根据权利要求1所述的图片处理方法,其特征在于,所述根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段,包括:
根据多段描边控制信息,从初始描边线中确定多个互不连接的描边线段的起止信息和每个所述描边线段的渲染信息。
7.一种图片处理装置,其特征在于,包括:
掩膜图像获取模块,用于获取待处理图片中目标对象的掩膜图像,所述掩膜图像包括所述目标对象对应的掩膜区域;
轮廓点确定模块,用于确定所述目标对象的掩膜区域的轮廓点;
网格图生成模块,用于基于所述轮廓点生成所述掩膜区域的初始描边线的网格图,所述网格图中包括多个以所述轮廓点为顶点生成的三角形网格,每个所述三角形网格至少与一个其他三角形网格邻接;
描边线段确定模块,用于获取多段描边控制信息,并根据所述多段描边控制信息,从所述初始描边线中确定多个互不连接的描边线段;
渲染模块,用于基于所述描边线段在所述网格图上对应的网格区域,在所述待处理图片上渲染出多个描边线段。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~6任一项所述的图片处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~6任一项所述的图片处理方法的步骤。
10.一种计算机程序产品,其特征在于,所述包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现权利要求1~6任一项所述的图片处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312953.7A CN117435110B (zh) | 2023-10-11 | 2023-10-11 | 一种图片处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312953.7A CN117435110B (zh) | 2023-10-11 | 2023-10-11 | 一种图片处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117435110A true CN117435110A (zh) | 2024-01-23 |
CN117435110B CN117435110B (zh) | 2024-06-18 |
Family
ID=89554494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311312953.7A Active CN117435110B (zh) | 2023-10-11 | 2023-10-11 | 一种图片处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435110B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950427A (zh) * | 2010-09-08 | 2011-01-19 | 东莞电子科技大学电子信息工程研究院 | 一种适用于移动终端的矢量线段轮廓化方法 |
CN106709863A (zh) * | 2016-12-28 | 2017-05-24 | 杭州趣维科技有限公司 | 一种基于gpu的高效2d矢量图形渲染方法 |
CN110070555A (zh) * | 2018-10-19 | 2019-07-30 | 北京微播视界科技有限公司 | 图像处理方法、装置、硬件装置 |
CN111210485A (zh) * | 2020-01-06 | 2020-05-29 | 北京字节跳动网络技术有限公司 | 图像的处理方法、装置、可读介质和电子设备 |
CN111460073A (zh) * | 2020-04-01 | 2020-07-28 | 北京百度网讯科技有限公司 | 车道线检测方法、装置、设备和存储介质 |
CN111696176A (zh) * | 2020-06-08 | 2020-09-22 | 北京有竹居网络技术有限公司 | 图像处理方法、装置、电子设备及计算机可读介质 |
CN114125320A (zh) * | 2021-08-31 | 2022-03-01 | 北京达佳互联信息技术有限公司 | 一种图像特效的生成方法及装置 |
CN115006842A (zh) * | 2022-06-13 | 2022-09-06 | 网易(杭州)网络有限公司 | 场景地图生成方法、装置、存储介质及计算机设备 |
CN115100334A (zh) * | 2022-08-24 | 2022-09-23 | 广州极尚网络技术有限公司 | 一种图像描边、图像动漫化方法、设备及存储介质 |
CN115690773A (zh) * | 2022-12-26 | 2023-02-03 | 武汉天际航信息科技股份有限公司 | Dem分区及重建方法、计算设备和存储介质 |
CN115797533A (zh) * | 2022-11-10 | 2023-03-14 | 上海纵游网络技术有限公司 | 模型描边方法、装置、设备及存储介质 |
CN115830303A (zh) * | 2021-09-15 | 2023-03-21 | 小米科技(武汉)有限公司 | 图像处理方法、装置及存储介质 |
WO2023066121A1 (zh) * | 2021-10-18 | 2023-04-27 | 上海商汤智能科技有限公司 | 三维模型的渲染 |
CN116503262A (zh) * | 2022-01-19 | 2023-07-28 | 北京字跳网络技术有限公司 | 户型图的矢量化处理方法、装置和电子设备 |
CN116684394A (zh) * | 2023-06-02 | 2023-09-01 | 北京字跳网络技术有限公司 | 媒体内容处理方法、装置、设备、可读存储介质及产品 |
-
2023
- 2023-10-11 CN CN202311312953.7A patent/CN117435110B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950427A (zh) * | 2010-09-08 | 2011-01-19 | 东莞电子科技大学电子信息工程研究院 | 一种适用于移动终端的矢量线段轮廓化方法 |
CN106709863A (zh) * | 2016-12-28 | 2017-05-24 | 杭州趣维科技有限公司 | 一种基于gpu的高效2d矢量图形渲染方法 |
CN110070555A (zh) * | 2018-10-19 | 2019-07-30 | 北京微播视界科技有限公司 | 图像处理方法、装置、硬件装置 |
CN111210485A (zh) * | 2020-01-06 | 2020-05-29 | 北京字节跳动网络技术有限公司 | 图像的处理方法、装置、可读介质和电子设备 |
CN111460073A (zh) * | 2020-04-01 | 2020-07-28 | 北京百度网讯科技有限公司 | 车道线检测方法、装置、设备和存储介质 |
CN111696176A (zh) * | 2020-06-08 | 2020-09-22 | 北京有竹居网络技术有限公司 | 图像处理方法、装置、电子设备及计算机可读介质 |
CN114125320A (zh) * | 2021-08-31 | 2022-03-01 | 北京达佳互联信息技术有限公司 | 一种图像特效的生成方法及装置 |
CN115830303A (zh) * | 2021-09-15 | 2023-03-21 | 小米科技(武汉)有限公司 | 图像处理方法、装置及存储介质 |
WO2023066121A1 (zh) * | 2021-10-18 | 2023-04-27 | 上海商汤智能科技有限公司 | 三维模型的渲染 |
CN116503262A (zh) * | 2022-01-19 | 2023-07-28 | 北京字跳网络技术有限公司 | 户型图的矢量化处理方法、装置和电子设备 |
CN115006842A (zh) * | 2022-06-13 | 2022-09-06 | 网易(杭州)网络有限公司 | 场景地图生成方法、装置、存储介质及计算机设备 |
CN115100334A (zh) * | 2022-08-24 | 2022-09-23 | 广州极尚网络技术有限公司 | 一种图像描边、图像动漫化方法、设备及存储介质 |
CN115797533A (zh) * | 2022-11-10 | 2023-03-14 | 上海纵游网络技术有限公司 | 模型描边方法、装置、设备及存储介质 |
CN115690773A (zh) * | 2022-12-26 | 2023-02-03 | 武汉天际航信息科技股份有限公司 | Dem分区及重建方法、计算设备和存储介质 |
CN116684394A (zh) * | 2023-06-02 | 2023-09-01 | 北京字跳网络技术有限公司 | 媒体内容处理方法、装置、设备、可读存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117435110B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200372602A1 (en) | Scheme for compressing vertex shader output parameters | |
GB2555698B (en) | Three-dimensional model manipulation and rendering | |
CN111369655B (zh) | 渲染方法、装置和终端设备 | |
US8914259B2 (en) | Passive associativity in three-dimensional (3D) modeling | |
CN107154063B (zh) | 图像展示区域的形状设置方法及装置 | |
CN112370783B (zh) | 虚拟对象渲染方法、装置、计算机设备和存储介质 | |
CN111583379B (zh) | 虚拟模型的渲染方法、装置、存储介质与电子设备 | |
CN108399646B (zh) | 一种图像渲染方法及装置 | |
JP2023029984A (ja) | 仮想イメージを生成するための方法、装置、電子機器及び可読記憶媒体 | |
CN112802172A (zh) | 三维模型的纹理映射方法、装置、存储介质及计算机设备 | |
RU2680355C1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
CN114842123A (zh) | 三维人脸重建模型训练和三维人脸形象生成方法及装置 | |
US10675538B2 (en) | Program, electronic device, system, and method for determining resource allocation for executing rendering while predicting player's intent | |
CN116228943B (zh) | 虚拟对象面部重建方法、面部重建网络训练方法及装置 | |
CN111445563A (zh) | 一种图像生成的方法以及相关装置 | |
CN117435110B (zh) | 一种图片处理方法、装置、电子设备和存储介质 | |
CN114797109A (zh) | 对象编辑方法、装置、电子设备和存储介质 | |
CN115409928A (zh) | 水体效果渲染方法、装置、电子设备和存储介质 | |
CN110502305B (zh) | 一种动态界面的实现方法、装置及相关设备 | |
CN114266849A (zh) | 模型自动生成方法、装置、计算机设备及存储介质 | |
CN113350792A (zh) | 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质 | |
CN110728738B (zh) | 一种基于局部自适应的图像流动画渲染方法及系统 | |
CN117745915B (zh) | 一种模型渲染方法、装置、设备及存储介质 | |
CN115761066A (zh) | 马赛克颗粒的动画效果生成方法、装置、存储介质及设备 | |
CN114299211A (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 |