CN108805989B - 场景穿越的方法、装置、存储介质和终端设备 - Google Patents
场景穿越的方法、装置、存储介质和终端设备 Download PDFInfo
- Publication number
- CN108805989B CN108805989B CN201810687794.1A CN201810687794A CN108805989B CN 108805989 B CN108805989 B CN 108805989B CN 201810687794 A CN201810687794 A CN 201810687794A CN 108805989 B CN108805989 B CN 108805989B
- Authority
- CN
- China
- Prior art keywords
- virtual
- image
- shuttle
- scene
- door
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Closed-Circuit Television Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出一种场景穿越的方法、装置、存储介质和终端设备,其中,所述方法包括:响应用户终端的场景穿梭请求,启动所述用户终端的摄像机拍摄现实场景和获取拍摄所述现实场景时所述用户终端的空间位置;其中,所述场景穿梭请求包括虚拟场景;根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置;以及根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景。采用本发明,可以通过虚拟穿梭门在现实场景和虚拟场景之间来回穿越。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种场景穿越的方法、装置、存储介质和终端设备。
背景技术
随着计算机技术的发展,虚拟现实和增强现实技术广泛地运用在图像或视频交互的领域中。例如,用户可以通过VR(Virtual Reality,虚拟现实)眼镜观看显示器上的显示的图像内容,以体验真实世界或虚拟世界。或者,用户可以通过HMD(Head Mount Display,头戴可视设备)的显示器观看真实世界或虚拟世界。
在web网页内容展示中,三维的网页内容与二维的网页内容相比,具有更加生动丰富的视觉信息,能给用户带来身临其境的体验。那么,如何在web网页内容展示的过程中实现真实世界场景与虚拟世界场景之间的过渡和切换是目前亟需解决的问题。
发明内容
本发明实施例提供一种场景穿越的方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。
第一方面,本发明实施例提供了一种场景穿越的方法,包括:
响应用户终端的场景穿梭请求,启动所述用户终端的摄像机拍摄现实场景和获取拍摄所述现实场景时所述用户终端的空间位置;其中,所述场景穿梭请求包括虚拟场景;
根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置;以及
根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景。
结合第一方面,在第一方面的第一种实施方式中,根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景,包括:
当所述虚拟穿梭门的显示位置处于所述现实场景的帧图像之内时,确定在所述用户终端显示所述现实场景的帧图像并在所述显示位置上显示所述虚拟穿梭门的门图像;以及
当所述虚拟穿梭门的显示位置超出所述现实场景的帧图像的范围时,确定在所述用户终端显示所述虚拟场景。
结合第一方面,在第一方面的第二种实施方式中,所述方法还包括:
根据所述现实场景的各帧图像和拍摄所述各帧图像时所述用户终端的各空间位置,过滤非稳定拍摄到的帧图像。
结合第一方面,在第一方面的第三种实施方式中,所述根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置,包括:
从所述现实场景的首帧图像中圈定预设区域的图像,作为所述虚拟穿梭门的门图像;
根据所述虚拟穿梭门在所述首帧图像中的平面位置和拍摄所述首帧图像时所述用户终端的空间位置,计算所述虚拟穿梭门在所述首帧图像中的三维空间位置;以及
将所述虚拟穿梭门在所述首帧图像中的三维空间位置,作为所述虚拟穿梭门的初始显示位置。
结合第一方面第三种实施方式,在第一方面的第四种实施方式中,所述根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置,包括:
对于所述现实场景的非首帧的各帧图像,将所述帧图像与所述虚拟穿梭门的门图像进行比对,获得所述虚拟穿梭门在所述帧图像中的平面位置;
根据所述虚拟穿梭门在所述帧图像中的平面位置和拍摄所述帧图像时所述用户终端的空间位置,计算所述虚拟穿梭门在所述帧图像中的三维空间位置;以及
将所述虚拟穿梭门在所述帧图像中的三维空间位置,作为所述虚拟穿梭门的显示位置。
结合第一方面第四种实施方式,在第一方面的第五种实施方式中,将所述帧图像与所述虚拟穿梭门的初始门图像进行比对的过程,包括:
判断所述帧图像是否包括所述虚拟穿梭门的门图像;
当所述帧图像的图像内容包括所述虚拟穿梭门的门图像时,获取所述虚拟穿梭门在所述帧图像中的平面位置;
当所述帧图像的图像内容不包括所述虚拟穿梭门的门图像时,根据所述帧图像与所述门图像之间的包含关系,重新确定所述虚拟穿梭门。
结合第一方面第五种实施方式,在第一方面的第六种实施方式中,所述根据所述帧图像与所述门图像之间的包含关系,重新确定所述虚拟穿梭门,包括:
判断所述虚拟穿梭门的门图像的图像内容是否包括所述帧图像;
当所述虚拟穿梭门的门图像的图像内容包括所述帧图像时,获取所述虚拟穿梭门相对于所述帧图像的平面位置;以及
当所述帧图像的图像内容不包括所述虚拟穿梭门的门图像,且所述虚拟穿梭门的门图像的图像内容不包括所述帧图像时,从所述帧图像中圈定所述预设区域的图像作为所述虚拟穿梭门的门图像,并获取所述虚拟穿梭门在所述帧图像中的平面位置。
结合第一方面及其任一种实施方式,在第一方面的第七种实施方式中,所述虚拟穿梭门的结构包括矩形结构,以及所述矩形结构的虚拟穿梭门的显示位置包括矩形的四个顶点坐标。
第二方面,本发明实施例提供一种场景穿越的装置,包括:
现实信息获取模块,用于响应用户终端的场景穿梭请求,启动所述用户终端的摄像机拍摄现实场景和获取拍摄所述现实场景时所述用户终端的空间位置;其中,所述场景穿梭请求包括虚拟场景;
穿梭门确定模块,用于根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置;以及
场景确定模块,用于根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景。
结合第二方面,在第二方面的第一种实施方式中,所述场景确定模块包括:
现场场景确定单元,用于当所述虚拟穿梭门的显示位置处于所述现实场景的帧图像之内时,确定在所述用户终端显示所述现实场景的帧图像并在所述显示位置上显示所述虚拟穿梭门的门图像;
虚拟场景确定单元,用于当所述虚拟穿梭门的显示位置超出所述现实场景的帧图像的范围时,确定在所述用户终端显示所述虚拟场景。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,场景穿越的结构中包括处理器和存储器,所述存储器用于场景穿越的装置执行上述第一方面中场景穿越的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述场景穿越的装置还可以包括通信接口,用于场景穿越的装置与其他设备或通信网络通信。
第三方面,本发明实施例还提供一种计算机可读存储介质,用于存储场景穿越的装置所用的计算机软件指令,其中包括用于执行上述第一方面的场景穿越的方法所涉及的程序。
上述技术方案中的任一个技术方案具有如下优点或有益效果:
本发明实施例实时获取用户终端拍摄到的现实场景和用户终端的空间位置,随着用户终端的空间位置的变化,用户终端拍摄到的现实场景也随之变化。与此同时,确定虚拟穿梭门的门图像和显示位置,可以设定一个虚拟地可以与现实场景的相融合的穿梭门。随着用户终端的移动,用户可以体验到通过穿梭门在现实场景与虚拟场景之间穿梭。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1是本发明提供的场景穿越的方法的一个实施例的流程示意图;
图2是本发明提供的确定终端显示场景的过程的一个实施例的流程示意图;
图3是本发明提供的场景穿越以双目模式显示的一个实施例的流程示意图;
图4-1是本发明提供的虚拟穿梭门的初始化过程的一个实施例的流程示意图;
图4-2是本发明提供的现实场景的首帧图像和虚拟穿梭门的初始门图像的位置示意图;
图4-3是本发明提供的现实场景的帧图像和虚拟穿梭门的初始门图像的位置示意图;
图5是本发明提供的虚拟穿梭门的位置计算过程的一个实施例的结构示意图;
图6-1和图6-2是本发明提供的场景穿越的方法的应用实例的示意图;
图7是本发明提供的场景穿越的装置的一个实施例的结构示意图;
图8是本发明提供的场景穿越的装置的场景确定模块的一个实施例的结构图;
图9是本发明提供的终端设备的一个实施例的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
请参阅图1,本发明实施例提供了一种场景穿越的方法,可以应用于用户终端,可以包括智能手机、平板等移动电子设备,或者类似HMD的头戴可视设备。本实施例包括步骤S100至步骤S300,具体如下:
S100,响应用户终端的场景穿梭请求,启动用户终端的摄像机拍摄现实场景和获取拍摄现实场景时用户终端的空间位置;其中,场景穿梭请求包括虚拟场景。
在本实施例中,可以响应用户在用户终端上的操作,例如,启用用户终端的浏览器的VR模式,触发场景穿梭请求。此时,用户终端可以启用摄像机开始拍摄现实场景,并可以获取用户终端的传感器上的数据,以获知用户终端的空间位置。例如,web浏览器可以通过webRTC(Web Real-Time Communication,网页实时通信)技术中获取摄像机的视频数据。web浏览器的web技术传感器接口可以获取用户终端的传感器的信息。其中,传感器可以包括位置传感器和运动传感器等。运动传感器用于监测终端的运动,比如倾斜、震动、摇摆等,可以包括加速度计、陀螺仪、重力感应器、线性加速度计、旋转向量传感器等。运动传感器用于监测终端的位置,例如相对世界坐标系统的位置,可以包括地磁传感器、接近传感器和方向传感器等。
S200,根据现实场景和拍摄现实场景时用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置。
在本实施例中,虚拟穿梭门的显示位置可以是相对于现实场景的显示位置。虚拟穿梭门的显示位置可以衡量用户相对于现实场景的位置,例如用户可以通过控制用户终端的移动以不断地靠近现实场景,用户在视觉上,会感觉到虚拟穿梭门是不断放大的。
S300,根据虚拟穿梭门的门图像和显示位置,以及现实场景,确定在用户终端显示的现实场景或虚拟场景。
在本实施例中,以用户终端为智能手机为例,用户可以在智能手机中打开浏览器,在浏览器中打开目标网页,例如,可以提供场景穿梭服务的网页。然后,用户可以将智能手机放置于类似cardboard眼镜(纸盒眼镜,是谷歌开发一款VR眼镜)的VR眼镜中,用户戴上cardboard眼镜,随着用户的走动,即可以在网页中体验现实场景与虚拟场景之间的穿梭。同时,智能手机的传感器获取智能手机的空间位置的信息,可以包括手机所处的三维坐标、手机移动的角度等信息。
在本实施例中,当浏览器刚启动的时候,在用户终端上可以默认显示的现实场景。并且,还可以将虚拟穿梭门的门图像也同时显示在现实场景中。以用户的位置为原点,随着用户终端向前移动,虚拟穿梭门在当前显示的现实场景中不断放大,用户可以感受到向虚拟穿梭门走近的体验。虚拟穿梭门无法在现实场景中显示时,用户终端显示虚拟场景,从而用户可以通过在终端上控制虚拟穿梭门的显示状态,为用户提供在现实场景与虚拟场景之间穿梭的视觉感受。
在一种可能的实现方式中,如图2所示,上述步骤S300中的确定终端显示场景的过程,包括步骤S310和步骤S320,可以如下:
S310,当虚拟穿梭门的显示位置处于现实场景的帧图像之内时,确定在用户终端显示现实场景的帧图像并在显示位置上显示虚拟穿梭门的门图像。
在本实施例中,用户终端的摄像机所拍摄的现实场景可以包括多个具有一定时序的帧图像。用户终端在显示现实场景时可以一帧一帧地显示这些帧图像。每一帧对应一个虚拟穿梭门的门图像和门图像的显示位置。虚拟穿梭门可以是矩形、圆形、菱形等结构。以矩形结构为例,矩形包括四个顶点,虚拟穿梭门的显示位置包括矩形的四个顶点的坐标。另一方面,现实场景的帧图像显示在用户终端的显示器,帧图像的显示也需要显示坐标。因而,若矩形的四个顶点的坐标均包含在现实场景的帧图像的显示坐标之内,则可以认为虚拟穿梭门的显示位置处于现实场景的帧图像之内。
S320,当虚拟穿梭门的显示位置超出现实场景的帧图像的范围时,确定在用户终端显示虚拟场景。
接上例,若矩形的四个顶点的坐标均没有落在现实场景的帧图像的显示坐标之内,则可以认为虚拟穿梭门的显示位置超出现实场景的帧图像的范围。此时,可以判定进入了虚拟场景中,在用户终端中显示虚拟场景。本实施例的场景显示可以在用户终端的web浏览器中展示,也可以在web浏览器中启用双目模式来呈现要展示的内容,例如可以利用JS代码(Javascript)提供的插件webvr-polyfill.js来实现双目模式。其提供VR相关的应用程序编程接口。双目模式的效果可以参见图3。图3中的3D(三维)全景景象为虚拟场景,真实景象为现实场景。
在一种可能的实施方式,由于用户终端拍摄现实场景时,用户终端会随用户的行为而移动,有可能存在拍摄到的图像不稳定的情况,例如模糊的图像或抖动的图像。因而,本实施例可以根据现实场景的各帧图像和拍摄各帧图像时用户终端的各空间位置,过滤非稳定拍摄到的帧图像。例如,可以采用机器学习的算法模型进行过滤。
在一种可能的实现方式中,如图4-1所示,上述步骤S200可以包括虚拟穿梭门的初始化过程,可以包括步骤S210至步骤S230,具体如下:
S210,从现实场景的首帧图像中圈定预设区域的图像,作为虚拟穿梭门的门图像。需要说明的是,此处的首帧图像应该是稳定拍摄到的帧图像。
在本实施例中,预设区域可以包括帧图像中的中间位置、偏左位置或偏右位置等。例如,如图4-2所示,可以从首帧图像211中圈定提取虚拟穿梭门212的门图像,作为虚拟穿梭门212的初始门图像。由于首帧图像的平面显示坐标是确定,因而可以在圈定了门图像的同时获取虚拟穿梭门在首帧图像中的平面位置。例如,以矩形的虚拟穿梭门为例,平面位置可以包括门的四个顶点的平面二维坐标。
S220,根据虚拟穿梭门在首帧图像中的平面位置和拍摄首帧图像时用户终端的空间位置,计算虚拟穿梭门在首帧图像中的三维空间位置。
S230,将虚拟穿梭门在首帧图像中的三维空间位置,作为虚拟穿梭门的初始显示位置。
在本实施例中,为了给用户展现三维场景,用户终端显示的帧图像时可以根据图像的三维坐标进行显示。与之相呼应,虚拟穿梭门的显示也需要三维坐标。其中,基于用户终端所处的空间角度和虚拟穿梭门的二维坐标,可以确定虚拟穿梭门的三维空间坐标,即虚拟穿梭门在首帧图像中的三维空间位置。
在本实施例中,确定虚拟穿梭门的初始门图像,可以方便后续捕捉每一帧图像的门的显示位置。
在一种可能的实施方式,如图5所示,上述步骤S200可以包括虚拟穿梭门在非首帧图像中的位置捕捉过程,可以包括步骤S240至步骤S260,具体如下:
S240,对于现实场景的非首帧的各帧图像,将帧图像与虚拟穿梭门的门图像进行比对,获得虚拟穿梭门在帧图像中的平面位置。
在本实施例中,帧图像在浏览器中以二进制图像数据表示,则可以将帧图像的二进制图像数据与虚拟穿梭门的初始门图像的二进制图像数据进行比较,确定帧图像的哪一区域的二进制图像数据包含了初始门图像的二进制图像数据,然后将该区域对应的显示位置作为虚拟穿梭门在帧图像中的平面位置。
示例性,用户终端的移动,当前拍摄到的帧图像已变为图4-3中的213。由于门图像212的图像内容不变,可以在当前帧图像中定位门图像的图像内容,进而确定虚拟穿梭门在帧图像中的平面位置。例如,可以对比图4-2和图4-3可知。
S250,根据虚拟穿梭门在帧图像中的平面位置和拍摄帧图像时用户终端的空间位置,计算虚拟穿梭门在帧图像中的三维空间位置。
S260,将虚拟穿梭门在帧图像中的三维空间位置,作为虚拟穿梭门的显示位置。
在本实施例中,步骤S250~S260与步骤S220~S230所达到的技术效果类似,在此不再一一赘述。
在一种可能的实现方式中,如果帧图像的图像内容不包括虚拟穿梭门的图像内容,则无法定位虚拟穿梭门在帧图像中的内容。因而,在帧图像与虚拟穿梭门的初始门图像进行比对的过程,可以包括:首先,判断帧图像是否包括虚拟穿梭门的门图像。当帧图像的图像内容包括虚拟穿梭门的门图像时,获取虚拟穿梭门在帧图像中的平面位置。此时可以定位到虚拟穿梭门的门图像在帧图像的图像内容中的位置,以该定位的位置作为虚拟穿梭门在帧图像中的平面位置。另外,当帧图像的图像内容不包括虚拟穿梭门的门图像时,根据帧图像与门图像之间的包含关系,重新确定虚拟穿梭门。在本实施例中重新确定虚拟穿梭门包括:是否需要重新确定虚拟穿梭门的门图像,以及重确定虚拟穿梭门的显示位置。
在一种可能的实现方式,重新确定虚拟穿梭门的过程,可以包括:首先判断虚拟穿梭门的门图像的图像内容是否包括帧图像。当虚拟穿梭门的门图像的图像内容包括帧图像时,说明此时用户向现实场景走近,走了一段之后进入到虚拟穿梭门,此时拍摄的帧图像应该是门图像的一部分,而门图像为首帧图像的一部分。因而,可以基于当前的帧图像,获取虚拟穿梭门相对于帧图像的平面位置。另一方面,当帧图像的图像内容不包括虚拟穿梭门的门图像,且虚拟穿梭门的门图像的图像内容不包括帧图像时,例如,用户终端不打算向虚拟穿梭门走近,仅是左右平移。或者,用户终端被移去其他的现实场景中。此时,需要用户从当前的帧图像中圈定预设区域的图像作为虚拟穿梭门的门图像,并获取虚拟穿梭门在帧图像中的平面位置。在本实施例中,预设区域可以是帧图像中的中间位置。
参见图6-1和图6-2,其是本发明实施例提供的场景穿越的应用实例的示意图。本应用实例基于web技术实现,应用于网页浏览中。本应用实例的应用场景可以是:用户可以在智能手机的浏览器中打开目标网页后,将智能手机放置于类似cardboard等VR眼镜中,并启动浏览器的VR模式。此时,智能手机将摄像机拍摄到真实世界的场景显示在智能手机中,用户可以透过VR眼镜在智能手机呈现的现实场景中看到一扇时空穿梭门(上述的虚拟穿梭门)。从用户的体验视觉中可以发现,时空穿梭门是在现实场景的空间的固定位置中的一个虚拟的并可以与现实场景相融合的门。用户可以通过移动其自身位置,带动智能手机的移动。用户可以感觉其走进时间空梭门,可以穿越时空穿梭门到达虚拟世界的场景,以及也可以穿越时间穿梭门返回到真实世界,实现反穿越,效果如图3所示。
结合上述应用场景,本应用实例的场景穿越的实现方法的流程图可以如图6-1所示,模块的处理流程包括:
1、智能手机的web浏览器可以通过webRTC技术,获取摄像机的视频流数据,并将视频流数据传递到信息计算模块。
2、通过web浏览器的web技术传感器接口,获取智能手机的空间坐标信息以及空间角度信息,并将智能手机的空间坐标信息以及空间角度信息传递到信息计算模块。
3、在信息计算模块中的计算过程,需要初始化穿梭门,方便后续的门位置计算。信息计算模块的计算过程可以包括:
第一步:穿梭门marker(标记)初始化。穿梭门marker的图像内容是定位识别需要的标记物,可以从摄像头输出的现实场景的帧图像中圈定获取的,例如:圈定帧图像的中间位置的图像内容。也可以通过云端的人工智能接口对现实场景的帧图像进行处理,返回相应的图像内容,作为穿梭门marker的图像内容。与此同时,可以确定穿梭门marker的初始位置。例如,穿梭门可以是矩形结构,穿梭门可以包括矩形结构的四个顶点的平面坐标。其中,穿梭门marker的图像内容可以以二进制的图像数据表示以及传输。
第二步:捕捉每一帧图像对应的穿梭门marker。在智能手机移动时,可以通过web浏览器的图形图像处理CV库(Computer VisionLibrary,计算机视觉库),对摄像头实时传递的视频内容进行识别。将视频的每一帧的二进制图像数据与穿梭门marker的图像的二进制图像数据比对,识别穿梭门marker的图像,并将识别到的穿梭门marker的图像在视频的帧图像中的位置,作为穿梭门marker平面坐标。如果在视频的帧图像中识别不到穿梭门marker的图像,可以通过传感器的传递来的信息和云端的人工智能接口进行辅助计算,校正穿梭门marker的信息。将捕捉到的每一帧图像对应的穿梭门marker的平面坐标传递到下一步。
第三步:计算门信息。基于穿梭门marker的四个点的平面坐标,可以结合传感器传递来的智能手机的空间角度信息,计算得到穿梭门marker显示所需要的三维空间位置信息。将穿梭门marker的三维空间位置信息传递到下一步(展现模块)。
4、当穿梭门marker的三维空间位置信息传递到展现模块,展现模块可以通过webGL(Web-based Graphics Language,基于web的图形语言)接口根据穿梭门marker四个顶点的三维空间位置的坐标和穿梭门的门图像进行web页面上的3D(三维)门绘制,并绘制在浏览器canvas(画布)标签上。然后,将摄像头视频流实时输出到底层,具体如图6-2。从用户的体验来看,仿佛一扇门置于真实世界中。
5、展现模块计算穿梭门marker的四个顶点是否处于摄像到的帧图像的范围之内。若穿梭门的四个顶点的坐标超出摄像机的可视空间范围,即不处于摄像到的帧图像的范围之内,认为用户看到场景进入了虚拟场景。此时,调用场景切换模块执行下一步,进行虚拟场景的渲染;若穿梭门的四个顶点的坐标均没超出摄像机的可视空间范围,即处理摄像到的帧图的范围之内,返回执行上一步。
6、展现模块的虚拟场景渲染。通过web浏览器的webGL接口将全景数据或者3D场景渲染在网页中,并将摄像机的视角置于场景之中,使得用户通过浏览器看到其呈现的虚拟场景,仿佛置身于虚拟场景之中。
7、通过web浏览器的webvr-polyfill.js工具,将浏览器的内容以双目模式呈现,效果如图3所示。
如此,基于上述流程,用户可以体验到:通过一扇介于现实场景与虚拟场景之间的穿梭门进行现实场景与虚拟场景的切换。
如图7所示,本发明实施例提供一种场景穿越的装置,包括:
现实信息获取模块100,用于响应用户终端的场景穿梭请求,启动所述用户终端的摄像机拍摄现实场景和获取拍摄所述现实场景时所述用户终端的空间位置;其中,所述场景穿梭请求包括虚拟场景;
穿梭门确定模块200,用于根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置;以及
场景确定模块300,用于根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景。
结合第二方面,在第二方面的第一种实施方式中,如图8所示,所述场景确定模块300包括:
现场场景确定单元310,用于当所述虚拟穿梭门的显示位置处于所述现实场景的帧图像之内时,确定在所述用户终端显示所述现实场景的帧图像并在所述显示位置上显示所述虚拟穿梭门的门图像;
虚拟场景确定单元320,用于当所述虚拟穿梭门的显示位置超出所述现实场景的帧图像的范围时,确定在所述用户终端显示所述虚拟场景。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,场景穿越的结构中包括处理器和存储器,所述存储器用于场景穿越的装置执行上述第一方面中场景穿越的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述场景穿越的装置还可以包括通信接口,用于场景穿越的装置与其他设备或通信网络通信。
本发明实施例还提供一种终端设备,如图9所示,该设备包括:存储器21和处理器22,存储器21内存储有可在处理器22上的计算机程序。处理器22执行计算机程序时实现上述实施例中的场景穿越的方法。存储器21和处理器22的数量可以为一个或多个。
该设备还包括:
通信接口23,用于处理器22与外部设备之间的通信。
存储器21可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
如果存储器21、处理器22和通信接口23独立实现,则存储器21、处理器22和通信接口23可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器21、处理器22及通信接口23集成在一块芯片上,则存储器21、处理器22及通信接口23可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种场景穿越的方法,其特征在于,包括:
响应用户终端的场景穿梭请求,启动所述用户终端的摄像机拍摄现实场景和获取拍摄所述现实场景时所述用户终端的空间位置;其中,所述场景穿梭请求包括虚拟场景;
根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置;以及
根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景;
其中,根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置,包括:
从所述现实场景的首帧图像中圈定提取预设区域的图像,作为所述虚拟穿梭门的初始门图像,并得到所述初始门图像在所述首帧图像中的平面位置;
根据所述初始门图像在所述首帧图像中的平面位置和拍摄所述首帧图像时所述用户终端的空间位置,计算所述虚拟穿梭门在所述首帧图像中的三维空间位置;
将所述虚拟穿梭门在所述首帧图像中的三维空间位置,作为所述虚拟穿梭门的初始显示位置;
对于所述现实场景的非首帧的各帧图像,将所述帧图像的二进制图像数据与所述初始门图像的二进制图像数据进行比较,确定出所述帧图像的目标区域的二进制图像数据包含了初始门图像的二进制图像数据,将所述目标区域对应的显示位置作为所述虚拟穿梭门在所述帧图像中的平面位置;
根据所述虚拟穿梭门在所述帧图像中的平面位置和拍摄所述帧图像时所述用户终端的空间位置,计算所述虚拟穿梭门在所述帧图像中的三维空间位置;以及
将所述虚拟穿梭门在所述帧图像中的三维空间位置,作为所述虚拟穿梭门的显示位置。
2.如权利要求1所述的场景穿越的方法,其特征在于,根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景,包括:
当所述虚拟穿梭门的显示位置处于所述现实场景的帧图像之内时,确定在所述用户终端显示所述现实场景的帧图像并在所述显示位置上显示所述虚拟穿梭门的门图像;以及
当所述虚拟穿梭门的显示位置超出所述现实场景的帧图像的范围时,确定在所述用户终端显示所述虚拟场景。
3.如权利要求1所述的场景穿越的方法,其特征在于,所述方法还包括:
根据所述现实场景的各帧图像和拍摄所述各帧图像时所述用户终端的各空间位置,过滤非稳定拍摄到的帧图像。
4.如权利要求1所述的场景穿越的方法,其特征在于,将所述帧图像与所述虚拟穿梭门的初始门图像进行比对的过程,包括:
判断所述帧图像是否包括所述虚拟穿梭门的门图像;
当所述帧图像的图像内容包括所述虚拟穿梭门的门图像时,获取所述虚拟穿梭门在所述帧图像中的平面位置;以及
当所述帧图像的图像内容不包括所述虚拟穿梭门的门图像时,根据所述帧图像与所述门图像之间的包含关系,重新确定所述虚拟穿梭门。
5.如权利要求4所述的场景穿越的方法,其特征在于,所述根据所述帧图像与所述门图像之间的包含关系,重新确定所述虚拟穿梭门,包括:
判断所述虚拟穿梭门的门图像的图像内容是否包括所述帧图像;
当所述虚拟穿梭门的门图像的图像内容包括所述帧图像时,获取所述虚拟穿梭门相对于所述帧图像的平面位置;以及
当所述帧图像的图像内容不包括所述虚拟穿梭门的门图像,且所述虚拟穿梭门的门图像的图像内容不包括所述帧图像时,从所述帧图像中圈定所述预设区域的图像作为所述虚拟穿梭门的门图像,并获取所述虚拟穿梭门在所述帧图像中的平面位置。
6.如权利要求1至5任一项所述的场景穿越的方法,其特征在于,所述虚拟穿梭门的结构包括矩形结构,以及所述矩形结构的虚拟穿梭门的显示位置包括矩形的四个顶点坐标。
7.一种场景穿越的装置,其特征在于,包括:
现实信息获取模块,用于响应用户终端的场景穿梭请求,启动所述用户终端的摄像机拍摄现实场景和获取拍摄所述现实场景时所述用户终端的空间位置;其中,所述场景穿梭请求包括虚拟场景;
穿梭门确定模块,用于根据所述现实场景和拍摄所述现实场景时所述用户终端的空间位置,确定虚拟穿梭门的门图像和显示位置;以及
场景确定模块,用于根据所述虚拟穿梭门的门图像和显示位置,以及所述现实场景,确定在所述用户终端显示的现实场景或虚拟场景;
其中,所述穿梭门确定模块具体用于:
从所述现实场景的首帧图像中圈定提取预设区域的图像,作为所述虚拟穿梭门的初始门图像,并得到所述初始门图像在所述首帧图像中的平面位置;
根据所述初始门图像在所述首帧图像中的平面位置和拍摄所述首帧图像时所述用户终端的空间位置,计算所述虚拟穿梭门在所述首帧图像中的三维空间位置;
将所述虚拟穿梭门在所述首帧图像中的三维空间位置,作为所述虚拟穿梭门的初始显示位置;
对于所述现实场景的非首帧的各帧图像,将所述帧图像的二进制图像数据与所述初始门图像的二进制图像数据进行比较,确定出所述帧图像的目标区域的二进制图像数据包含了初始门图像的二进制图像数据,将所述目标区域对应的显示位置作为所述虚拟穿梭门在所述帧图像中的平面位置;
根据所述虚拟穿梭门在所述帧图像中的平面位置和拍摄所述帧图像时所述用户终端的空间位置,计算所述虚拟穿梭门在所述帧图像中的三维空间位置;以及
将所述虚拟穿梭门在所述帧图像中的三维空间位置,作为所述虚拟穿梭门的显示位置。
8.如权利要求7所述的场景穿越的装置,其特征在于,所述场景确定模块包括:
现场场景确定单元,用于当所述虚拟穿梭门的显示位置处于所述现实场景的帧图像之内时,确定在所述用户终端显示所述现实场景的帧图像并在所述显示位置上显示所述虚拟穿梭门的门图像;以及
虚拟场景确定单元,用于当所述虚拟穿梭门的显示位置超出所述现实场景的帧图像的范围时,确定在所述用户终端显示所述虚拟场景。
9.一种实现场景穿越的终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的场景穿越的方法。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的场景穿越的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810687794.1A CN108805989B (zh) | 2018-06-28 | 2018-06-28 | 场景穿越的方法、装置、存储介质和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810687794.1A CN108805989B (zh) | 2018-06-28 | 2018-06-28 | 场景穿越的方法、装置、存储介质和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108805989A CN108805989A (zh) | 2018-11-13 |
CN108805989B true CN108805989B (zh) | 2022-11-11 |
Family
ID=64071013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810687794.1A Active CN108805989B (zh) | 2018-06-28 | 2018-06-28 | 场景穿越的方法、装置、存储介质和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108805989B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275617A (zh) * | 2019-06-21 | 2019-09-24 | 姚自栋 | 混合现实场景的切换方法及系统、存储介质及终端 |
CN110764614B (zh) * | 2019-10-15 | 2021-10-08 | 北京市商汤科技开发有限公司 | 增强现实数据呈现方法、装置、设备及存储介质 |
CN110968194A (zh) * | 2019-11-28 | 2020-04-07 | 北京市商汤科技开发有限公司 | 交互对象的驱动方法、装置、设备以及存储介质 |
CN112933606B (zh) * | 2021-03-16 | 2023-05-09 | 天津亚克互动科技有限公司 | 游戏场景转换方法及装置、存储介质、计算机设备 |
CN114265496A (zh) * | 2021-11-30 | 2022-04-01 | 歌尔光学科技有限公司 | Vr场景的切换方法、装置、vr头戴设备及存储介质 |
CN114461064B (zh) * | 2022-01-21 | 2023-09-15 | 北京字跳网络技术有限公司 | 虚拟现实交互方法、装置、设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107274431A (zh) * | 2017-03-07 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 视频内容增强方法及装置 |
CN106896925A (zh) * | 2017-04-14 | 2017-06-27 | 陈柳华 | 一种虚拟现实与真实场景融合的装置 |
CN107220652B (zh) * | 2017-05-31 | 2020-05-01 | 北京京东尚科信息技术有限公司 | 用于处理图片的方法和装置 |
CN107633526B (zh) * | 2017-09-04 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 一种图像跟踪点获取方法及设备、存储介质 |
CN108089701A (zh) * | 2017-12-07 | 2018-05-29 | 北京奇虎科技有限公司 | 一种虚拟现实vr场景的展示方法和装置 |
-
2018
- 2018-06-28 CN CN201810687794.1A patent/CN108805989B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108805989A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805989B (zh) | 场景穿越的方法、装置、存储介质和终端设备 | |
CN108830894B (zh) | 基于增强现实的远程指导方法、装置、终端和存储介质 | |
CN109743892B (zh) | 虚拟现实内容的显示方法和装置 | |
JP2022537614A (ja) | マルチ仮想キャラクターの制御方法、装置、およびコンピュータプログラム | |
KR102461232B1 (ko) | 화상 처리 방법 및 장치, 전자 디바이스, 및 저장 매체 | |
JP7392105B2 (ja) | 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体 | |
EP3128413A1 (en) | Sharing mediated reality content | |
KR102374404B1 (ko) | 콘텐트를 제공하기 위한 디바이스 및 방법 | |
CN109448050B (zh) | 一种目标点的位置的确定方法及终端 | |
US11044398B2 (en) | Panoramic light field capture, processing, and display | |
WO2022022449A1 (zh) | 用于空间定位的方法和装置 | |
CN108629799B (zh) | 一种实现增强现实的方法及设备 | |
CN109840946B (zh) | 虚拟对象显示方法及装置 | |
CN110262763B (zh) | 基于增强现实的显示方法和装置以及存储介质和电子设备 | |
JP2016122392A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
CN114531553B (zh) | 生成特效视频的方法、装置、电子设备及存储介质 | |
CN111862349A (zh) | 虚拟画笔实现方法、装置和计算机可读存储介质 | |
KR102517205B1 (ko) | 2d 디스플레이 디바이스 상에, 광 필드 데이터로부터 유도되는 콘텐츠를 디스플레이하기 위한 방법 | |
CN110520902B (zh) | 对图像应用动态效果的方法及装置 | |
KR20200116224A (ko) | 시점 변환을 이용하는 360도 영상 저장 방법 및 렌더링 방법 | |
CN115543138A (zh) | 显示控制方法和装置、增强现实头戴设备及介质 | |
JP2019144958A (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN112308981A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
JP6376251B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
KR20210076615A (ko) | 영상 정보 제공 방법 및 장치 |
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 |