CN111210485B - 图像的处理方法、装置、可读介质和电子设备 - Google Patents
图像的处理方法、装置、可读介质和电子设备 Download PDFInfo
- Publication number
- CN111210485B CN111210485B CN202010010816.8A CN202010010816A CN111210485B CN 111210485 B CN111210485 B CN 111210485B CN 202010010816 A CN202010010816 A CN 202010010816A CN 111210485 B CN111210485 B CN 111210485B
- Authority
- CN
- China
- Prior art keywords
- contour
- color
- point
- line segment
- target
- 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
- 238000003672 processing method Methods 0.000 title description 5
- 238000009877 rendering Methods 0.000 claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000011218 segmentation Effects 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000000875 corresponding effect Effects 0.000 claims description 106
- 238000004590 computer program Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 229910052754 neon Inorganic materials 0.000 description 2
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- 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/13—Edge detection
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种图像的处理方法、装置、可读介质和电子设备,该方法包括:识别当前时刻采集的目标图像中目标对象的目标轮廓,根据当前时刻与第一时刻的时间差,和在第一时刻确定的起始轮廓位置、终止轮廓位置,在目标轮廓中,确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,将目标轮廓中起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段,按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染,重复执行上述步骤,直至起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。本公开能够实现动态描边的效果。
Description
技术领域
本公开涉及图像处理技术领域,具体地,涉及一种图像的处理方法、装置、可读介质和电子设备。
背景技术
随着终端技术和图像处理技术的不断发展,终端设备上所能提供的图像处理操作越来越丰富。例如,终端设备可以标识出图像中指定对象(例如:人、猫、狗等)的轮廓,其中标识轮廓的方式比较固定,只能按照规定的颜色或者规律来显示对象的轮廓。针对视频中包括的多帧图像来说,每一帧图像中对象的状态可能会发生变化,而每一帧图像中显示对象的轮廓的方式都相同,不能和动态变化的对象产生关联,无法满足用户的需求。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种图像的处理方法,所述方法包括:
识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;
根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;
将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;
按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;
重复执行所述识别当前时刻采集的目标图像中目标对象的目标轮廓,至所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染的步骤,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
第二方面,本公开提供一种图像的处理装置,所述装置包括:
识别模块,用于识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;
第一确定模块,用于根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;
第二确定模块,用于将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;
渲染模块,用于按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;
重复执行所述识别当前时刻采集的目标图像中目标对象的目标轮廓,至所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染的步骤,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,本公开首先从当前时刻采集的目标图像中,识别出目标对象的目标轮廓,然后根据当前时刻和第一时刻的时间差,在目标轮廓中确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,再将起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段,最后按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染。重复执行上述步骤,直至起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。本公开能够在目标对象的轮廓上,起始轮廓位置和终止轮廓位置所指示的定范围内,实现动态描边的效果。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据一示例性实施例示出的一种图像的处理方法的流程图;
图2是根据一示例性实施例示出的目标轮廓的示意图;
图3是根据一示例性实施例示出的另一种图像的处理方法的流程图;
图4是根据一示例性实施例示出的另一种图像的处理方法的流程图;
图5是根据一示例性实施例示出的另一种图像的处理方法的流程图;
图6是根据一示例性实施例示出的另一种图像的处理方法的流程图;
图7是根据一示例性实施例示出的渲染后的目标图像;
图8是根据一示例性实施例示出的另一种图像的处理方法的流程图;
图9是根据一示例性实施例示出的渲染后的目标图像;
图10是根据一示例性实施例示出的一种图像的处理装置的框图;
图11是根据一示例性实施例示出的另一种图像的处理装置的框图;
图12是根据一示例性实施例示出的另一种图像的处理装置的框图;
图13是根据一示例性实施例示出的另一种图像的处理装置的框图;
图14是根据一示例性实施例示出的另一种图像的处理装置的框图;
图15是根据一示例性实施例示出的另一种图像的处理装置的框图;
图16是根据一示例性实施例示出的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1是根据一示例性实施例示出的一种图像的处理方法的流程图,如图1所示,该方法包括:
步骤101,识别当前时刻采集的目标图像中目标对象的目标轮廓,目标轮廓中包括多个轮廓点。
举例来说,当前时刻采集的目标图像,例如可以是用户通过终端设备拍摄的视频中当前时刻采集的一帧包含目标对象的图像,也可以是用户在终端设备的显示界面上播放的视频中当前时刻播放的一帧包含目标对象的图像。其中,目标对象可以由用户指定,也可以是终端设备上预先设置的对象,例如:可以是人、猫、狗等有生命的对象,也可以人偶、机器人、汽车、电脑、桌椅等任一种物体。首先,可以按照预设的识别算法,识别出目标图像中目标对象的目标轮廓,目标轮廓中包括了多个轮廓点。轮廓点可以理解为,将指示目标对象的目标轮廓,按照预设的间隔分为多段,每段的端点为一个轮廓点,每个轮廓点都有一个序号,序号用来表示该轮廓点在目标轮廓中的顺序。识别算法例如可以是任一种图像抠图(英文:Image Matting)的算法,识别算法输出的目标轮廓可以有多种表示形式。例如目标轮廓可以是能够表示目标轮廓的线段(首尾连接的线段),如图2中的(a)所示,那么将目标轮廓按照预设的间隔分为多个线段,每个线段之间的端点为轮廓点,即图2中的(a)序号0、1、2、3、…、267所标出的轮廓点。目标轮廓还可以是能够表示目标轮廓的区域(可以理解为目标对象的内轮廓和外轮廓两条线段之间的中间区域),如图2中的(b)所示,那么将目标轮廓按照预设的间隔分为多个矩形区域,每个矩形区域的四个顶点为轮廓点,即图2中的(b)序号0、1、2、3、…、535所标出的轮廓点,其中0、1、2、3组成一个矩形区域,依次类推。以下实施例以图2中的(a)所示的目标轮廓来进行举例说明,本公开对此不作限定。
步骤102,根据当前时刻与第一时刻的时间差,和在第一时刻确定的起始轮廓位置、终止轮廓位置,在目标轮廓中,确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,第一时刻为当前时刻之前的时刻。
示例的,在第一时刻(当前时刻之前的时刻)终端设备采集了初始图像,用户可以通过终端设备输入设置指令,设置指令中可以包括用户设置的起始关键点和终止关键点,还可以包括用户设置的第一颜色。由起始关键点和终止关键点来标识初始图像中需要进行描边的区域范围,第一颜色用于指示需要进行描边的区域范围需要渲染的颜色。在第一时刻之前,目标轮廓的显示颜色可以为第二颜色。例如目标对象为人,设置指令中,起始关键点为头顶,终止关键点为左手,第一颜色为紫色,在此之前,人的轮廓为绿色(即第二颜色)。那么需要达到的动态描边效果为:从头部到左手(可以是按顺时针方向从头部到左手,也可以是按逆时针方向从头部到左手)渲染为紫色,目标轮廓中的其他部分渲染为绿色。
在第一时刻,可以根据不同的关键点与轮廓点之间的对应关系,确定起始关键点对应的起始轮廓位置,和终止关键点对应的终止轮廓位置。其中,轮廓位置(包括:起始轮廓位置、终止轮廓位置和后文所提到的分割轮廓位置),可以理解为能够反映一个轮廓点在整个轮廓(包括目标轮廓和后文所提到的初态轮廓)中所处的位置。由于不同时刻采集的图像中目标对象的姿势、距离等状态都会发生变化,相应的轮廓包含的轮廓点的数量不相同,仅利用轮廓点的序号,无法准确描述目标对象的指定部位,因此可以将轮廓点的序号与轮廓包含的轮廓点的数量的比值,作为轮廓位置。例如轮廓点的序号为20,轮廓点的数量为500,那么轮廓位置可以为0.04。然后,在当前时刻,根据轮廓位置(包括:起始轮廓位置和终止轮廓位置)和目标轮廓中包含的轮廓点的数量,确定对应的起始轮廓点和终止轮廓点。起始轮廓点为起始关键点在目标图像中对应的轮廓点,同样的,终止轮廓点为终止关键点在目标图像中对应的轮廓点。
进一步的,在实现动态描边的过程中,还可以设置动态描边的渲染时长,可以是用户在第一时刻设置的,也可以终端设备中预先设置的默认值。渲染时长可以理解为从起始关键点开始,至终止关键点为止,将起始关键点至终止关键点之间的线段逐步渲染为第一颜色需要经过的时长,也可以理解为将起始关键点至终止关键点之间的线段逐步渲染为第一颜色需要经过多少帧图像。因此,可以根据当前时刻与第一时刻的时间差(或者目标图像与初始图像之间相隔的帧数),来确定当前时刻对应的分割轮廓点,分割轮廓点可以理解为,在当前时刻,需要将起始轮廓点至分割轮廓点之间的线段渲染为第一颜色,其他轮廓点渲染为第二颜色。
步骤103,将目标轮廓中起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段。
步骤104,按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染,第一颜色与第二颜色不相同。
举例来说,在确定了起始轮廓点和分割轮廓点后,可以根据起始轮廓点和分割轮廓点,将目标轮廓分为第一线段和第二线段。其中,第一线段为从起始轮廓点至分割轮廓点按照预设方向(例如:顺时针方向或逆时针方向)之间的轮廓点组成的线段,第二线段为将目标轮廓中除第一线段之外的线段。最后按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染。
重复执行步骤101至步骤104,直至目标轮廓中,起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。
以渲染时长为5s来举例,若起始轮廓点的序号为1,终止轮廓点的序号为100,起始轮廓点至终止轮廓点之间的轮廓点之间有100个轮廓点。将这100个轮廓点组成的线段逐步渲染为第一颜色需要经过5s,那么第1秒时,将1-20的轮廓点按照第一颜色进行渲染,第2秒时,将1-40的轮廓点按照第一颜色进行渲染,以此类推,直至第5秒时,将1-100的轮廓点(即起始轮廓点至终止轮廓点之间的所有轮廓点)按照第一颜色进行渲染,以实现动态描边的效果。
或者,以渲染时长为100帧来举例,若起始轮廓点的序号为1,终止轮廓点的序号为100,起始轮廓点至终止轮廓点之间的轮廓点之间有100个轮廓点。将这100个轮廓点组成的线段逐步渲染为第一颜色需要经过100帧,那么第1帧时,将1-2的轮廓点按照第一颜色进行渲染,第2帧时,将1-3的轮廓点按照第一颜色进行渲染,以此类推,直至第100帧时,将1-100的轮廓点(即起始轮廓点至终止轮廓点之间的所有轮廓点)按照第一颜色进行渲染,以实现动态描边的效果。
需要说明的是,在按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染后,可以根据用户的不同需求,对目标图像进行不同的操作,例如可以将目标图像显示在终端设备的显示界面上,也可以将目标图像存储在指定的存储路径内,还可以将目标图像发送至指定的服务器进行共享等,本公开对此不作具体限定。
综上所述,本公开首先从当前时刻采集的目标图像中,识别出目标对象的目标轮廓,然后根据当前时刻和第一时刻的时间差,在目标轮廓中确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,再将起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段,最后按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染。重复执行上述步骤,直至起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。本公开能够在目标对象的轮廓上,起始轮廓位置和终止轮廓位置所指示的定范围内,实现动态描边的效果。
图3是根据一示例性实施例示出的另一种图像的处理方法的流程图,如图3所示,步骤102包括:
步骤1021,根据当前时刻与第一时刻的时间差,和起始轮廓位置、终止轮廓位置,确定当前时刻对应的分割轮廓位置。
步骤1022,根据目标轮廓包括的轮廓点的目标数量,在目标轮廓中,确定起始轮廓点、终止轮廓点,和分割轮廓位置对应的分割轮廓点。
举例来说,可以根据当前时刻与第一时刻的时间差(或者目标图像与初始图像之间相隔的帧数),和起始轮廓位置、终止轮廓位置,先确定当前时刻对应的分割轮廓位置。分割轮廓位置用于指示当前时刻需要将起始轮廓位置和终止轮廓位置所指示的线段中的哪一部分渲染为第一颜色,即将起始轮廓位置至分割轮廓位置所指示的线段渲染为第一颜色。
其中,分割轮廓位置=起始轮廓位置+(终止轮廓位置-起始轮廓位置)*(时间差/渲染时长)。
以起始轮廓位置为0.2,终止轮廓位置为0.4来举例,渲染时长为5s,当前时刻与第一时刻的时间差为2s,那么分割轮廓位置为0.2+(0.4-0.2)*(2/5)=0.28。目标轮廓包括的轮廓点的目标数量为700,那么起始轮廓点在目标轮廓中的序号为0.2*700=140,即第140个轮廓点,分割轮廓点在目标轮廓中的序号为0.28*700=196,终止轮廓点在目标轮廓中的序号为0.4*700=280。
图4是根据一示例性实施例示出的另一种图像的处理方法的流程图,如图4所示,在步骤101之前,该方法还包括:
步骤105,识别第一时刻采集的初始图像中,目标对象的初态轮廓和关键点序列。
在具体的实现场景中,第一时刻终端设备采集的图像为初始图像,然后通过与步骤101中相同的识别算法,识别初始图像中,目标对象的初态轮廓和关键点序列。其中,关键点序列中包括一个或多个关键点,针对不同的目标对象,关键点序列中包括的关键点可能不同。例如,若目标对象为人,那么关键点序列可以包括:头顶、右肩、左肩、左手肘、右手肘、左肩-内、右肩-内、左手肘-内、右手肘-内、左手、右手、左臀、右臀、左膝、右膝、左脚、右脚、左膝-内、右膝-内、大腿-内侧等关键点。若目标对象为汽车,那么关键点序列可以包括:车头、左前灯、右前灯、左后灯、右后灯、左前车门、右前车门、左后车门、右后车门、左前轮、右前轮、左后轮、右后轮、车尾、车顶等关键点。
步骤106,按照最近邻算法确定关键点序列中包括的关键点,与初态轮廓中包括的轮廓点的对应关系。
步骤107,根据对应关系,确定关键点序列中指定的起始关键点对应的起始轮廓位置,和指定的终止关键点对应的终止轮廓位置。
示例的,可以根据最近邻算法和目标对象的先验知识来得到关键点序列中包括的关键点,与初态轮廓中包括的轮廓点的对应关系。其中最近邻算法可以是K最近邻算法(英文:k-Nearest Neighbor,缩写:kNN)。对应关系可以包括多个关系记录,每个关系记录中包括一个关键点对应在初态轮廓中的一个轮廓点。最后,根据对应关系,确定第一时刻用户通过终端设备设置的起始关键点和终止关键点,对应的起始轮廓位置和终止轮廓位置。
图5是根据一示例性实施例示出的另一种图像的处理方法的流程图,如图5所示,步骤107的实现方式可以包括:
步骤1071,根据对应关系,在初态轮廓中,确定起始关键点对应的第一轮廓点,和终止关键点对应的第二轮廓点。
步骤1072,确定初态轮廓包括的轮廓点的初态数量。
步骤1073,将第一轮廓点的序号与初态数量的比值作为起始轮廓位置,将第二轮廓点的序号与初态数量的比值作为终止轮廓位置。
具体的,在确定起始轮廓位置和终止轮廓位置时,可以先根据对应关系,确定起始关键点在初态轮廓中,对应的第一轮廓点,和终止关键点在初态轮廓中,对应的第二轮廓点。其中,第一轮廓点为起始关键点在初始图像中对应的轮廓点,与步骤102中确定的起始轮廓点对应,即第一轮廓点在初始图像中所标识的目标对象的部位,与起始轮廓点在目标图像中所标识的目标对象的部位相同。同样的,第二轮廓点为终止关键点在初始图像中对应的轮廓点,与步骤102中确定的终止轮廓点对应,即第二轮廓点在初始图像中所标识的目标对象的部位,与终止轮廓点在目标图像中所标识的目标对象的部位相同。
然后,确定初态轮廓包括的轮廓点的初态数量,最后将第一轮廓点的序号与初态数量的比值作为起始轮廓位置,将第二轮廓点的序号与初态数量的比值作为终止轮廓位置。例如,用户指定的起始关键点为头顶,对应的第一轮廓点的序号为0,终止关键点为左手,对应的第二轮廓点的序号为130,初态数量为536个,那么起始轮廓位置为0/536=0,终止轮廓位置为130/536=0.243。
图6是根据一示例性实施例示出的另一种图像的处理方法的流程图,如图6所示,步骤104可以通过以下步骤来实现:
步骤1041a,将第一线段中的每个像素点渲染为第一颜色,并将与该像素点距离小于距离阈值的像素点渲染为第一颜色。和/或,
步骤1041b,将第二线段中的每个像素点渲染为第二颜色,并将与该像素点距离小于距离阈值的像素点渲染为第二颜色。
举例来说,在对第一线段和第二线段进行渲染时,可以将第一线段中的每个像素点,和位于该像素点附近的像素点(即与该像素点距离小于距离阈值的像素点)都渲染为第一颜色,将第二线段中的每个像素点,和位于该像素点附近的像素点都渲染为第二线颜色。可以理解为,将包含了目标轮廓,且位于目标轮廓附近的一定区域内,分别渲染为第一颜色和第二颜色,这样可以使渲染出的目标轮廓更加明显、动态描边的效果更加突出。如图7所示,A点为起始轮廓点,B点为终止轮廓点,C点为分割轮廓点,按照逆时针的方向,线段AC为第一线段,线段CB与线段BA组合成第二线段,将线段AC,和位于线段AC附近的区域渲染为第一颜色,将线段CB与线段BA,和位于线段CB与线段BA附近的区域渲染为第二颜色。
图8是根据一示例性实施例示出的另一种图像的处理方法的流程图,如图8所示,步骤104的另一种实现方式可以包括:
步骤1042a,将第一像素点渲染为第一颜色,并将与第一像素点距离小于第一距离阈值的像素点渲染为第一颜色,第一像素点为第一线段上的任一像素点。
步骤1043a,将与第一像素点距离大于或等于第一距离阈值,且小于第二距离阈值的像素点,作为第一边缘像素点。
步骤1044a,根据第一边缘像素点与第一像素点的距离,和第一颜色,确定第一边缘颜色,并将第一边缘像素点渲染为第一边缘颜色。
和/或,
步骤1042b,将第二像素点渲染为第二颜色,并将与第二像素点距离小于第一距离阈值的像素点渲染为第二颜色,第二像素点为第二线段上的任一像素点。
步骤1043b,将与第二像素点距离大于或等于第一距离阈值,且小于第二距离阈值的像素点,作为第二边缘像素点。
步骤1044b,根据第二边缘像素点与第二像素点的距离,和第二颜色,确定第二边缘颜色,并将第二边缘像素点渲染为第二边缘颜色。
在另一种实现方式中,在对第一线段进行渲染时,可以先将第一线段渲染为第一颜色。然后,根据距离第一线段的距离远近,选择不同的颜色对第一线段附近的像素点进行渲染,以实现不同的动态描边的效果。以第一像素点为例,将与第一像素点距离小于第一距离阈值的像素点渲染为第一颜色,即与第一线段渲染相同的颜色。再将与第一像素点距离大于或等于第一距离阈值,且小于第二距离阈值的像素点,作为第一边缘像素点。最后根据第一边缘像素点与第一像素点的距离,和第一颜色,确定第一边缘颜色,并将第一边缘像素点渲染为第一边缘颜色。其中,第一边缘像素点可以有多个,每个边缘像素点根据与第一像素点的距离,确定第一边缘颜色,与第一像素点的距离不同的第一边缘像素点,对应的第一边缘颜色也不相同。按照第二颜色对第二线段进行渲染的执行步骤,与按照第一颜色对第一线段进行渲染的执行步骤相同,此处不再赘述。
具体的,步骤1044a的实现方式可以是:
首先,根据第一边缘像素点与第一像素点的距离,确定第一边缘颜色的透明度,第一边缘颜色的透明度,和第一边缘像素点与第一像素点的距离正相关。第一像素点与第一像素点之间的距离为零,那么第一颜色的透明度为0%(即第一像素点和,与第一像素点距离小于第一距离阈值的像素点渲染为第一颜色)。第一边缘颜色的透明度可以为,第一边缘像素点与第一像素点的距离的1.5次幂,再乘以预设的比例系数k。以比例系数为1%来举例,若第一边缘像素点与第一像素点的距离为10个像素距离,那么第一边缘颜色的透明度=k*(10)^1.5=31.6%,若第一边缘像素点与第一像素点的距离为20个像素距离,那么第一边缘颜色的透明度=k*(20)^1.5=89.5%。透明度的上限值为100%,当第一边缘颜色的透明度为100%时,即不对第一边缘像素点进行渲染。
之后,将第一颜色的色度作为第一边缘颜色的色度。最后,将第一边缘像素点渲染为第一边缘颜色。可以理解为,第一边缘颜色的色度与第一颜色的色度相同,第一边缘颜色的透明度比第一颜色的透明度高,这样,随着与第一像素点的距离越来越大,第一边缘像素点的透明度越来越高,效果如图9所示。从而形成渐变的、霓虹灯的效果。
同样的,步骤1044b的实现方式可以是:首先,根据第二边缘像素点与第二像素点的距离,确定第二边缘颜色的透明度,第二边缘颜色的透明度,和第二边缘像素点与第二像素点的距离正相关。之后,将第二颜色的色度作为第二边缘颜色的色度。最后,将第二边缘像素点渲染为第二边缘颜色。
这样,就能使第一线条渲染为第一颜色,第一线条附近的区域,随着与第一线条的距离越来越大,透明度越来越高,也能使第二线条渲染为第二颜色,第二线条附近的区域,随着与第二线条的距离越来越大,透明度越来越高,从而形成渐变的、霓虹灯的效果。
综上所述,本公开首先从当前时刻采集的目标图像中,识别出目标对象的目标轮廓,然后根据当前时刻和第一时刻的时间差,在目标轮廓中确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,再将起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段,最后按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染。重复执行上述步骤,直至起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。本公开能够在目标对象的轮廓上,起始轮廓位置和终止轮廓位置所指示的定范围内,实现动态描边的效果。
图10是根据一示例性实施例示出的一种图像的处理装置的框图,如图10所示,该装置200包括:
识别模块201,用于识别当前时刻采集的目标图像中目标对象的目标轮廓,目标轮廓中包括多个轮廓点。
第一确定模块202,用于根据当前时刻与第一时刻的时间差,和在第一时刻确定的起始轮廓位置、终止轮廓位置,在目标轮廓中,确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,第一时刻为当前时刻之前的时刻。
第二确定模块203,用于将目标轮廓中起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段。
渲染模块204,用于按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染,第一颜色与第二颜色不相同。
重复执行识别当前时刻采集的目标图像中目标对象的目标轮廓,至按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染的步骤,直至目标轮廓中,起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。
图11是根据一示例性实施例示出的另一种图像的处理装置的框图,如图11所示,第一确定模块202包括:
第一确定子模块2021,用于根据当前时刻与第一时刻的时间差,和起始轮廓位置、终止轮廓位置,确定当前时刻对应的分割轮廓位置。
第二确定子模块2022,用于根据目标轮廓包括的轮廓点的目标数量,在目标轮廓中,确定起始轮廓点、终止轮廓点,和分割轮廓位置对应的分割轮廓点。
图12是根据一示例性实施例示出的另一种图像的处理装置的框图,如图12所示,该装置200还包括:
识别模块201,还用于在识别当前时刻采集的目标图像中目标对象的目标轮廓之前,识别第一时刻采集的初始图像中,目标对象的初态轮廓和关键点序列。
第三确定模块205,用于按照最近邻算法确定关键点序列中包括的关键点,与初态轮廓中包括的轮廓点的对应关系。
第四确定模块206,用于根据对应关系,确定关键点序列中指定的起始关键点对应的起始轮廓位置,和指定的终止关键点对应的终止轮廓位置。
图13是根据一示例性实施例示出的另一种图像的处理装置的框图,如图13所示,第四确定模块206包括:
轮廓点确定子模块2061,用于根据对应关系,在初态轮廓中,确定起始关键点对应的第一轮廓点,和终止关键点对应的第二轮廓点。
数量确定子模块2062,用于确定初态轮廓包括的轮廓点的初态数量。
位置确定子模块2063,用于将第一轮廓点的序号与初态数量的比值作为起始轮廓位置,将第二轮廓点的序号与初态数量的比值作为终止轮廓位置。
图14是根据一示例性实施例示出的另一种图像的处理装置的框图,如图14所示,渲染模块204包括:
第一渲染子模块2041,用于将第一线段中的每个像素点渲染为第一颜色,并将与该像素点距离小于距离阈值的像素点渲染为第一颜色。和/或,
第二渲染子模块2042,用于将第二线段中的每个像素点渲染为第二颜色,并将与该像素点距离小于距离阈值的像素点渲染为第二颜色。
图15是根据一示例性实施例示出的另一种图像的处理装置的框图,如图15所示,渲染模块204包括:
第三渲染子模块2043,用于将第一像素点渲染为第一颜色,并将与第一像素点距离小于第一距离阈值的像素点渲染为第一颜色,第一像素点为第一线段上的任一像素点。
第三渲染子模块2043,还用于将与第一像素点距离大于或等于第一距离阈值,且小于第二距离阈值的像素点,作为第一边缘像素点。
第三渲染子模块2043,还用于根据第一边缘像素点与第一像素点的距离,和第一颜色,确定第一边缘颜色,并将第一边缘像素点渲染为第一边缘颜色。
和/或,
第四渲染子模块2044,用于将第二像素点渲染为第二颜色,并将与第二像素点距离小于第一距离阈值的像素点渲染为第二颜色,第二像素点为第二线段上的任一像素点。
第四渲染子模块2044,还用于将与第二像素点距离大于或等于第一距离阈值,且小于第二距离阈值的像素点,作为第二边缘像素点。
第四渲染子模块2044,还用于根据第二边缘像素点与第二像素点的距离,和第二颜色,确定第二边缘颜色,并将第二边缘像素点渲染为第二边缘颜色。
具体的,第三渲染子模块2043用于执行以下步骤:
步骤1)根据第一边缘像素点与第一像素点的距离,确定第一边缘颜色的透明度,第一边缘颜色的透明度,和第一边缘像素点与第一像素点的距离正相关。
步骤2)将第一颜色的色度作为第一边缘颜色的色度。
步骤3)将第一边缘像素点渲染为第一边缘颜色。
第四渲染子模块2044用于执行以下步骤:
步骤4)根据第二边缘像素点与第二像素点的距离,确定第二边缘颜色的透明度,第二边缘颜色的透明度,和第二边缘像素点与第二像素点的距离正相关。
步骤5)将第二颜色的色度作为第二边缘颜色的色度。
步骤6)将第二边缘像素点渲染为第二边缘颜色。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开首先从当前时刻采集的目标图像中,识别出目标对象的目标轮廓,然后根据当前时刻和第一时刻的时间差,在目标轮廓中确定起始轮廓位置对应的起始轮廓点,终止轮廓位置对应的终止轮廓点,和当前时刻对应的分割轮廓点,再将起始轮廓点至分割轮廓点之间的轮廓点组成的线段作为第一线段,将目标轮廓中除第一线段之外的线段作为第二线段,最后按照第一颜色对第一线段进行渲染,按照第二颜色对第二线段进行渲染。重复执行上述步骤,直至起始轮廓点至终止轮廓点之间的轮廓点组成的线段被渲染为第一颜色。本公开能够在目标对象的轮廓上,起始轮廓位置和终止轮廓位置所指示的定范围内,实现动态描边的效果。
下面参考图16,其示出了适于用来实现本公开实施例的电子设备(例如图1中的终端设备或服务器)300的结构示意图。本公开实施例中的电子设备(即上述图像的处理方法的执行主体),可以是服务器,该服务器例如可以是本地服务器或者云服务器,也可以是终端设备,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。用户可以通过登录服务器以上传目标图像或者初始图像,也可以直接通过终端设备上传目标图像或者初始图像,或者通过终端设备采集目标图像或者初始图像。图16示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图16所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图16示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,终端设备、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;重复执行所述识别当前时刻采集的目标图像中目标对象的目标轮廓,至按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染的步骤,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一确定模块还可以被描述为“获取轮廓点的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种图像的处理方法,包括识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;重复执行所述识别当前时刻采集的目标图像中目标对象的目标轮廓,至所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染的步骤,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,包括:根据所述当前时刻与所述第一时刻的时间差,和所述起始轮廓位置、所述终止轮廓位置,确定所述当前时刻对应的分割轮廓位置;根据所述目标轮廓包括的轮廓点的目标数量,在所述目标轮廓中,确定所述起始轮廓点、所述终止轮廓点,和所述分割轮廓位置对应的所述分割轮廓点。
根据本公开的一个或多个实施例,示例3提供了示例1的方法,在所述识别当前时刻采集的目标图像中目标对象的目标轮廓之前,所述方法还包括:识别所述第一时刻采集的初始图像中,所述目标对象的初态轮廓和关键点序列;按照最近邻算法确定所述关键点序列中包括的关键点,与所述初态轮廓中包括的轮廓点的对应关系;根据所述对应关系,确定所述关键点序列中指定的起始关键点对应的所述起始轮廓位置,和指定的终止关键点对应的所述终止轮廓位置。
根据本公开的一个或多个实施例,示例4提供了示例3的方法,所述根据所述对应关系,确定所述关键点序列中指定的起始关键点对应的所述起始轮廓位置,和指定的终止关键点对应的所述终止轮廓位置,包括:根据所述对应关系,在所述初态轮廓中,确定所述起始关键点对应的第一轮廓点,和所述终止关键点对应的第二轮廓点;确定所述初态轮廓包括的轮廓点的初态数量;将所述第一轮廓点的序号与所述初态数量的比值作为所述起始轮廓位置,将所述第二轮廓点的序号与所述初态数量的比值作为所述终止轮廓位置。
根据本公开的一个或多个实施例,示例5提供了示例1至示例4中任一项的方法,所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,包括:将所述第一线段中的每个像素点渲染为所述第一颜色,并将与该像素点距离小于距离阈值的像素点渲染为所述第一颜色;和/或,将所述第二线段中的每个像素点渲染为所述第二颜色,并将与该像素点距离小于所述距离阈值的像素点渲染为所述第二颜色。
根据本公开的一个或多个实施例,示例6提供了示例1至示例4中任一项的方法,所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,包括:将第一像素点渲染为所述第一颜色,并将与所述第一像素点距离小于第一距离阈值的像素点渲染为所述第一颜色,所述第一像素点为所述第一线段上的任一像素点;将与所述第一像素点距离大于或等于所述第一距离阈值,且小于第二距离阈值的像素点,作为第一边缘像素点;根据所述第一边缘像素点与所述第一像素点的距离,和所述第一颜色,确定第一边缘颜色,并将所述第一边缘像素点渲染为所述第一边缘颜色;和/或,将第二像素点渲染为所述第二颜色,并将与所述第二像素点距离小于所述第一距离阈值的像素点渲染为所述第二颜色,所述第二像素点为所述第二线段上的任一像素点;将与所述第二像素点距离大于或等于所述第一距离阈值,且小于所述第二距离阈值的像素点,作为第二边缘像素点;根据所述第二边缘像素点与所述第二像素点的距离,和所述第二颜色,确定第二边缘颜色,并将所述第二边缘像素点渲染为所述第二边缘颜色。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,所述根据所述第一边缘像素点与所述第一像素点的距离,和所述第一颜色,确定第一边缘颜色,并将所述第一边缘像素点渲染为所述第一边缘颜色,包括:根据所述第一边缘像素点与所述第一像素点的距离,确定所述第一边缘颜色的透明度,所述第一边缘颜色的透明度,和所述第一边缘像素点与所述第一像素点的距离正相关;将所述第一颜色的色度作为所述第一边缘颜色的色度;将所述第一边缘像素点渲染为所述第一边缘颜色;所述根据所述第二边缘像素点与所述第二像素点的距离,和所述第二颜色,确定第二边缘颜色,并将所述第二边缘像素点渲染为所述第二边缘颜色,包括:根据所述第二边缘像素点与所述第二像素点的距离,确定所述第二边缘颜色的透明度,所述第二边缘颜色的透明度,和所述第二边缘像素点与所述第二像素点的距离正相关;将所述第二颜色的色度作为所述第二边缘颜色的色度;将所述第二边缘像素点渲染为所述第二边缘颜色。
根据本公开的一个或多个实施例,示例8提供了一种图像的处理装置,所述装置包括:识别模块,用于识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;第一确定模块,用于根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;第二确定模块,用于将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;渲染模块,用于按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;重复执行所述识别当前时刻采集的目标图像中目标对象的目标轮廓,至所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染的步骤,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例7中所述方法的步骤。
根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例7中所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (10)
1.一种图像的处理方法,其特征在于,所述方法包括:
识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;
根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;
将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;
按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;
重复执行所述识别当前时刻采集的目标图像中目标对象的目标轮廓,至所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染的步骤,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,包括:
根据所述当前时刻与所述第一时刻的时间差,和所述起始轮廓位置、所述终止轮廓位置,确定所述当前时刻对应的分割轮廓位置;
根据所述目标轮廓包括的轮廓点的目标数量,在所述目标轮廓中,确定所述起始轮廓点、所述终止轮廓点,和所述分割轮廓位置对应的所述分割轮廓点。
3.根据权利要求1所述的方法,其特征在于,在所述识别当前时刻采集的目标图像中目标对象的目标轮廓之前,所述方法还包括:
识别所述第一时刻采集的初始图像中,所述目标对象的初态轮廓和关键点序列;
按照最近邻算法确定所述关键点序列中包括的关键点,与所述初态轮廓中包括的轮廓点的对应关系;
根据所述对应关系,确定所述关键点序列中指定的起始关键点对应的所述起始轮廓位置,和指定的终止关键点对应的所述终止轮廓位置。
4.根据权利要求3所述的方法,其特征在于,所述根据所述对应关系,确定所述关键点序列中指定的起始关键点对应的所述起始轮廓位置,和指定的终止关键点对应的所述终止轮廓位置,包括:
根据所述对应关系,在所述初态轮廓中,确定所述起始关键点对应的第一轮廓点,和所述终止关键点对应的第二轮廓点;
确定所述初态轮廓包括的轮廓点的初态数量;
将所述第一轮廓点的序号与所述初态数量的比值作为所述起始轮廓位置,将所述第二轮廓点的序号与所述初态数量的比值作为所述终止轮廓位置。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,包括:
将所述第一线段中的每个像素点渲染为所述第一颜色,并将与该像素点距离小于距离阈值的像素点渲染为所述第一颜色;和/或,
将所述第二线段中的每个像素点渲染为所述第二颜色,并将与该像素点距离小于所述距离阈值的像素点渲染为所述第二颜色。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,包括:
将第一像素点渲染为所述第一颜色,并将与所述第一像素点距离小于第一距离阈值的像素点渲染为所述第一颜色,所述第一像素点为所述第一线段上的任一像素点;
将与所述第一像素点距离大于或等于所述第一距离阈值,且小于第二距离阈值的像素点,作为第一边缘像素点;
根据所述第一边缘像素点与所述第一像素点的距离,和所述第一颜色,确定第一边缘颜色,并将所述第一边缘像素点渲染为所述第一边缘颜色;
和/或,
将第二像素点渲染为所述第二颜色,并将与所述第二像素点距离小于所述第一距离阈值的像素点渲染为所述第二颜色,所述第二像素点为所述第二线段上的任一像素点;
将与所述第二像素点距离大于或等于所述第一距离阈值,且小于所述第二距离阈值的像素点,作为第二边缘像素点;
根据所述第二边缘像素点与所述第二像素点的距离,和所述第二颜色,确定第二边缘颜色,并将所述第二边缘像素点渲染为所述第二边缘颜色。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一边缘像素点与所述第一像素点的距离,和所述第一颜色,确定第一边缘颜色,并将所述第一边缘像素点渲染为所述第一边缘颜色,包括:
根据所述第一边缘像素点与所述第一像素点的距离,确定所述第一边缘颜色的透明度,所述第一边缘颜色的透明度,和所述第一边缘像素点与所述第一像素点的距离正相关;
将所述第一颜色的色度作为所述第一边缘颜色的色度;
将所述第一边缘像素点渲染为所述第一边缘颜色;
所述根据所述第二边缘像素点与所述第二像素点的距离,和所述第二颜色,确定第二边缘颜色,并将所述第二边缘像素点渲染为所述第二边缘颜色,包括:
根据所述第二边缘像素点与所述第二像素点的距离,确定所述第二边缘颜色的透明度,所述第二边缘颜色的透明度,和所述第二边缘像素点与所述第二像素点的距离正相关;
将所述第二颜色的色度作为所述第二边缘颜色的色度;
将所述第二边缘像素点渲染为所述第二边缘颜色。
8.一种图像的处理装置,其特征在于,所述装置包括:
识别模块,用于识别当前时刻采集的目标图像中目标对象的目标轮廓,所述目标轮廓中包括多个轮廓点;
第一确定模块,用于根据所述当前时刻与第一时刻的时间差,和在所述第一时刻确定的起始轮廓位置、终止轮廓位置,在所述目标轮廓中,确定所述起始轮廓位置对应的起始轮廓点,所述终止轮廓位置对应的终止轮廓点,和所述当前时刻对应的分割轮廓点,所述第一时刻为所述当前时刻之前的时刻;
第二确定模块,用于将所述目标轮廓中所述起始轮廓点至所述分割轮廓点之间的轮廓点组成的线段作为第一线段,将所述目标轮廓中除所述第一线段之外的线段作为第二线段;
渲染模块,用于按照第一颜色对所述第一线段进行渲染,按照第二颜色对所述第二线段进行渲染,所述第一颜色与所述第二颜色不相同;
重复执行所述识别模块、所述第一确定模块、所述第二确定模块以及所述渲染模块的功能,直至所述目标轮廓中,所述起始轮廓点至所述终止轮廓点之间的轮廓点组成的线段被渲染为所述第一颜色。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010010816.8A CN111210485B (zh) | 2020-01-06 | 2020-01-06 | 图像的处理方法、装置、可读介质和电子设备 |
PCT/CN2020/126255 WO2021139372A1 (zh) | 2020-01-06 | 2020-11-03 | 图像的处理方法、装置、可读介质和电子设备 |
US17/782,985 US12062116B2 (en) | 2020-01-06 | 2020-11-03 | Image processing method and apparatus, readable medium and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010010816.8A CN111210485B (zh) | 2020-01-06 | 2020-01-06 | 图像的处理方法、装置、可读介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111210485A CN111210485A (zh) | 2020-05-29 |
CN111210485B true CN111210485B (zh) | 2023-03-28 |
Family
ID=70789689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010010816.8A Active CN111210485B (zh) | 2020-01-06 | 2020-01-06 | 图像的处理方法、装置、可读介质和电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12062116B2 (zh) |
CN (1) | CN111210485B (zh) |
WO (1) | WO2021139372A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210485B (zh) * | 2020-01-06 | 2023-03-28 | 北京字节跳动网络技术有限公司 | 图像的处理方法、装置、可读介质和电子设备 |
CN112669433B (zh) * | 2020-12-22 | 2024-09-27 | 北京像素软件科技股份有限公司 | 轮廓渲染方法、装置、电子设备和计算机可读存储介质 |
CN115131471B (zh) * | 2022-08-05 | 2024-08-02 | 北京字跳网络技术有限公司 | 基于图像的动画生成方法、装置、设备及存储介质 |
CN119520973A (zh) * | 2023-08-25 | 2025-02-25 | 北京字跳网络技术有限公司 | 视频处理方法、装置、介质和电子设备 |
CN117435110B (zh) * | 2023-10-11 | 2024-06-18 | 书行科技(北京)有限公司 | 一种图片处理方法、装置、电子设备和存储介质 |
CN117115194B (zh) * | 2023-10-20 | 2024-01-30 | 华芯程(杭州)科技有限公司 | 基于电子显微镜图像的轮廓提取方法、装置、设备及介质 |
CN117197171B (zh) * | 2023-11-06 | 2024-01-30 | 苏州培风图南半导体有限公司 | 一种图形轮廓检测方法、装置及存储介质 |
CN117274366B (zh) * | 2023-11-22 | 2024-02-20 | 合肥晶合集成电路股份有限公司 | 线条边距确定方法和装置 |
CN119180803B (zh) * | 2024-09-13 | 2025-03-21 | 山东吉尔德新型材料科技有限公司 | 一种石英石板材表面缺陷视觉检测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654531A (zh) * | 2015-12-30 | 2016-06-08 | 北京金山安全软件有限公司 | 一种图像轮廓的绘制方法及装置 |
CN108805957A (zh) * | 2018-06-07 | 2018-11-13 | 青岛九维华盾科技研究院有限公司 | 一种基于位图图像自适应分割的矢量图生成方法及系统 |
CN110058685A (zh) * | 2019-03-20 | 2019-07-26 | 北京字节跳动网络技术有限公司 | 虚拟对象的显示方法、装置、电子设备和计算机可读存储介质 |
CN110610453A (zh) * | 2019-09-02 | 2019-12-24 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7656408B1 (en) * | 2006-02-10 | 2010-02-02 | Adobe Systems, Incorporated | Method and system for animating a border |
US8130226B2 (en) * | 2006-08-04 | 2012-03-06 | Apple Inc. | Framework for graphics animation and compositing operations |
CN104268918B (zh) | 2014-10-09 | 2015-06-10 | 佛山精鹰传媒股份有限公司 | 一种二维动画与三维立体动画融合的处理方法 |
US10395401B2 (en) * | 2015-08-07 | 2019-08-27 | Zhejiang University | Method for efficient parallel visualizing vector graphic |
KR102718581B1 (ko) * | 2017-01-26 | 2024-10-17 | 삼성전자주식회사 | 스테레오 매칭 방법 및 장치 |
CN107123077B (zh) | 2017-03-30 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置 |
CN110288670B (zh) | 2019-06-19 | 2023-06-23 | 杭州绝地科技股份有限公司 | 一种ui描边特效的高性能渲染方法 |
CN111210485B (zh) | 2020-01-06 | 2023-03-28 | 北京字节跳动网络技术有限公司 | 图像的处理方法、装置、可读介质和电子设备 |
-
2020
- 2020-01-06 CN CN202010010816.8A patent/CN111210485B/zh active Active
- 2020-11-03 WO PCT/CN2020/126255 patent/WO2021139372A1/zh active Application Filing
- 2020-11-03 US US17/782,985 patent/US12062116B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654531A (zh) * | 2015-12-30 | 2016-06-08 | 北京金山安全软件有限公司 | 一种图像轮廓的绘制方法及装置 |
CN108805957A (zh) * | 2018-06-07 | 2018-11-13 | 青岛九维华盾科技研究院有限公司 | 一种基于位图图像自适应分割的矢量图生成方法及系统 |
CN110058685A (zh) * | 2019-03-20 | 2019-07-26 | 北京字节跳动网络技术有限公司 | 虚拟对象的显示方法、装置、电子设备和计算机可读存储介质 |
CN110610453A (zh) * | 2019-09-02 | 2019-12-24 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230005194A1 (en) | 2023-01-05 |
WO2021139372A1 (zh) | 2021-07-15 |
US12062116B2 (en) | 2024-08-13 |
CN111210485A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111210485B (zh) | 图像的处理方法、装置、可读介质和电子设备 | |
CN112184738B (zh) | 一种图像分割方法、装置、设备及存储介质 | |
CN111242881A (zh) | 显示特效的方法、装置、存储介质及电子设备 | |
CN110298413B (zh) | 图像特征提取方法、装置、存储介质及电子设备 | |
CN111669502B (zh) | 目标对象显示方法、装置及电子设备 | |
CN110298851B (zh) | 人体分割神经网络的训练方法及设备 | |
CN111598902B (zh) | 图像分割方法、装置、电子设备及计算机可读介质 | |
CN111862352B (zh) | 定位模型优化方法、定位方法和定位设备 | |
CN112330788B (zh) | 图像处理方法、装置、可读介质及电子设备 | |
CN111368668B (zh) | 三维手部识别方法、装置、电子设备及存储介质 | |
CN112907628A (zh) | 视频目标追踪方法、装置、存储介质及电子设备 | |
CN114842120A (zh) | 一种图像渲染处理方法、装置、设备及介质 | |
CN114422698A (zh) | 视频生成方法、装置、设备及存储介质 | |
CN112258622B (zh) | 图像处理方法、装置、可读介质及电子设备 | |
CN112418232B (zh) | 图像分割方法、装置、可读介质及电子设备 | |
CN112270242B (zh) | 轨迹的显示方法、装置、可读介质和电子设备 | |
CN112101258A (zh) | 图像处理方法、装置、电子设备和计算机可读介质 | |
CN111432141A (zh) | 一种混剪视频确定方法、装置、设备及存储介质 | |
CN114693876A (zh) | 数字人生成方法、装置、存储介质和电子设备 | |
WO2025067334A1 (zh) | 特效添加方法、装置、电子设备以及存储介质 | |
CN113963000B (zh) | 图像分割方法、装置、电子设备及程序产品 | |
CN113628097A (zh) | 图像特效配置方法、图像识别方法、装置及电子设备 | |
CN112906551B (zh) | 视频处理方法、装置、存储介质及电子设备 | |
CN111340813B (zh) | 图像实例分割方法、装置、电子设备及存储介质 | |
CN113129360B (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 |