元素展示方法、装置、电子设备及存储介质与流程

文档序号:29438693发布日期:2022-03-30 09:44阅读:125来源:国知局
元素展示方法、装置、电子设备及存储介质与流程

1.本公开实施例涉及图像处理技术领域,尤其涉及一种元素展示方法、装置、电子设备及存储介质。


背景技术:

2.在快节奏的生活环境中,各种信息的快速准确传播已经成了普遍诉求。短视频作为一种简短生动的信息传播方式,备受大众青睐。尤其是通过各种特效道具为用户增加趣味性的短视频。
3.常见的增加特效的短视频中,特效道具的展示方式往往是固定的,缺少与用户之间的互动性,使得短视频的整体展示效果较为单一,从而影响用户体验。


技术实现要素:

4.本公开实施例提供了一种元素展示方法、装置、电子设备及存储介质,以提升图像展示效果。
5.第一方面,本公开实施例提供了一种元素展示方法,该方法包括:将天气展示元素按照第一运动轨迹展示于目标展示区域内;当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内;将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
6.第二方面,本公开实施例还提供了一种元素展示装置,该装置包括:
7.第一展示模块,用于将天气展示元素按照第一运动轨迹展示于目标展示区域内;
8.第二展示模块,用于当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内;
9.第三展示模块,用于将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
10.第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
11.一个或多个处理器;
12.存储装置,用于存储一个或多个程序,
13.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开任意实施例所提供的元素展示方法。
14.第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例所提供的元素展示方法。
15.本公开实施例的技术方案,通过将天气展示元素按照第一运动轨迹展示于目标展示区域内,实现对天气展示元素的动态展示,增加了天气展示元素的灵动性,当检测到天气展示元素与目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内,能够实现场景目标元素与天气展示元素之间的互动,
解决了由于特效道具的展示方式固定,缺少与用户之间的互动性,使得短视频的整体展示效果较为单一的技术问题,增加了图像展示的趣味性,而且,在碰撞后将天气展示元素按照第二运动轨迹展示,能够使得碰撞效果更为逼真,丰富了图像展示效果,提升了用户体验感。
附图说明
16.为了更加清楚地说明本公开示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
17.图1为本公开实施例一所提供的一种元素展示方法的流程示意图;
18.图2为本公开实施例二所提供的一种元素展示方法的流程示意图;
19.图3为本公开实施例三所提供的一种元素展示方法的流程示意图;
20.图4为本公开实施例四所提供的一种元素展示方法的流程示意图;
21.图5为本公开实施例五所提供的一种元素展示方法的可选实例的流程示意图;
22.图6为基于本公开实施例所提供的元素展示方法呈现的人体撞雪的效果示意图;
23.图7是为本公开实施例一所提供的一种元素展示装置的结构示意图;
24.图8是为本公开实施例一所提供的一种电子设备的结构示意图。
具体实施方式
25.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
26.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
27.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
28.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
29.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
30.为了便于理解,在介绍本公开实施例前,先对本公开实施例的元素展示方法的应用场景进行介绍。多元素可以理解为待展示于图像中的两个或两个以上的元素。为了突显
出碰撞这一交互场景的效果,可以对多张连续播放的图像进行处理,这些图像可以包括元素碰撞前、元素碰撞时及元素碰撞后各元素的展示信息。示例性地,可以抽取短视频的每一帧图像,通过本公开实施例的元素展示方法分别对每帧图像进行处理。
31.需要说明的是,天气展示元素和/或场景目标元素可以出现在短视频中的每一帧,也可以是出现在短视频的多张图像中的部分图像中,本实施例的方法适用于两个或多个展示元素可发生碰撞的场景,但并不限定天气展示元素和场景目标元素发生碰撞的必然性。即,两个展示元素可以发生碰撞也可以不发生碰撞,是否发生碰撞根据两个展示元素的展示信息确定。
32.本公开实施例的元素展示方法尤其适用于各种特效场景,天气展示元素可以是预先设定的特效道具,如可以是雪元素、水元素以及冰元素中的至少一种。场景目标元素可以是应用该特效道具的对象,如可以是人物、动物、建筑物及树木等。
33.需要说明的是,在本公开实施例中,可以采用本公开实施例的元素展示方法分别针对目标展示区域内所展示的每个天气展示元素进行处理,以得到各个天气展示元素与场景目标元素的展示效果。本公开实施例的元素展示方法从对一个天气展示元素进行处理的角度进行介绍。
34.实施例一
35.图1为本公开实施例一所提供的一种元素展示方法的流程示意图,本实施例可适用于在一帧图像中展对多个展示元素进行展示的情况,尤其适用于实现多个元素之间进行交互的情况,该方法可以元素展示装置来执行,该装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本公开实施例中的元素展示方法。
36.其中,执行本公开实施例提供的元素展示方法的装置,可以集成在支持图像处理功能的应用软件中,且该软件可以安装至电子设备中,可选的,电子设备可以是移动终端或者pc端等。应用软件可以是对图像/视频处理的一类软件,其具体的应用软件在此不再一一赘述,只要可以实现图像/视频处理即可。还可以是专门研发的应用程序,来实现添加特效并特效展示的软件中,亦或是集成在相应的页面中,用户可以通过pc端中集成的页面来实现特效添加处理。
37.如图1所示,本实施例的方法具体可包括:
38.s110、将天气展示元素按照第一运动轨迹展示于目标展示区域内。
39.其中,天气展示元素可以为预先设定的展示元素,可以是图像中场景元素。示例性地,天气展示元素可以包括雪元素、风元素、水元素以及冰元素中的至少一种。这样设置的好处在于,可以通过增加气象元素来展示期望的场景天气,呈现特有的天气特效。示例性地,可基于物质点算法(material point method, mpm)构建天气展示元素,以达到模拟自然天气的效果。
40.其中,第一运动轨迹可以是预先设定的与天气展示元素对应的运动轨迹,也可以根据预设算法模拟天气展示元素的在现实环境中的运动状态所生成的运动轨迹。其中,预设算法可以根据天气展示元素确定,在此并不做具体限定。,可选的,天气展示元素的运动状态可以是自由落体运动。
41.在本公开实施例中,在将天气展示元素按照第一运动轨迹展示于目标展示区域内之前,可以根据预先设置的与天气展示元素对应的运动关联参数确定天气展示元素的目标
展示方式,以使天气展示元素按照目标展示方式展示于目标展示区域内。其中,目标展示方式包括第一运动轨迹。可选地,目标展示方式还可以初始速度信息和/或初始展示位置。其中,初始速度信息可以为不考虑重力因素的预设速度信息,可以为自由落体速度信息,也可以为预设速度信息叠加重力信息之后的速度信息,还可以为预设速度信息叠加环境干扰信息得到的速度信息等。初始展示位置可以理解为预先设置的天气展示元素开始展示的起点位置。可以理解的是,每个天气展示元素的目标展示方式相同也可以不同,其具体展示方式可以根据实际需求进行设置。例如,可以根据预设的天气类型确定天气展示元素的目标展示方式。其中,天气类型可以为暴雪、大雪、中雪、小雪、暴雨、暴雨、大雨、中雨、小雪、重雹、中雹或轻雹等,还可以是几级风,如7级大风或者台风等。
42.在本发明实施例中,目标展示区域内所展示的图像中天气展示元素的数量可以是一个、两个或多个。当需要在目标展示区域内展示多个天气展示元素时,可选地,将多个天气展示元素以预设展示形态按照第一运动轨迹展示于目标展示区域内。其中,预设展示形态可以是团状、流状或者块状等,当然也可以是随机展示于目标展示区域内。在本公开实施例中,可通过视频的形式,将多个天气展示元素以预设展示形态按照第一运动轨迹展示于目标展示区域内。
43.可选地,当接收到针对目标特效场景的特效触发操作时,将多个天气展示元素以预设展示形态按照第一运动轨迹展示于目标展示区域内。即,在触发目标特效场景后,响应于特效触发操作,可以将天气展示元素在目标展示区域内以预设展示形态展示并且按照第一运动轨迹进行动态展示,以呈现真实环境中的气象元素的展示效果。
44.其中,针对目标特效场景的特效触发操作可以有多种。示例性地,针对目标特效场景的特效触发操作,可以是,触发预先设置的与所述目标特效场景对应的特效触发控件;或者是,输入包含有预先设置用于启动目标特效场景的关键信息的语音信息;或者是,检测到用户打开拍摄装置的操作;或者是,识别到所述目标展示区域内展示有场景目标元素;又或是,采集到预设类型的特效触发信息等。
45.其中,特效触发控件可以是实体按键或虚拟按键,其中,虚拟按键可以是显示于应用软件的显示界面上的按键。特效触发控件可设置于用于目标特效场景的目标终端和/或用于控制所述目标终端的控制设备上。特效触发控件的展示形式可以是预先设置的图片和/或文字。特效触发控件的触发操作可以是点击操作(单击或双击等)、按压操作(长按或短按等)、滑动操作或者悬停操作等。
46.示例性地,特效触发信息可以是,人物、动物、建筑物及树木等预设主体信息,还可以是手势、眨眼、跳跃、转圈或转身等动作信息。
47.s120、当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内。
48.其中,场景目标元素可以理解为展示与目标展示区域内的待检测是否与天气展示元素发生碰撞的元素。场景目标元素可以是展示于目标展示区域内区别于天气展示元素的元素。场景目标元素可以根据预先设置的与场景目标元素对应的主体检测条件对所述目标展示区域内所展示的图像进行检测确定。其中,主体检测规则可以根据实际需求进行设定,例如,主体检测条件可以包括下述信息中的至少一种:场景目标元素所属的类型是否为预设类型;场景目标元素所占的画面比例是否达到预设比例,场景目标元素是否为预设主体
元素。
49.其中,预设类型可以包括有生命梯和无生命体,还可以按照人物、动物、植物或建筑物等划分出的类型。预设主体元素可以是人的目标部位,如,头部、面部、肩膀及四肢等,预设主体元素还可以进一步为目标部位的局部区域,如,头顶、脸颊、鼻子和/或嘴巴等。
50.在本公开实施例中,第二运动轨迹为天气展示元素与场景目标元素发生碰撞之后天气展示元素的运动轨迹。第二运动轨迹可以与第一运动轨迹相同也可以与第一运动轨迹不同。示例性地,当天气展示元素与场景目标元素发生碰撞之后可能只是减缓了天气展示元素的运动速度,而不改变其运动轨迹。也可以是,改变了天气展示元素的运动速度和运动方向,从而改变了天气展示元素的运动轨迹。其中,第二运动轨迹可以所述天气展示元素与所述场景目标元素的碰撞信息确定。具体地,第二运动轨迹可以与位于场景目标元素上与所述天气展示元素发生碰撞的目标碰撞点的信息相关联。其中,目标碰撞点的信息可以包括目标碰撞点的速度信息及摩擦力信息等。
51.可以理解的是,检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞的前提是,在所述目标展示区域内展示场景目标元素。其中,场景目标元素可以是展示于目标展示区域内且区别于天气展示元素的元素。示例性地,场景目标元素可以人物、动物、建筑物及树木等主体信息。
52.可选地,基于拍摄装置对场景目标元素进行拍摄,以将所述场景目标元素展示于所述目标展示区域内。其中,拍摄装置可以是用于展示场景目标元素的目标终端上携带的摄像装置,也可以是其他拍摄装置。基于拍摄装置对场景目标元素进行拍摄的方式可以是,通过拍摄装置对场景目标元素进行实时拍摄,也可以是,通过拍摄装置预先对场景目标元素进行拍摄。换言之,场景目标元素可以通过实时拍摄的方式展示于目标展示区域内,也可以是,通过展示预先拍摄好的场景目标元素的图像信息或者视频信息将所述场景目标元素展示于所述目标展示区域内。
53.s130、将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
54.考虑到可能存在天气展示元素未与场景目标元素发生碰撞的情况,可以将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。这样设置的好处在于,能够模拟天气展示元素未与场景目标元素发生碰撞的真实场景,保证特效的自然性,提升用户体验。
55.本实施例的技术方案,通过将天气展示元素按照第一运动轨迹展示于目标展示区域内,实现对天气展示元素的动态展示,增加了天气展示元素的灵动性,当检测到天气展示元素与目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内,能够实现场景目标元素与天气展示元素之间的互动,解决了由于特效道具的展示方式固定,缺少与用户之间的互动性,使得短视频的整体展示效果较为单一的技术问题,增加了图像展示的趣味性,而且,在碰撞后将天气展示元素按照第二运动轨迹展示,能够使得碰撞效果更为逼真,丰富了图像展示效果,提升了用户体验感。
56.实施例二
57.图2为本公开实施例二所提供的元素展示方法的流程示意图,本实施例在本公开实施例中任一可选技术方案的基础上,可选地,本公开实施例的元素展示方法还包括:确定
所述天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离;根据所述最小相对距离确定所述场景目标元素与所述天气展示元素是否发生碰撞。其具体的显示方式可以参见本技术方案的详细阐述。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
58.如图2所示,本实施例的方法具体可包括:
59.s210、将天气展示元素按照第一运动轨迹展示于目标展示区域内。
60.s220、确定所述天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离。
61.其中,最小相对距离可以立即为天气展示元素与场景目标元素之间的最近距离。由于场景目标元素在目标展示区域中进行展示,具体地,可以获取场景目标元素在目标展示区域中进行展示时的待检测图像,根据所述待检测图像确定所述场景目标元素的轮廓信息,即,场景目标元素的边界,进而,计算场景元素边界处的各个像素点与所述天气展示元素之间的距离,将数值最小的距离确定天气展示元素与场景目标元素的边界处的最小相对距离。
62.考虑到图像中可能存在多个天气展示元素的情况,可以预先确定出图像中除场景目标元素之外的每个像素点与场景目标元素边界处的各个像素点之间的距离,以备查询。具体地,根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像;进而,根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离。这样设置的好处于,无论天气展示元素出现于目标展示区域的哪个位置,通过查询有向距离场图像的像素值都可以尽快确定出天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离。
63.其中,有向距离场图像可以理解为二维的有向距离场,用于表示区域中的各个点到障碍物边界处的最近距离。在本公开实施例中,可以将场景目标元素作为障碍物,反之,可以将除场景目标元素之外的区域作为障碍物。这样就可以计算出目标展示区域内整张图像中各个像素点对应的最近距离值。
64.在本公开实施例中,可以对有向距离场图像中的各个最近距离进行归一化。
65.s230、根据所述最小相对距离确定所述场景目标元素与所述天气展示元素是否发生碰撞。
66.示例性地,可以将所述最小相对距离与预设的碰撞距离阈值进行比较,如果所述最小相对距离小于或等于所述碰撞距离阈值,则确定为所述场景目标元素与所述天气展示元素发生碰撞;如果所述最小相对距离大于所述碰撞距离阈值,则确定为所述场景目标元素与所述天气展示元素未发生碰撞。
67.其中,预设的碰撞距离阈值可以参考归一化后的有向距离场图像设定,也可以根据经验值设定,例如可以设定为0.5。
68.s240、当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内。
69.本实施例的技术方案,通过确定天气展示元素与目标展示区域内的场景目标元素的边界处的最小相对距离,针对场景目标元素的边界处的各个像素点进行检测而并非对场景目标元素的所有像素点进行检测进而根据所述最小相对距离确定所述场景目标元素与
所述天气展示元素是否发生碰撞,既切合天气展示元素与场景目标元素碰撞的真实场景,又能够避免不必要的计算,提升计算效率,在增加元素交互展示场景的基础上,进一步提升了图像展示效果。
70.实施例三
71.图3为本公开实施例三所提供的元素展示方法的流程示意图,本实施例在本公开实施例中任一可选技术方案的基础上,可选地,所述确定所述天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离,包括:获取所述目标展示区域内所展示的待检测图像,其中,所述待检测图像中包括场景目标元素;根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像;根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离。其具体的显示方式可以参见本技术方案的详细阐述。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
72.如图3所示,本实施例的方法具体可以包括:
73.s310、将天气展示元素按照第一运动轨迹展示于目标展示区域内。
74.s320、获取所述目标展示区域内所展示的待检测图像,其中,所述待检测图像中包括场景目标元素。
75.其中,待检测图像可以是待确定天气展示元素与场景目标元素是否发生碰撞的图像。考虑到目标展示区域内可能会展示多帧图像,可选地,当待检测图像中未包含第二展示图像时可以不进行碰撞判断。因此,可以获取目标展示区域内所展示的包括场景目标元素的图像作为待检测图像。
76.具体地,当检测到所述目标区域内展示有场景目标元素时,获取所述目标展示区域内所展示的图像,将获取到的图像作为待检测图像。
77.s330、根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像。
78.其中,有向距离场(signed distance field,sdf)为用于区域内各个点到z 障碍物边界处的最近距离。二维的sdf通常用一张图像来表示,即有向距离场图像。在本公开实施例中,可以将场景目标元素作为障碍物,计算待检测图像区域内除第二元素所在的区域之外的其他区域中的各个像素点到场景目标元素的边界处的最近距离。即,本公开实施例中的有向距离场图像待检测图像的图像区域内各个像素点到场景目标元素的边界处的最近距离。
79.具体地,可根据所述场景目标元素确定所述待检测图像的目标掩膜图像;进而,根据所述目标掩膜图像确定与所述待检测图像对应的有向距离场图像。
80.可选地,根据所述场景目标元素确定所述待检测图像的目标掩膜图像,可包括:针对所述待检测图像的所述场景目标元素进行抠图处理,得到与所述场景目标元素对应的初始掩膜图像;根据预设像素值阈值对所述初始掩膜图像进行二值化处理,得到所述待检测图像的目标掩膜图像。
81.具体可以是,先使用matting(抠图)算法得到待检测图像的前景图,将包含场景目标元素的区域抠出来,得到一张初始掩膜图像,即得到mask图,其中, mask图中每个像素点的像素值在0-255之间。然后,可以将像素值大于等于预设像素值阈值的像素点的像素值设置为255,将像素值小于预设像素值阈值的像素点的像素值设置为0,得到一张二值图(每个像素点的像素值为0或255),即为待检测图像的目标掩膜图像。进而,根据所述目标掩膜图
像中的黑色区域和白色区域分别确定每个像素点对应的最近距离,得到与所述待检测图像对应的有向距离场图像。
82.s340、根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离。
83.由前述内容可知,有向距离场图像中各个像素点的值为该像素点到场景目标元素的边界处的最近距离,因此,天气展示元素与所述场景目标元素的边界处的最小相对距离即为天气展示元素所对应的有向距离场图像中的像素点的值。具体地,确定所述天气展示元素在所述待检测图像中的第一位置信息;确定所述有向距离场图像中与所述第一位置信息对应的目标像素点,将所述目标像素点对应的像素距离值作为所述天气展示元素与所述场景目标元素的边界处的最小相对距离。其中,像素距离值即为目标像素点在有向距离场图像中的像素值。
84.s350、根据所述最小相对距离确定所述场景目标元素与所述天气展示元素是否发生碰撞。
85.s360、当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内。
86.本实施例的技术方案,通过获取所述目标展示区域内所展示的待检测图像,针对每一帧待检测图像,根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像,预先计算出各个像素点相对于场景目标元素边界处各个像素点的最近距离,进而再根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离时,能够快速地确定出天气展示元素与所述场景目标元素的边界处的最小相对距离,尤其适用于对多个场景目标元素进行并行处理的情况,能够提升运算效率,快速呈现出处理后的图像效果。
87.实施例四
88.图4为本公开实施例四所提供的元素展示方法的流程示意图,本实施例在本公开实施例中任一可选技术方案的基础上,可选地,在所述检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞之后,所述将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内之前,还包括:确定所述场景目标元素中与所述天气展示元素发生碰撞的目标碰撞点,计算所述目标碰撞点的第一速度信息;根据所述第一速度信息确定所述天气展示元素的第二速度信息,根据所述第二速度信息确定所述天气展示元素的第二运动轨迹。其具体的显示方式可以参见本技术方案的详细阐述。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
89.如图4所示,本实施例的方法具体可以包括:
90.s410、将天气展示元素按照第一运动轨迹展示于目标展示区域内。
91.s420、获取所述目标展示区域内所展示的待检测图像,其中,所述待检测图像中包括场景目标元素。
92.s430、根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像。
93.s440、根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离。
94.s450、根据所述最小相对距离确定所述场景目标元素与所述天气展示元素是否发
生碰撞。
95.s460、当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,确定所述场景目标元素中与所述天气展示元素发生碰撞的目标碰撞点,计算所述目标碰撞点的第一速度信息。
96.其中,目标碰撞点为所述场景目标元素的边界处与所述天气展示元素相距最小相对距离的边界点。由前述内容可知,有向距离场图像中给每个像素点的值表示该像素点到场景目标元素边界处的最近距离,即前述内容中的像素距离值,那么该像素距离值对应的场景目标元素边界处的像素点就是目标碰撞点。
97.可选地,计算所述目标碰撞点的第一速度信息,包括:确定所述目标碰撞点在所述待检测图像中的当前位置信息,以及在与所述待检测图像在所述目标展示区域内的展示时间相邻的前一帧图像的前一位置信息;根据所述当前位置信息、所述前一位置信息以及预设仿真时间步长,确定所述目标碰撞点的第一速度信息,其中,所述预设仿真时间步长为预先设定的所述待检测图像与所述前一帧图像之间的时间变化量。
98.在本公开实施例中,可以根据天气展示元素的第一位置信息确定所述目标碰撞点在所述待检测图像中的当前位置信息。具体地,可以确定所述天气展示元素的第一位置信息,并根据所述第一位置信息计算所述场景目标元素的边界在所述目标碰撞点处的单位法向量;根据所述第一位置信息、所述最小相对距离、所述单位法向量以及预设的碰撞距离阈值确定所述目标碰撞点在待检测图像中的当前位置信息。
99.可选地,所述根据所述第一位置信息计算所述场景目标元素的边界在所述目标碰撞点处的单位法向量,包括:确定在第一预设方向上与所述天气展示元素所对应的像素点紧邻的两个第一参考像素点,以及在第二预设方向上与所述天气展示元素所对应的像素点紧邻的两个第二参考像素点,其中,所述第一预设方向为所述第二预设方向的垂直方向;计算所述有向距离场图像中两个第一参考像素点对应的像素距离值的第一差值,以及所述有向距离场图像中两个第二参考像素点对应的像素距离值的第二差值;根据所述第一差值和所述第二差值确定所述场景目标元素的边界在所述目标碰撞点处的单位法向量。
100.以n(x,y)表示场景目标元素的边界在所述目标碰撞点处的的单位法向量, (x+dx,y)和(x-dx,y)分别为在第一预设方向x方向上与天气展示元素(x,y)所对应的像素点紧邻的两个第一参考像素点,(x,y+dy)和(x,y-dy)分别为在第二预设方向y方向上与天气展示元素(x,y)所对应的像素点紧邻的两个第二参考像素点,sdf(x+dx,y)为第一参考像素点(x+dx,y)在有向距离场图像中对应的像素距离值, sdf(x-dx,y)为第一参考像素点(x-dx,y)在有向距离场图像中对应的像素距离值, sdf(x,y+dy)为第二参考像素点(x,y+dy)在有向距离场图像中对应的像素距离值, sdf(x,y-dy)为第二参考像素点(x,y-dy)在有向距离场图像中对应的像素距离值。示例性地,单位法向量n(x,y)具体可通过如下公式计算:
101.法向量n(x,y)=vec2(sdf(x+dx,y)-sdf(x-dx,y),sdf(x,y+dy)-sdf(x,y-dy)),
102.单位法向量n(x,y)=n(x,y)/length(n(x,y)),
103.其中,dx表示相邻的两个像素点之间在x方向上的位置偏移量,dy表示相邻两个像素点之间在y方向上的位置偏移量。在本公开实施例中,dx可以为sdf 图的宽的倒数,dy可以为sdf图的高的倒数。比如,sdf图大小为360(宽)*640(高),则dx=1/360,dy=1/640。
104.具体地,根据所述第一位置信息、所述最小相对距离、所述单位法向量以及预设的
碰撞距离阈值确定所述目标碰撞点在待检测图像中的当前位置信息,可以是,计算预设的碰撞距离阈值与所述最小相对距离sdf(x,y)的得到距离差值,将所述距离差值乘以单位法向量n(x,y)得到的乘积与第一位置信息(x,y)相加得到所述目标碰撞点在待检测图像中的当前位置信息。
105.举例而言,假设预设的碰撞距离阈值为0.5,则目标碰撞点在待检测图像中的当前位置信息的计算方式为(x,y)+(0.5-sdf(x,y))*n(x,y)。
106.类似地,可以计算出目标碰撞点在与所述待检测图像在所述目标展示区域内的展示时间相邻的前一帧图像的前一位置信息,进而,根据所述当前位置信息、所述前一位置信息以及预设仿真时间步长,确定所述目标碰撞点的第一速度信息,其中,所述预设仿真时间步长为预先设定的所述待检测图像与所述前一帧图像之间的时间变化量。
107.具体地,当前帧图像中距离粒子p最近的场景目标元素边界位置,即,目标碰撞点的当前位置信息为(x,y)+(0.5-sdf_current(x,y))*n_current(x,y),前一帧图像中距离粒子p最近的场景目标元素边界位置,即,目标碰撞点的前一位置信息为(x,y)+(0.5-sdf_last(x,y))*n_last(x,y),其中,sdf_current(x,y)表示当前帧图像(x,y)处在sdf图像中对应的最近距离,n_current(x,y)表示当前帧图像中场景目标元素的边界在目标碰撞点处的单位法向量,其中,sdf_last(x,y)表示前一帧图像(x,y)处在sdf图像中对应的最近距离,n_last(x,y)表示前一帧图像中场景目标元素的边界在目标碰撞点处的单位法向量。
108.所以该目标碰撞点的第一速度信息v_collider为该目标碰撞点在当前帧图像中位置信息减去前一帧图像中的位置信息除以预设仿真时间步长dt得到,即, v_collider={(0.5-sdf_current(x,y))*n_current(x,y)-(0.5-sdf_last(x,y))*n_last(x,y)}/dt。
109.s470、根据所述第一速度信息确定所述天气展示元素的第二速度信息,根据所述第二速度信息确定所述天气展示元素的第二运动轨迹。
110.在本公开实施例中,在碰撞后,目标碰撞点的第一速度信息会对天气展示元素的运动产生影响。因此,可以根据所述第一速度信息以及所述天气展示元素在碰撞时的初始速度信息确定所述天气展示元素的第二速度信息。
111.可选地,根据所述第一速度信息以及所述天气展示元素在碰撞时的初始速度信息确定所述天气展示元素相对于所述目标碰撞点的初始相对速度信息;然后,计算所述初始相对速度信息在所述单位法向量方向上的法向投影速度分量,根据所述法向投影速度分量确定所述天气展示元素的第二速度信息。
112.其中,初始速度信息可以理解为天气展示元素在碰撞之前的速度信息,即天气展示元素按照第一运动轨迹时的初始运动速度。需要说明的是,本公开实施例的速度信息可以包括速度大小和速度方向。
113.具体地,计算天气展示元素在碰撞时的初始速度信息v_snow与目标碰撞点的第一速度信息v_collider的速度差值,得到所述天气展示元素相对于所述目标碰撞点的初始相对速度信息v_rel,即,v_rel=v_snow-v_collider。进而,通过初始相对速度信息点乘单位法向量normal,得到法向投影速度分量v_n, v_n=dot(v_rel,normal),其中,normal表示单位法向量,可以由前述内容中的 n(x,y)进行归一化之后得到。
114.可选地,所述根据所述法向投影速度分量确定所述天气展示元素的第二速度信息,具体包括:如果所述法向投影速度分量小于第一预设法向分量阈值,则计算所述初始相
对速度信息在与所述目标碰撞点对应的切向量方向上的切向投影速度分量,其中,所述切向量垂直于所述单位法向量;根据所述切向投影速度分量确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息;根据所述第一速度信息和所述目标相对速度信息确定所述天气展示元素的第二速度信息。
115.其中,第一预设法向分量阈值可以根据经验预先设定。在本公开实施例中,第一预设法向分量阈值的取值可以为0。若法向投影速度分量v_n<0,则计算初始相对速度信息在与垂于单位法向量的切向量方向上的切向投影速度分量 v_tangent,具体地,v_tangent=v_rel-v_n*norma。可选的,初始相对速度信息在切向量方向上的切向投影速度分量的大小v_tan_len=length(v_tangent),其中,length表征切向投影速度分量的模长。
116.可选地,所述根据所述切向投影速度分量确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息,包括:确定所述目标碰撞点处的静摩擦临界速度,其中,所述静摩擦临界速度根据所述法向投影速度分量以及预先设置的与所述目标碰撞点处对应的静摩擦系数确定;如果所述切向投影速度分量小于或等于静摩擦临界速度,则将所述目标相对速度信息确定为0。
117.其中,确定所述目标碰撞点处的静摩擦临界速度,具体可以是,计算静摩擦系数和法向投影速度分量的乘积,得到静摩擦临界速度。静摩擦系数通常设置在0至1中的任意值。如果所述切向投影速度分量小于或等于静摩擦临界速度,则所述天气展示元素与场景目标元素不存在相对运动。此时该目标碰撞点的第一速度信息即为场景目标元素的第二速度信息。
118.在上述各可选技术方案的基础上,可选地,如果所述切向投影速度分量大于所述静摩擦临界速度,则根据所述法向投影速度分量、所述切向投影速度分量和所述静摩擦系数,确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息。
119.示例性的,如果确定切向投影速度分量大于静摩擦临界速度,则可基于如下公式确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息:
120.v_rel=(1+friction_coef*v_n/v_tan_len)*v_tangent;
121.其中,v_rel表示天气展示元素相对于所述目标碰撞点的目标相对速度信息, friction_coef为静摩擦系数,v_n表示法向投影速度分量,v_tangent表示切向投影速度分量,v_tan_len表示切向投影速度分量的模长。
122.可选的,可以基于公式确定出第二速度信息:vel=v_rel+v_collider。其中, v_rel为天气展示元素相对应天气展示元素种的目标碰撞点的目标相对速度信息, v_collider为目标碰撞点的第一速度信息。
123.在上述技术方案的基础上,可选地,如果所述法向投影速度分量大于第二预设法向分量阈值,则根据所述第一速度信息和所述初始相对速度信息确定所述天气展示元素的第二速度信息。具体地,可以将第一速度信息和初始相对速度信息进行求和运算,得到天气展示元素的第二速度信息。
124.其中,第二预设法向分量阈值可以与第一预设法向分量阈值相同,也可以不同。示例性地,第二预设法向分量阈值的取值也可以为0。
125.在本实施例中,在确定出各个天气展示元素的第二速度信息后,可以将第二速度信息反馈至mpm框架中,以使mpm框架可以传回的第二速度信息和预设的位置确定函数,确
定场景目标元素的展示信息。具体地,可以根据第二速度信息和预设的位置确定函数确定场景目标元素在下一帧图像中的位置信息和速度信息。进而,根据所述第二速度信息复用本公开实施例的元素展示方法可以确定天气展示元素后续的各个位置,进而确定出天气展示元素的运动轨迹即第二运动轨迹。
126.s480、将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内。
127.本实施例的技术方案,通过将场景目标元素的边界处与所述天气展示元素相距最小相对距离的边界点作为目标碰撞点,实现在碰撞中进行点对点的精细化处理,并且计算出该目标碰撞点的第一速度信息,并根据所述第一速度信息确定所述天气展示元素的第二速度信息,从物理学角度模拟真实碰撞场景,充分考虑了天气展示元素与场景目标元素之间的互相作用,进而根据所述第二速度信息确定所述天气展示元素的第二运动轨迹,从而更好地呈现出碰撞的结果,使得图像的展示效果更为逼真,为用户带来沉浸式体验,有利于增加客户粘性。
128.实施例五
129.图5为本公开实施例五所提供的一种元素展示方法的可选实例的流程示意图。作为上述实施例的一可选实例,假设天气展示元素为雪花粒子,将多个雪花粒子组成雪团的形式进行展示,第一运动轨迹为自由落体运动的轨迹,场景目标元素为人的人体区域。其中,雪花粒子可采用在用于进行元素展示的移动终端或者支持在移动终端进行元素展示的服务器中部署计算着色器,基于计算着色器实现mpm(material point method,物质点算法)构建雪模拟效果。目标场景特效最终呈现为人体撞雪的特效,如图8所示,雪团从屏幕顶部落下,在撞到人体时,雪花粒子会随着人体的碰撞而发生变化,实现雪花粒子与用户之间的互动。
130.具体地,接收用户输入的针对预设的撞雪特效输入的特效触发操作,启用特效道具,将雪团展示于移动终端中的目标展示区域内。采集包括由人体区域的图像,获取到视频图像中当前待检测图像,并先使用matting(抠图)算法得到待检测图像的前景图,将包含场景目标元素的区域抠出来,得到一张初始掩膜图像,即得到mask图,其中,mask图中每个像素点的像素值在0-255之间。然后,可以将像素值大于等于预设像素值阈值的像素点的像素值设置为255,将像素值小于预设像素值阈值的像素点的像素值设置为0,得到一张二值图(每个像素点的像素值为0或255),即为待检测图像的目标掩膜图像。进而,根据目标掩膜图像中的黑色区域和白色区域分别确定每个像素点对应的最近距离,得到每个像素点对应的最近距离均已知的有向距离场,即与待检测图像对应的 sdf图像。
131.其中,sdf图像主要思路是在每个像素点对应的位置处存储距离自身最近的障碍物的位置信息,然后进行信息传递;对于障碍物外的点,计算离其最近的障碍物内的点的位置;对于障碍物内的点,计算离其最近的障碍外的点的位置。这两个问题是对偶的,可以用同样的方法来解决,我们介绍对于障碍物外的点,计算离其最近的障碍物内的点的位置。在本公开实施例中,可以将场景目标元素作为障碍物,反之,可以将除人体区域之外的区域作为障碍物。这样就可以计算出目标展示区域内整张图像中各个像素点对应的最近距离值。进一步地,可以对有向距离场图像中的各个最近距离进行归一化。
132.针对每个雪花粒子的碰撞处理过程具体可以是:
133.首先,判断雪花粒子是否与人体区域发生碰撞,假设雪花粒子p的位置为 (x,y),
sdf(x,y)表示雪花粒子p位置处的sdf值(归一化后为0-1之间),预设的碰撞距离阈值为0.5,如果,sdf(x,y)《0.5时,认为粒子p与障碍物发生了碰撞,如果确定为人体区域与雪花粒子未发生碰撞,将未发生碰撞的雪花粒子继续按照第一运动轨迹展示与目标展示区域中。
134.其次,针对发生碰撞的雪花粒子,将距离雪花粒子最近的人体区域的边界点作为目标碰撞点。需要计算目标碰撞点的速度以及位置。
135.示例性地,计算人体区域与雪花粒子发生碰撞的目标碰撞点的第一速度信息:假设在当前帧图像(待检测图像)和前一帧图像(待检测图像的前一帧图像)中,距离雪花粒子最近的目标碰撞点未发生改变,那么可以使用当前帧图像中目标碰撞点的位置减去前一帧图像中该目标碰撞点的位置,再除以仿真时间步长,得到目标碰撞点的速度。仿真时间步长dt指的是每帧图像内模拟的时间步长,比如,30fps(frame per second),则时间步长为1/30s,约为33ms。
136.具体地,计算目标碰撞点的位置具体可以是:
137.第一,根据第一位置信息计算所述人体区域的边界在所述目标碰撞点处的单位法向量以n(x,y)表示人体区域的边界在所述目标碰撞点处的单位法向量, (x+dx,y)和(x-dx,y)分别为在第一预设方向x方向上与雪花粒子(x,y)所对应的像素点紧邻的两个第一参考像素点,(x,y+dy)和(x,y-dy)分别为在第二预设方向y 方向上与雪花粒子(x,y)所对应的像素点紧邻的两个第二参考像素点,sdf(x+dx, y)为第一参考像素点(x+dx,y)在sdf图像中对应的像素距离值,sdf(x-dx,y)为第一参考像素点(x-dx,y)在sdf图像中对应的像素距离值,sdf(x,y+dy)为第二参考像素点(x,y+dy)在sdf图像中对应的像素距离值,sdf(x,y-dy)为第二参考像素点(x,y-dy)在sdf图像中对应的像素距离值。示例性地,单位法向量n(x,y) 具体可通过如下公式计算:
138.法向量n(x,y)=vec2(sdf(x+dx,y)-sdf(x-dx,y),sdf(x,y+dy)-sdf(x,y-dy)),
139.单位法向量n(x,y)=n(x,y)/length(n(x,y)),
140.其中,dx表示相邻的两个像素点之间在x方向上的位置偏移量,dy表示相邻两个像素点之间在y方向上的位置偏移量。在本公开实施例中,dx可以为sdf 图像的宽的倒数,dy可以为sdf图像的高的倒数。比如,sdf图像的大小为 360(宽)*640(高),则dx=1/360,dy=1/640。
141.第二,计算预设的碰撞距离阈值与所述最小相对距离sdf(x,y)的得到距离差值,将所述距离差值乘以单位法向量n(x,y)得到的乘积与第一位置信息(x,y)相加得到所述目标碰撞点在待检测图像中的当前位置信息。举例而言,继续沿用预设的碰撞距离阈值为0.5,则目标碰撞点在待检测图像中的当前位置信息的计算方式为(x,y)+(0.5-sdf(x,y))*n(x,y)。
142.具体地,当前帧图像中距离粒子p最近的人体区域边界位置(目标碰撞点的当前位置信息)为(x,y)+(0.5-sdf_current(x,y))*n_current(x,y),前一帧图像中距离粒子p最近的人体区域边界位置(目标碰撞点的前一位置信息)为(x,y)+ (0.5-sdf_last(x,y))*n_last(x,y),其中,sdf_current(x,y)表示当前帧图像(x,y)处在 sdf图像中对应的最近距离,n_current(x,y)表示当前帧图像中人体区域边界在目标碰撞点处的单位法向量,其中,sdf_last(x,y)表示前一帧图像(x,y)处在sdf 图像中对应的最近距离,n_last(x,y)表示
前一帧图像中人体区域边界在目标碰撞点处的单位法向量。
143.所以该目标碰撞点的第一速度信息v_collider为该目标碰撞点在当前帧图像中位置信息减去前一帧图像中的位置信息除以预设仿真时间步长dt得到,即, v_collider={(0.5-sdf_current(x,y))*n_current(x,y)-(0.5-sdf_last(x,y))*n_last(x,y)}/dt。
144.再次,根据目标碰撞点的速度信息v_collider确定雪花粒子的第二速度信息vel,计算过程如下:
145.计算雪花粒子在碰撞时的初始速度信息v_snow与目标碰撞点的第一速度信息v_collider的速度差值,得到所述雪花粒子相对于所述目标碰撞点的初始相对速度信息v_rel,即,v_rel=v_snow-v_collider。进而,通过初始相对速度信息点乘单位法向量normal,得到法向投影速度分量v_n,v_n=dot(v_rel, normal),其中,normal表示单位法向量,可以由前述内容中的n(x,y)进行归一化之后得到。
146.假设第一预设法向分量阈值和第二预设法向分量阈值的取值均为0,如果法向投影速度分量v_n<0,则计算初始相对速度信息在与垂于单位法向量的切向量方向上的切向投影速度分量v_tangent,具体地,v_tangent=v_rel-v_n* norma。可选的,初始相对速度信息在切向量方向上的切向投影速度分量的大小v_tan_len=length(v_tangent),其中,length表征切向投影速度分量的模长。
147.示例性的,如果确定切向投影速度分量大于静摩擦临界速度,则可基于如下公式确定所述雪花粒子相对于所述目标碰撞点的目标相对速度信息:
148.v_rel=(1+friction_coef*v_n/v_tan_len)*v_tangent;
149.其中,v_rel表示雪花粒子相对于所述目标碰撞点的目标相对速度信息, friction_coef为静摩擦系数,v_n表示法向投影速度分量,v_tangent表示切向投影速度分量,v_tan_len表示切向投影速度分量的模长。其中,静摩擦系数通常设置在0至1中的任意值。
150.最后,基于公式确定出第二速度信息:vel=v_rel+v_collider,以使雪花粒子根据第二速度信息规划第二运动轨迹,并按照第二运动轨迹进行展示。
151.本实施例的技术方案,提供了人体撞雪的特效场景,模拟了真实的撞雪场景,对雪花粒子进行了精细化的运算处理后再行渲染,提升了图像展示效果,提升了用户体验,有利于进一步增加用户粘性。
152.实施例六
153.图7为本公开实施例五所提供的元素展示装置的结构示意图,本实施例所提供的元素展示装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本公开实施例中的元素展示方法。该装置具体可包括第一展示模块510、第二展示模块520和第三展示模块530。
154.其中,第一展示模块510,用于将天气展示元素按照第一运动轨迹展示于目标展示区域内;第二展示模块520,用于当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内;第三展示模块530,用于将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
155.本实施例的技术方案,通过将天气展示元素按照第一运动轨迹展示于目标展示区
域内,实现对天气展示元素的动态展示,增加了天气展示元素的灵动性,当检测到天气展示元素与目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内,能够实现场景目标元素与天气展示元素之间的互动,解决了由于特效道具的展示方式固定,缺少与用户之间的互动性,使得短视频的整体展示效果较为单一的技术问题,增加了图像展示的趣味性,而且,在碰撞后将天气展示元素按照第二运动轨迹展示,能够使得碰撞效果更为逼真,丰富了图像展示效果,提升了用户体验感。
156.在本公开实施例中任一可选技术方案的基础上,可选地,所述第一展示模块用于:
157.当接收到针对目标特效场景的特效触发操作时,将多个天气展示元素以预设展示形态按照第一运动轨迹展示于目标展示区域内。
158.在本公开实施例中任一可选技术方案的基础上,可选地,所述元素展示装置还包括:
159.元素拍摄模块,用于基于拍摄装置对场景目标元素进行拍摄,以将所述场景目标元素展示于所述目标展示区域内。
160.在本公开实施例中任一可选技术方案的基础上,可选地,所述元素展示装置还包括:
161.最小相对距离确定模块,用于确定所述天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离;
162.碰撞判断模块,用于根据所述最小相对距离确定所述场景目标元素与所述天气展示元素是否发生碰撞。
163.在本公开实施例中任一可选技术方案的基础上,可选地,所述最小相对距离确定模块包括待检测图像获取单元、有向距离场图像确定单元和最小相对距离确定单元。
164.其中,待检测图像获取单元,用于获取所述目标展示区域内所展示的待检测图像,其中,所述待检测图像中包括场景目标元素;有向距离场图像确定单元,用于根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像;最小相对距离确定单元,用于根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离。
165.在本公开实施例中任一可选技术方案的基础上,可选地,所述有向距离场图像确定单元包括:目标掩膜图像确定子单元和有向距离场图像确定子单元。
166.其中,目标掩膜图像确定子单元,用于根据所述场景目标元素确定所述待检测图像的目标掩膜图像;有向距离场图像确定子单元,用于根据所述目标掩膜图像确定与所述待检测图像对应的有向距离场图像。
167.在本公开实施例中任一可选技术方案的基础上,可选地,所述目标掩膜图像确定子单元具体用于:
168.针对所述待检测图像的所述场景目标元素进行抠图处理,得到与所述场景目标元素对应的初始掩膜图像;
169.根据预设像素值阈值对所述初始掩膜图像进行二值化处理,得到所述待检测图像的目标掩膜图像。
170.在本公开实施例中任一可选技术方案的基础上,可选地,所述最小相对距离确定单元用于:
171.确定所述天气展示元素在所述待检测图像中的第一位置信息;
172.确定所述有向距离场图像中与所述第一位置信息对应的目标像素点,将所述目标像素点对应的像素距离值作为所述天气展示元素与所述场景目标元素的边界处的最小相对距离。
173.在本公开实施例中任一可选技术方案的基础上,可选地,所述元素展示装置还包括:第一速度信息确定模块和第二运动轨迹确定模块。
174.其中,第一速度信息确定模块,用于在所述检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞之后,所述将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内之前,确定所述场景目标元素中与所述天气展示元素发生碰撞的目标碰撞点,计算所述目标碰撞点的第一速度信息;第二运动轨迹确定模块,用于根据所述第一速度信息确定所述天气展示元素的第二速度信息,根据所述第二速度信息确定所述天气展示元素的第二运动轨迹。
175.在本公开实施例中任一可选技术方案的基础上,可选地,所述计第一速度信息确定模块包括位置信息确定单元和第一速度计算单元。
176.其中,位置信息确定单元,用于确定所述目标碰撞点在所述待检测图像中的当前位置信息,以及在与所述待检测图像在所述目标展示区域内的展示时间相邻的前一帧图像的前一位置信息;第一速度计算单元,用于根据所述当前位置信息、所述前一位置信息以及预设仿真时间步长,确定所述目标碰撞点的第一速度信息,其中,所述预设仿真时间步长为预先设定的所述待检测图像与所述前一帧图像之间的时间变化量。
177.在本公开实施例中任一可选技术方案的基础上,可选地,所述位置信息确定单元包括单位法向量确定子单元和当前位置信息确定子单元。
178.其中,单位法向量确定子单元,用于确定所述天气展示元素的第一位置信息,并根据所述第一位置信息计算所述场景目标元素的边界在所述目标碰撞点处的单位法向量;当前位置信息确定子单元,用于根据所述第一位置信息、所述最小相对距离、所述单位法向量以及预设的碰撞距离阈值确定所述目标碰撞点在待检测图像中的当前位置信息。
179.在本公开实施例中任一可选技术方案的基础上,可选地,所述单位法向量确定子单元具体用于:
180.确定在第一预设方向上与所述天气展示元素所对应的像素点紧邻的两个第一参考像素点,以及在第二预设方向上与所述天气展示元素所对应的像素点紧邻的两个第二参考像素点,其中,所述第一预设方向为所述第二预设方向的垂直方向;
181.计算所述有向距离场图像中两个第一参考像素点对应的像素距离值的第一差值,以及所述有向距离场图像中两个第二参考像素点对应的像素距离值的第二差值;
182.根据所述第一差值和所述第二差值确定所述场景目标元素的边界在所述目标碰撞点处的单位法向量。
183.在本公开实施例中任一可选技术方案的基础上,可选地,所述第二运动轨迹确定模块包括:
184.初始相对速度确定单元,用于根据所述第一速度信息以及所述天气展示元素在碰撞时的初始速度信息确定所述天气展示元素相对于所述目标碰撞点的初始相对速度信息;
185.第二速度信息确定单元,用于计算所述初始相对速度信息在所述单位法向量方向
上的法向投影速度分量,根据所述法向投影速度分量确定所述天气展示元素的第二速度信息。
186.在本公开实施例中任一可选技术方案的基础上,可选地,所述第二速度信息确定单元用于:
187.切向投影速度分量确定子单元,用于如果所述法向投影速度分量小于第一预设法向分量阈值,则计算所述初始相对速度信息在与所述目标碰撞点对应的切向量方向上的切向投影速度分量,其中,所述切向量垂直于所述单位法向量;
188.目标相对速度信息确定子单元,用于根据所述切向投影速度分量确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息;
189.根据所述第一速度信息和所述目标相对速度信息确定所述天气展示元素的第二速度信息。
190.在本公开实施例中任一可选技术方案的基础上,可选地,所述目标相对速度信息确定子单元用于:
191.确定所述目标碰撞点处的静摩擦临界速度,其中,所述静摩擦临界速度根据所述法向投影速度分量以及预先设置的与所述目标碰撞点处对应的静摩擦系数确定;
192.如果所述切向投影速度分量小于或等于静摩擦临界速度,则将所述目标相对速度信息确定为0。
193.在本公开实施例中任一可选技术方案的基础上,可选地,所述目标相对速度信息确定子单元还用于:
194.如果所述切向投影速度分量大于所述静摩擦临界速度,则根据所述法向投影速度分量、所述切向投影速度分量和所述静摩擦系数,确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息。
195.在本公开实施例中任一可选技术方案的基础上,可选地,所述第二速度信息确定单元用于:
196.如果所述法向投影速度分量大于第二预设法向分量阈值,则根据所述第一速度信息和所述初始相对速度信息确定所述天气展示元素的第二速度信息。
197.在本公开实施例中任一可选技术方案的基础上,可选地,所述天气展示元素包括气象元素,所述气象元素包括雪元素、水元素、风元素以及冰元素中的至少一种。
198.上述元素展示装置可执行本公开任意实施例所提供的所元素展示方法,具备执行元素展示方法相应的功能模块和有益效果。
199.值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
200.实施例七
201.图8为本公开实施例七所提供的一种电子设备的结构示意图。下面参考图 8,其示出了适于用来实现本公开实施例的电子设备(例如图5中的终端设备或服务器)600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图5示出
的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
202.如图8所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置606加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram 603通过总线604彼此相连。编辑/输出(i/o) 接口605也连接至总线604。
203.通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的编辑装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置606;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
204.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置606被安装,或者从rom 602 被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
205.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
206.本公开实施例提供的电子设备与上述实施例提供的元素展示方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
207.实施例七
208.本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的元素展示方法。
209.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom 或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的
程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、 rf(射频)等等,或者上述的任意合适的组合。
210.在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
211.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
212.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
213.将天气展示元素按照第一运动轨迹展示于目标展示区域内;
214.当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内;
215.将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
216.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
217.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
218.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
219.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等
等。
220.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器 (eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
221.根据本公开的一个或多个实施例,【示例一】提供了一种元素展示方法,该方法包括:
222.将天气展示元素按照第一运动轨迹展示于目标展示区域内;
223.当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内;
224.将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
225.根据本公开的一个或多个实施例,【示例二】提供了一种元素展示方法,该方法,还包括:
226.可选的,所述将天气展示元素按照第一运动轨迹展示于目标展示区域内,包括:
227.当接收到针对目标特效场景的特效触发操作时,将多个天气展示元素以预设展示形态按照第一运动轨迹展示于目标展示区域内。
228.根据本公开的一个或多个实施例,【示例三】提供了一种元素展示方法,该方法,还包括:
229.可选地,基于拍摄装置对场景目标元素进行拍摄,以将所述场景目标元素展示于所述目标展示区域内。
230.根据本公开的一个或多个实施例,【示例四】提供了一种元素展示方法,该方法,还包括:
231.可选的,确定所述天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离;
232.根据所述最小相对距离确定所述场景目标元素与所述天气展示元素是否发生碰撞。
233.根据本公开的一个或多个实施例,【示例五】提供了一种元素展示方法,该方法,还包括:
234.可选的,所述确定所述天气展示元素与所述目标展示区域内的场景目标元素的边界处的最小相对距离,包括:
235.获取所述目标展示区域内所展示的待检测图像,其中,所述待检测图像中包括场景目标元素;
236.根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像;
237.根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处
的最小相对距离。
238.根据本公开的一个或多个实施例,【示例六】提供了一种元素展示方法,该方法,还包括:
239.可选的,所述根据所述场景目标元素确定与所述待检测图像对应的有向距离场图像,包括:
240.根据所述场景目标元素确定所述待检测图像的目标掩膜图像;
241.根据所述目标掩膜图像确定与所述待检测图像对应的有向距离场图像。
242.根据本公开的一个或多个实施例,【示例七】提供了一种元素展示方法,该方法,还包括:
243.可选的,所述根据所述场景目标元素确定所述待检测图像的目标掩膜图像,包括:
244.针对所述待检测图像的所述场景目标元素进行抠图处理,得到与所述场景目标元素对应的初始掩膜图像;
245.根据预设像素值阈值对所述初始掩膜图像进行二值化处理,得到所述待检测图像的目标掩膜图像。
246.根据本公开的一个或多个实施例,【示例八】提供了一种元素展示方法,该方法,还包括:
247.可选的,所述根据所述有向距离场图像确定所述天气展示元素与所述场景目标元素的边界处的最小相对距离,包括:
248.确定所述天气展示元素在所述待检测图像中的第一位置信息;
249.确定所述有向距离场图像中与所述第一位置信息对应的目标像素点,将所述目标像素点对应的像素距离值作为所述天气展示元素与所述场景目标元素的边界处的最小相对距离。
250.根据本公开的一个或多个实施例,【示例九】提供了一种元素展示方法,该方法,还包括:
251.可选的,在所述检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞之后,所述将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内之前,还包括:
252.确定所述场景目标元素中与所述天气展示元素发生碰撞的目标碰撞点,计算所述目标碰撞点的第一速度信息;
253.根据所述第一速度信息确定所述天气展示元素的第二速度信息,根据所述第二速度信息确定所述天气展示元素的第二运动轨迹。
254.根据本公开的一个或多个实施例,【示例十】提供了一种元素展示方法,该方法,还包括:
255.可选的,所述计算所述目标碰撞点的第一速度信息,包括:
256.确定所述目标碰撞点在所述待检测图像中的当前位置信息,以及在与所述待检测图像在所述目标展示区域内的展示时间相邻的前一帧图像的前一位置信息;
257.根据所述当前位置信息、所述前一位置信息以及预设仿真时间步长,确定所述目标碰撞点的第一速度信息,其中,所述预设仿真时间步长为预先设定的所述待检测图像与所述前一帧图像之间的时间变化量。
258.根据本公开的一个或多个实施例,【示例十一】提供了一种元素展示方法,该方法,还包括:
259.可选地,所述确定所述目标碰撞点在所述待检测图像中的当前位置信息,包括:
260.确定所述天气展示元素的第一位置信息,并根据所述第一位置信息计算所述场景目标元素的边界在所述目标碰撞点处的单位法向量;
261.根据所述第一位置信息、所述最小相对距离、所述单位法向量以及预设的碰撞距离阈值确定所述目标碰撞点在待检测图像中的当前位置信息。
262.根据本公开的一个或多个实施例,【示例十二】提供了一种元素展示方法,该方法,还包括:
263.可选的,所述根据所述第一位置信息计算所述场景目标元素的边界在所述目标碰撞点处的单位法向量,包括:
264.确定在第一预设方向上与所述天气展示元素所对应的像素点紧邻的两个第一参考像素点,以及在第二预设方向上与所述天气展示元素所对应的像素点紧邻的两个第二参考像素点,其中,所述第一预设方向为所述第二预设方向的垂直方向;
265.计算所述有向距离场图像中两个第一参考像素点对应的像素距离值的第一差值,以及所述有向距离场图像中两个第二参考像素点对应的像素距离值的第二差值;
266.根据所述第一差值和所述第二差值确定所述场景目标元素的边界在所述目标碰撞点处的单位法向量。
267.根据本公开的一个或多个实施例,【示例十三】提供了一种元素展示方法,该方法,还包括:
268.可选的,所述根据所述第一速度信息确定所述天气展示元素的第二速度信息,包括:
269.根据所述第一速度信息以及所述天气展示元素在碰撞时的初始速度信息确定所述天气展示元素相对于所述目标碰撞点的初始相对速度信息;
270.计算所述初始相对速度信息在所述单位法向量方向上的法向投影速度分量,根据所述法向投影速度分量确定所述天气展示元素的第二速度信息。
271.根据本公开的一个或多个实施例,【示例十四】提供了一种元素展示方法,该方法,还包括:
272.可选的,所述根据所述法向投影速度分量确定所述天气展示元素的第二速度信息,包括:
273.如果所述法向投影速度分量小于第一预设法向分量阈值,则计算所述初始相对速度信息在与所述目标碰撞点对应的切向量方向上的切向投影速度分量,其中,所述切向量垂直于所述单位法向量;
274.根据所述切向投影速度分量确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息;
275.根据所述第一速度信息和所述目标相对速度信息确定所述天气展示元素的第二速度信息。
276.根据本公开的一个或多个实施例,【示例十五】提供了一种元素展示方法,该方法,还包括:
277.可选的,所述根据所述切向投影速度分量确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息,包括:
278.确定所述目标碰撞点处的静摩擦临界速度,其中,所述静摩擦临界速度根据所述法向投影速度分量以及预先设置的与所述目标碰撞点处对应的静摩擦系数确定;
279.如果所述切向投影速度分量小于或等于静摩擦临界速度,则将所述目标相对速度信息确定为0。
280.根据本公开的一个或多个实施例,【示例十六】提供了一种元素展示方法,该方法,还包括:
281.可选的,如果所述切向投影速度分量大于所述静摩擦临界速度,则根据所述法向投影速度分量、所述切向投影速度分量和所述静摩擦系数,确定所述天气展示元素相对于所述目标碰撞点的目标相对速度信息。
282.根据本公开的一个或多个实施例,【示例十七】提供了一种元素展示方法,该方法,还包括:
283.可选的,所述根据所述法向投影速度分量确定所述天气展示元素的第二速度信息,包括:
284.如果所述法向投影速度分量大于第二预设法向分量阈值,则根据所述第一速度信息和所述初始相对速度信息确定所述天气展示元素的第二速度信息。
285.根据本公开的一个或多个实施例,【示例十八】提供了一种元素展示装置,该装置,包括:
286.第一展示模块,用于将天气展示元素按照第一运动轨迹展示于目标展示区域内;
287.第二展示模块,用于当检测到所述天气展示元素与所述目标展示区域内的场景目标元素发生碰撞时,将所述天气展示元素按照第二运动轨迹展示于所述目标展示区域内;
288.第三展示模块,用于将未与所述场景目标元素发生碰撞的天气展示元素继续按照第一运动轨迹展示与所述目标展示区域中。
289.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
290.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了如果干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
291.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1