一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于AR的互动方法、装置及电子设备与流程

2022-07-30 20:05:30 来源:中国专利 TAG:

基于ar的互动方法、装置及电子设备
技术领域
1.本说明书一个或多个实施例涉及计算机应用技术领域,尤其涉及一种基于ar的互动方法、装置及电子设备。


背景技术:

2.增强现实(augmented reality,简称ar)技术是一种将虚拟世界和现实环境叠加至同一个影像画面或空间的技术。
3.随着计算机技术的发展,以及数字媒体技术的日趋成熟,ar技术已经逐渐应用于游戏互动、智能运动、媒体展览、舞台表演等众多场景。通过应用计算机视觉处理技术和多媒体投影显示技术,ar技术可以为参与体验者营造出一种动态的、逼真的互动体验。通过参与者的肢体动作与投影图像进行互动,ar系统可以产生各种特殊效果,让体验者进入一个虚拟与现实相融合、似真似幻的奇妙世界。


技术实现要素:

4.本说明书一个或多个实施例提供技术方案如下:
5.本说明书提供一种基于ar的互动方法,应用于客户端;所述客户端搭载了图像处理引擎;所述图像处理引擎用于对用户手绘的二维标识进行三维建模;所述方法包括:
6.获取用户手绘的二维标识;
7.调用所述图像处理引擎对获取到的所述二维标识进行三维建模,得到与所述二维标识对应的三维标识;
8.调用与所述图像处理引擎对接的ar引擎,将所述三维标识融合到所述客户端拍摄到的实景画面中进行增强显示。
9.本说明书还提供一种基于ar的互动装置,应用于客户端;所述客户端搭载了图像处理引擎;所述图像处理引擎用于对用户手绘的二维标识进行三维建模;所述装置包括:
10.获取模块,获取用户手绘的二维标识;
11.第一调用模块,调用所述图像处理引擎对获取到的所述二维标识进行三维建模,得到与所述二维标识对应的三维标识;
12.第二调用模块,调用与所述图像处理引擎对接的ar引擎,将所述三维标识融合到所述客户端拍摄到的实景画面中进行增强显示。
13.本说明书还提供一种电子设备,包括:
14.处理器;
15.用于存储处理器可执行指令的存储器;
16.其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
17.本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
18.在上述技术方案中,可以由客户端在获取到用户手绘的二维标识的情况下,先调用图像处理引擎对该二维标识进行三维重建,得到与该二维标识对应的三维标识,再调用与该图像处理引擎对接的ar引擎,将该三维标识融合到该客户端拍摄到的实景画面中进行增强显示。
19.采用上述方式,一方面,可以将用户手绘的标识以三维的形式展示给用户,提高观赏性和趣味性,提升用户体验,由此提高用户对互动的感兴趣度和参与意愿;另一方面,可以由图像处理引擎进行三维重建,而ar引擎可以直接利用该图像处理引擎得到的三维标识,融合到实景画面中进行增强显示,可以降低ar引擎的开发成本。
附图说明
20.图1是本说明书一示例性实施例示出的一种基于ar的互动系统的硬件架构图。
21.图2是本说明书一示例性实施例示出的一种活动界面的示意图。
22.图3是本说明书一示例性实施例示出的一种互动界面的示意图。
23.图4是本说明书一示例性实施例示出的一种基于ar的互动方法的示意图。
24.图5是本说明书一示例性实施例示出的一种二维标识的示意图。
25.图6是本说明书一示例性实施例示出的一种三维标识的示意图。
26.图7a是本说明书一示例性实施例示出的一种基于ar的互动系统的软件架构图。
27.图7b是本说明书一示例性实施例示出的另一种基于ar的互动系统的软件架构图。
28.图8是本说明书一示例性实施例示出的一种基于ar的互动装置所在电子设备的硬件结构图。
29.图9是本说明书一示例性实施例示出的一种基于ar的互动装置的框图。
具体实施方式
30.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
31.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
32.随着网络技术的发展,出现了多种多样的虚拟资源的分配方式。
33.以“红包”形式的虚拟资源的分配为例,用户可以将电子贺卡、礼金等放入“红包”中,并设定“红包”的领取权限。用户可将红包发放至另一用户,或者发放至群组内,当另一用户或者群组内的成员获取到领取权限时可领取该“红包”。
34.在实际应用中,除了可以由用户配置一定数量的虚拟资源(例如:包括一定金额的礼金的虚拟红包),并将配置的该虚拟资源发放给其他用户之外,还可以预先在服务端中配
置包括一定数量的虚拟资源的虚拟资源集合(例如:包括一定金额的奖金的虚拟红包池),由服务端从该虚拟资源集合中为用户分配虚拟资源。
35.在一些虚拟资源的分配场景下,用户可以收集多种类别的电子凭证。用户可以在收集到的电子凭证的类别数达到预设阈值的情况下,取得预设的虚拟资源集合中的虚拟资源的领取权限,并在收集到附加电子凭证时,获得额外的虚拟资源。对于具有该领取权限的用户而言,服务端可以从该虚拟资源集合中为该用户分配虚拟资源,即该用户可以领取该虚拟资源集合中的虚拟资源。
36.举例来说,上述虚拟资源可以是虚拟红包,上述虚拟资源集合可以是虚拟红包池。在示出的一种“集五福分大奖”的红包发放场景中,上述电子凭证可以包括“爱国福”、“友善福”、“富强福”、“和谐福”以及“敬业福”等5类虚拟福卡。用户可以通过多种途径收集虚拟福卡,并在收集到这5类虚拟福卡后,取得虚拟红包的领取权限,由服务端从该虚拟红包池中为具有该领取权限的用户发放虚拟红包。
37.在实际应用中,为了提高用户对收集电子凭证的感兴趣度和参与意愿,可以先由客户端向用户输出包括手绘区域的互动界面,并获取用户在该互动界面的手绘区域中手绘的标识,后续可以在用户手绘的标识为特定标识(例如:“福”字)的情况下,为该用户分配电子凭证,并将该标识作为与该电子凭证对应的图标,向用户进行展示。由此,使得用户可以通过自行设计和绘制标识,得到其专属的电子凭证。
38.然而,在相关技术中,用户手绘的标识通常以二维的形式展示给用户,缺乏观赏性和趣味性,影响用户体验,导致用户参与互动的意愿有所降低。
39.本说明书提供一种基于ar的互动方案,可以由客户端在获取到用户手绘的二维标识的情况下,先调用图像处理引擎对该二维标识进行三维重建,得到与该二维标识对应的三维标识,再调用与该图像处理引擎对接的ar引擎,将该三维标识融合到该客户端拍摄到的实景画面中进行增强显示。
40.在具体实现时,上述客户端首先可以获取用户手绘的二维标识。例如,上述客户端可以向用户输出互动界面,使得用户可以在该互动界面中手绘二维标识。该客户端可以获取到用户在该互动界面中手绘的二维标识。
41.上述客户端在获取到用户手绘的二维标识的情况下,可以调用上述图像处理引擎对该二维标识进行三维重建,得到与该二维标识对应的三维标识。
42.上述客户端在通过三维重建得到了上述三维标识的情况下,可以调用与上述图像处理引擎对接的ar引擎,将该三维标识融合到上述客户端拍摄到的实景画面中进行增强显示。也即,由该ar引擎实现了将虚拟世界的该三维标识,以及该客户端拍摄到的现实世界的实景画面叠加至同一个影像画面或空间。
43.采用上述方式,一方面,可以将用户手绘的标识以三维的形式展示给用户,提高观赏性和趣味性,提升用户体验,由此提高用户对互动的感兴趣度和参与意愿;另一方面,可以由图像处理引擎进行三维重建,而ar引擎可以直接利用该图像处理引擎得到的三维标识,融合到实景画面中进行增强显示,可以降低ar引擎的开发成本。
44.请参考图1,图1是本说明书一示例性实施例示出的一种基于ar的互动系统的硬件架构图。
45.如图1所示,上述基于ar的互动系统可以包括网络10、服务器11、若干电子设备,如
手机12、手机13和手机14等。
46.服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器、云服务器等。手机12至14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(pdas,personal digital assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。
47.在实际应用中,客户端可以运行在手机12至14上,服务端可以运行在服务器11上。对于客户端而言,不同的客户端可以由不同的用户使用,也可以由相同的用户使用。
48.用户可以通过与其对应的客户端手绘标识,以及收集电子凭证。客户端可以维护用户收集到的电子凭证;或者,客户端可以将用户收集到的电子凭证发送给服务端,由该服务端维护用户收集到的电子凭证。服务端可以维护预设的虚拟资源集合,并从该虚拟资源集合中为用户分配虚拟资源。
49.具体地,上述客户端可以向上述用户输出互动界面,该用户可以在该互动界面中手绘输入标识(可称为目标标识)。
50.其中,上述互动界面,可以是指客户端为用户提供的操作界面;该互动界面中可以包括可供用户绘制目标标识的手绘区域,例如:当目标标识为汉字时,该手绘区域可以是“米”字格。上述目标标识,可以是指用户在绘制的任意标识,该标识可以是图形、字符(例如:英文字母或汉字)等,例如:在“集五福分大奖”活动中,该标识可以是汉字中的“福”字。
51.在一些例子中,上述客户端可以为上述用户提供参与手绘标识活动的入口,该用户可以针对该入口进行相关操作,以获取上述互动界面。
52.其中,上述入口可以是可供用户操作的用户选项。上述客户端可以在与电子凭证对应的活动界面中输出该用户选项,并在检测到上述用户针对该用户选项的触发操作时,响应于该触发操作,向该用户输出上述互动界面。
53.在实际应用中,上述客户端可以在首次向上述用户输出上述互动界面时,向该用户展示手绘标识领取电子凭证的相关操作说明,便于该用户理解如何绘制标识,以及如何获取电子凭证。
54.除此之外,上述互动界面中还可以包括可供用户选择上述目标标识的字体的选项(可称为字体选项)。上述用户可以在该互动界面中,通过触发某一字体选项,选择以与该字体选项对应的字体,在上述手绘区域中完成该目标标识的绘制。
55.其中,与上述字体选项对应的字体可以包括自由体、行书、隶书、幼圆等多种字体。例如,当上述用户选择了自由体时,该用户可以不受字体的约束,按照自身所习惯的书写方式,在上述手绘区域中完成上述目标标识的绘制;当该用户选择了行书时,上述客户端可以在上述手绘区域中输出行书形式的特定标识(例如:在“集五福分大奖”活动中,该特定标识可以是“福”字),以辅助该用户按照行书的书写方式,在该手绘区域中完成该目标标识的绘制。
56.进一步地,上述客户端可以保存上述用户以不同的字体绘制的标识。在这种情况下,该用户可以对比以不同的字体绘制的标识,并从中选择最满意的标识。
57.上述互动界面中还可以包括重写选项和/或撤销选项。当上述用户对当前绘制的标识不满意时,可以针对该重写选项执行触发操作,以触发重新绘制标识;或者,可以针对
该撤销选项执行触发操作,以触发撤销最近绘制的一步。
58.请参考图2,图2是本说明书一示例性实施例示出的一种活动界面的示意图;请参考图3,图3是本说明书一示例性实施例示出的一种互动界面的示意图。
59.继续以上述“集五福分大奖”的红包发放场景为例,如图2所示,上述与电子凭证对应的活动界面,具体可以是“集五福分大奖”界面;如图3所示,上述互动界面,具体可以是“写福字”界面。
60.在上述用户参与“集五福分大奖”活动时,上述客户端可以向该用户输出如图2所示的活动界面。该活动界面中可以包括“我的福卡”按钮、“扫福字”按钮、“写福字”按钮等;其中,“写福字”按钮即为上述用户选项。
61.上述用户可以针对“我的福卡”按钮、“扫福字”按钮或“写福字”按钮执行点击操作。上述客户端在检测该用户针对“写福字”按钮的点击操作时,可以响应于该点击操作,向该用户输出如图3所示的“写福字”界面。
62.在上述“写福字”界面中,上述客户端可以在一个预设位置(例如:界面的正中央)上输出可供上述用户执行写福字操作的手绘区域,并在另几个预设位置(例如:该手绘区域的上方)上输出“自由体”按钮、“楷体”按钮、“行书”按钮、“隶书”按钮、“幼圆”按钮等上述字体选项。用户可以通过点击“自由体”按钮,选择按照自身所习惯的书写方式,在该手绘区域中写“福”字;用户也可以通过点击“行书”按钮,选择按照行书的书写方式,在该手绘区域中写“福”字;以此类推。此外,各个字体选项中可以展示以对应的字体绘制的“福”字,以供用户参考。
63.请参考图4,图4是本说明书一示例性实施例示出的一种基于ar的互动方法的流程图。
64.上述基于ar的互动方法可以应用于客户端,该客户端可以运行在如图1所示的手机12至14上。
65.在本实施例中,上述客户端可以搭载图像处理引擎。对于该图像处理引擎而言,其可以用于对用户手绘的二维标识进行三维建模。
66.上述基于ar的互动方法可以包括以下步骤:
67.步骤402:获取用户手绘的二维标识。
68.在本实施例中,上述客户端首先可以获取用户手绘的二维标识。
69.具体地,上述客户端可以向用户输出互动界面,使得用户可以在该互动界面中手绘二维标识。该客户端可以获取到用户在该互动界面中手绘的二维标识。
70.继续以如图3所示的“写福字”界面为例,用户可以该“写福字”界面中写“福”字。此时,用户写下的“福”字即为用户手绘的二维标识。
71.需要说明的是,对于二维标识而言,其是由多条线条,以及填充在由这多条线条划分出的区域内的纹理组成的。
72.请参考图5,图5是本说明书一示例性实施例示出的一种二维标识的示意图。
73.如图5所示,作为二维标识的“二”字可以是由多条线条,以及填充在由这多条线条划分出的上、下两个矩形区域内的斜线式样的纹理组成的。
74.步骤404:调用所述图像处理引擎对获取到的所述二维标识进行三维建模,得到与所述二维标识对应的三维标识。
75.在本实施例中,上述客户端在获取到用户手绘的二维标识的情况下,可以调用上述图像处理引擎对该二维标识进行三维重建,得到与该二维标识对应的三维标识。
76.继续以如图3所示的“写福字”界面为例,上述客户端在获取到用户在该“写福字”界面中写下的“福”字的情况下,可以调用上述图像处理引擎对该“福”字进行三维重建,得到与该“福”字对应的三维标识。
77.请参考图6,图6是本说明书一示例性实施例示出的一种三维标识的示意图。
78.如图6所示,与“福”字对应的三维标识可以是一个与“福”字对应的三维模型。图6示出了该三维模型在不同视角下的图片。
79.步骤406:调用与所述图像处理引擎对接的ar引擎,将所述三维标识融合到所述客户端拍摄到的实景画面中进行增强显示。
80.在本实施例中,上述客户端在通过三维重建得到了上述三维标识的情况下,可以调用与上述图像处理引擎对接的ar引擎,将该三维标识融合到上述客户端拍摄到的实景画面中进行增强显示。也即,由该ar引擎实现了将虚拟世界的该三维标识,以及该客户端拍摄到的现实世界的实景画面叠加至同一个影像画面或空间。
81.下面从获取用户手绘的二维标识、对二维标识进行三维重建、将三维标识融合到实景画面的部分,对如图4所示的实施例进行详细说明。
82.(1)获取用户手绘的二维标识
83.在示出的一种实施方式中,上述图像处理引擎具体可以包括图形引擎和渲染引擎。其中,该渲染引擎可以提供用于进行可视化渲染的api(application programming interface,应用程序接口)接口(下称为第一api接口)。
84.在实际应用中,上述图形引擎可以包括oasis引擎。其中,oasis引擎是一种移动端优先的高性能web图形引擎。
85.上述渲染引擎可以包括paladin引擎。其中,paladin引擎是一种移动端渲染框架,其是基于webgl(web graphics library)进行渲染的;webgl是一种3d绘图协议,这种绘图技术标准允许把javascript和opengl es 2.0结合在一起,通过增加对opengl es 2.0的javascript绑定(javascript binding),webgl可以为html5 canvas提供硬件3d加速渲染。
86.上述客户端在获取用户手绘的二维标识时,具体可以先调用上述图形引擎绘制用户的手绘轨迹,再由该图形引擎调用上述渲染引擎提供的上述第一api接口,对该手绘轨迹进行可视化渲染,以生成与该手绘轨迹对应的二维标识。
87.在实际应用中,可以基于上述手绘轨迹,进行边框绘制和区域填充,以生成与该手绘轨迹对应的二维标识。例如,可以先对该手绘轨迹进行边框绘制,以将用于表示该手绘轨迹的一条线条处理成由多条线条构成的一个封闭图形,再对该封闭图形进行区域填充,以在由该封闭图形划分出的区域内填充纹理。
88.在示出的一种实施方式中,上述客户端在调用上述图形引擎绘制用户的手绘轨迹时,具体可以调用该图形引擎对用户在上述客户端提供的绘制界面(例如:向用户输出的上述互动界面)上的手绘操作进行监听,以得到用户的手绘数据,并基于监听到的该手绘数据绘制用户的手绘轨迹。
89.在实际应用中,上述图形引擎可以对上述用户在上述绘制界面中的触摸位置和触摸间隔时长进行监听,并将监听到的所有触摸位置和触摸间隔时长作为用户的手绘数据。
其中,触摸位置可以以坐标形式的数据表示,触摸间隔时长可以以数值形式的数据表示。后续,该图形引擎可以基于监听到的该手绘数据,将其中相邻且触摸间隔时长不超过预设阈值的触摸位置连接起来,形成多条线条,这多条线条即为绘制出的该用户的手绘轨迹。
90.举例来说,假设通过对上述用户在上述绘制界面中的触摸位置和触摸间隔时长进行监听,监听到了6个触摸位置,分别为位置1、位置2、位置3、位置4、位置5、位置6,其中位置1与位置2、位置2与位置3、位置4与位置5、位置5与位置6的触摸时长间隔均不超过预设阈值,位置3与位置4的触摸时长间隔超过预设阈值,则可以将位置1、位置2、位置3连接起来,并将位置4、位置5、位置6连接起来,形成2条线条,这2条线条即为绘制出的该用户的手绘轨迹。
91.或者,上述客户端在得到了用户的手绘数据的情况下,还可以对该手绘数据进行记录,并在该用户将与该手绘数据对应的二维标识或者与该二维标识对应的三维标识分享给其他用户的情况下,将该用户的手绘数据发送给与其他用户对应的客户端。
92.相应地,上述客户端可以接收到其他用户通过其客户端分享给上述用户的与由其他用户手绘的二维标识对应的手绘数据。在这种情况下,该客户端可以调用上述图形引擎,基于接收到的该手绘数据绘制手绘轨迹,此时绘制出的该手绘轨迹实际上是其他用户的手绘轨迹。
93.在示出的一种实施方式中,上述渲染引擎具体可以是渲染引擎容器。
94.容器技术是一种内核轻量级的操作系统层虚拟化技术。以docker容器技术为例,docker是一个开源的应用容器引擎,使得可以将应用程序本身的文件和与该应用程序对应的依赖文件打包到一个可移植的镜像中,并将该镜像发布至任何运行linux操作系统或windows操作系统的设备上,以实现虚拟化。
95.对于容器而言,容器是一个相对独立的运行环境。容器完全采用沙箱(sandbox,也成为了沙盒)机制,相互之间不会有任何接口。此外,在容器内,应尽量减少对外界的影响,例如:针对容器进行资源控制,即主机不能使用容器中的所有资源。
96.容器包含一个完整的运行环境。除了应用程序本身包含的应用文件之外,运行应用程序所需要的依赖文件等都可以被打包到镜像中。通过打包应用程序本身及其依赖项,底层的操作系统和相关环境可以被抽象出来。
97.容器有一个独立的文件系统。因为容器使用系统资源,所以不需要在独立的文件系统中有内核相关的代码或工具。只要镜像中的文件集合可用,基于该镜像创建的容器就可以运行。
98.因此,可以将上述渲染引擎容器内置在上述图形引擎中。也即,上述图像处理引擎具体可以包括图形引擎,以及内置在该图形引擎中的渲染引擎容器。
99.在实际应用中,上述图形引擎可以包括oasis引擎,上述渲染引擎可以包括内置在oasis引擎中的paladin引擎容器。
100.(2)对二维标识进行三维重建
101.在示出的一种实施方式中,上述渲染引擎还可以提供用于获取上述二维标识的建模信息的api接口(下称为第二api接口)。上述图形引擎可以提供用于进行三维建模的api接口(下称为第三api接口)。
102.上述客户端在调用上述图像处理引擎对上述二维标识进行三维建模,得到与该二
维标识对应的三维标识时,具体可以先由上述图形引擎调用上述渲染引擎提供的上述第二api接口,采集上述二维标识的纹理信息,并将该纹理信息处理成用于进行三维建模的建模数据,再调用该图形引擎提供的上述第三接口,基于该建模数据进行三维建模,得到与该二维标识对应的三维标识。
103.在示出的一种实施方式中,在将上述纹理信息处理成用于进行三维建模的建模数据时,具体可以将该纹理信息转换为矢量图数据,并对转换出的该矢量图数据进行拉伸变换以生成mesh数据。
104.对于上述纹理信息而言,图像纹理中的像素通常被称为纹素,区别于屏幕上的像素。通过将投影方程应用于空间中的点,可以得到一组称为参数空间值的关于纹理的数值,然后可以使用一个或多个映射函数将参数空间值转换为纹理空间值。
105.对于上述矢量图数据而言,矢量图也称为面向对象的图像或绘图图像,是计算机图形学中用点、直线或多边形等基于数学方程的几何图元表示的图像。矢量图经过放大、缩小或旋转等操作都不会失真。
106.对于上述mesh数据而言,其是计算机图形学中用于为各种不规则物体建立模型的一种数据结构。现实世界中的物体表面直观上看都是由曲面构成的,而在计算机世界中,由于只能用离散的数据结构去模拟现实中连续的事物,现实世界中的曲面实际上在计算机世界中是由无数个小的多边形面片组成的,这些面片的集合即为mesh。
107.在实际应用中,可以基于上述渲染引擎支持的任一矢量图转换算法,将上述纹理信息转换为矢量图数据,并基于开源的javascript框架trude-geometry,对转换出的该矢量图数据进行拉伸变换以生成mesh数据。
108.相应地,在基于上述建模数据进行三维建模时,具体可以基于生成的上述mesh数据进行三维建模。
109.(3)将三维标识融合到实景画面
110.在示出的一种实施方式中,上述ar引擎可以提供用于对上述客户端拍摄到的实景画面中的预设目标进行目标检测的api接口(下称为第四api接口),以及用于对预设目标进行位置跟踪的api接口(下称为第五api接口)。其中,预设目标可以是现实世界中的物理实体,例如:人,或者桌子、花瓶、墙壁等物体。
111.在实际应用中,上述图形引擎可以包括oasis引擎,上述渲染引擎可以包括paladin引擎或内置在oasis引擎中的paladin引擎容器,上述ar引擎可以包括arsession引擎。其中,arsession引擎是一种为ar技术提供相机、目标识别、目标跟踪等功能的ar框架。
112.上述客户端在调用上述ar引擎将上述三维标识融合到该客户端拍摄到的实景画面中进行增强显示时,一方面,具体可以由上述渲染引擎调用上述ar引擎提供的上述第四api接口,对该客户端拍摄到的实景画面中的预设目标进行目标检测,并基于检测到的该预设目标在该实景画面中的位置,将该三维标识融合到该实景画面中进行增强显示。
113.另一方面,具体第一由上述渲染引擎调用上述ar引擎提供的上述第五api接口,对上述预设目标进行位置跟踪,并基于跟踪到的该预设目标的位置变化,同步调整上述三维标识在上述实景画面中的显示位置。
114.在实际应用中,也可以不对上述预设目标进行目标检测和/或位置跟踪。例如,可以直接将上述三维标识融合到上述实景画面的中心位置进行增强显示,即将该三维标识显
示在该实景画面的中心位置,并固定该三维标识在该实景画面中的显示位置。
115.在示出的一种实施方式中,上述ar平台可以是跨平台的ar引擎。在这种情况下,该ar引擎支持的代码与上述渲染引擎的原生代码所采用的编程语言可能不同。因此,该渲染引擎可以包括与该ar引擎支持的代码对应的解析器。
116.需要说明的是,arsession引擎通常是基于javascript编程语言的。也即,上述ar引擎可以包括基于javascript编程语言的arsession引擎。由于paladin引擎和oasis引擎通常不是基于javascript编程语言的,例如:paladin引擎和oasis引擎可以是基于c 编程语言的,在这种情况下,上述渲染引擎可以包括支持javascript编程语言的paladin引擎,或者内置在oasis引擎中的、支持javascript编程语言的paladin引擎容器。
117.paladin引擎或paladin引擎容器可以对arsession引擎提供的api进行绑定和适配,例如:可以通过javascript桥接(javascript bridge)或javascript binding的方式对arsession引擎提供的api进行绑定和适配,使得paladin引擎或paladin引擎容器可以调用arsession引擎提供的api接口(也可以视为arsession引擎运行在paladin引擎或paladin引擎容器中),并将与arsession引擎提供的api接口对应的javascript代码转换到native代码层来执行,而oasis引擎也可以通过paladin引擎调用arsession引擎提供的api。
118.请参考图7a、图7b,图7a、图7b分别是本说明书一示例性实施例示出的一种基于ar的互动系统的软件架构图。
119.如图7a、图7b所示,在上述图像处理引擎包括上述图形引擎和上述渲染引擎的情况下,上述ar引擎具体可以与该渲染引擎进行对接。
120.在示出的一种实施方式中,为了减轻上述客户端的计算压力,上述ar引擎可以部署在与该客户端对应的服务端上。也即,该ar引擎可以包括部署在该客户端本地的ar引擎,或者部署在与该客户端对应的服务端上的ar引擎。
121.在上述技术方案中,可以由客户端在获取到用户手绘的二维标识的情况下,先调用图像处理引擎对该二维标识进行三维重建,得到与该二维标识对应的三维标识,再调用与该图像处理引擎对接的ar引擎,将该三维标识融合到该客户端拍摄到的实景画面中进行增强显示。
122.采用上述方式,一方面,可以将用户手绘的标识以三维的形式展示给用户,提高观赏性和趣味性,提升用户体验,由此提高用户对互动的感兴趣度和参与意愿;另一方面,可以由图像处理引擎进行三维重建,而ar引擎可以直接利用该图像处理引擎得到的三维标识,融合到实景画面中进行增强显示,可以降低ar引擎的开发成本。
123.与前述基于ar的互动方法的实施例相对应,本说明书还提供了基于ar的互动装置的实施例。
124.本说明书基于ar的互动装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书基于ar的互动装置所在电子设备的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该基于ar的互动的实际功能,还可以包括其他硬件,对此不再赘述。
125.请参考图9,图9是本说明书一示例性实施例示出的一种基于ar的互动装置的框图。
126.上述基于ar的互动装置可以应用于图8所示的电子设备;该电子设备可以作为客户端;所述客户端搭载了图像处理引擎;所述图像处理引擎用于对用户手绘的二维标识进行三维建模。该装置可以包括:
127.获取模块901,获取用户手绘的二维标识;
128.第一调用模块902,调用所述图像处理引擎对获取到的所述二维标识进行三维建模,得到与所述二维标识对应的三维标识;
129.第二调用模块903,调用与所述图像处理引擎对接的ar引擎,将所述三维标识融合到所述客户端拍摄到的实景画面中进行增强显示。
130.可选地,所述图像处理引擎包括图形引擎和渲染引擎;所述渲染引擎提供了用于进行可视化渲染的第一api接口;
131.所述获取模块901:
132.调用所述图形引擎绘制所述用户的手绘轨迹;
133.所述图形引擎调用所述渲染引擎提供的所述第一api接口,对所述手绘轨迹进行可视化渲染,以生成与所述手绘轨迹对应的二维标识。
134.可选地,所述图像处理引擎包括图形引擎,以及内置在所述图形引擎中的渲染引擎容器。
135.可选地,所述获取模块901:
136.调用所述图形引擎对所述用户在所述客户端提供的绘制界面上的手绘操作进行监听,以得到所述用户的手绘数据,并基于监听到的所述手绘数据绘制所述手绘轨迹;或者,
137.接收其他用户通过其客户端分享给所述用户的与由所述其他用户手绘的二维标识对应的手绘数据,调用所述图形引擎基于接收到的所述手绘数据绘制所述手绘轨迹。
138.可选地,所述渲染引擎还提供了用于获取所述二维标识的建模信息的第二api接口;所述图形引擎提供了用于进行三维建模的第三api接口;
139.所述第一调用模块902:
140.所述图形引擎调用所述渲染引擎提供的所述第二api接口,采集所述二维标识的纹理信息,并将所述纹理信息处理成用于进行三维建模的建模数据;
141.调用所述图形引擎提供的所述第三api接口,基于所述建模数据进行三维建模,得到与所述二维标识对应的三维标识。
142.可选地,所述第一调用模块902:
143.所述图形引擎调用所述渲染引擎提供的所述第二api接口,采集所述二维标识的纹理信息,将所述纹理信息处理成矢量图数据,并对所述矢量图数据进行拉伸变换以生成mesh数据;
144.调用所述图形引擎提供的所述第三api接口,基于所述mesh数据进行三维建模,得到与所述二维标识对应的三维标识。
145.可选地,所述ar引擎提供了用于对所述客户端拍摄到的实景画面中的预设目标进行目标检测的第四api接口,以及用于对所述预设目标进行位置跟踪的第五api接口;
146.所述第二调用模块903:
147.所述渲染引擎调用所述ar引擎提供的所述第四api接口,对所述客户端拍摄到的实景画面中的预设目标进行目标检测,并基于检测到的所述预设目标在所述实景画面中的位置,将所述三维标识融合到所述实景画面中进行增强显示;
148.所述渲染引擎调用所述ar引擎提供的所述第五api接口,对所述预设目标进行位置跟踪,并基于跟踪到的所述预设目标的位置变化,同步调整所述三维标识在所述实景画面中的显示位置。
149.可选地,所述ar引擎为跨平台的ar引擎;所述渲染引擎包括与所述ar引擎支持的代码对应的解析器。
150.可选地,所述图形引擎包括oasis引擎;所述渲染引擎包括支持javascript编程语言的paladin引擎,或者内置在所述oasis引擎中的paladin引擎容器;所述ar引擎包括基于javascript编程语言的arsession引擎。
151.可选地,所述ar引擎包括部署在所述客户端本地的ar引擎,或者部署在与所述客户端对应的服务端上的ar引擎。
152.对于装置实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
153.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书的技术方案的目的。
154.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
155.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
156.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
157.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
158.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
159.上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
160.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
161.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
162.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献