CN110728755A - 场景间漫游、模型拓扑创建、场景切换方法及系统 - Google Patents
场景间漫游、模型拓扑创建、场景切换方法及系统 Download PDFInfo
- Publication number
- CN110728755A CN110728755A CN201810778000.2A CN201810778000A CN110728755A CN 110728755 A CN110728755 A CN 110728755A CN 201810778000 A CN201810778000 A CN 201810778000A CN 110728755 A CN110728755 A CN 110728755A
- Authority
- CN
- China
- Prior art keywords
- panorama
- roaming
- information
- scene
- model topology
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种场景间漫游、模型拓扑创建、场景切换方法及系统。其中,场景间漫游的方法包括如下的步骤:获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种场景间漫游、模型拓扑创建、场景切换方法及系统。
背景技术
基于全景图的虚拟显示系统由于具有硬件要求低、真实感较好等优点,目前正越来越广泛地应用在各个领域。全景图技术是一种虚拟现实技术,它可模拟用户处于真实场景某一位置的现场视觉感受,沉浸感强烈,给用户带来身临其境的用户体验。
比如,目前应用较为广泛的样板间全景图展示。样板间使用的是单纯的立方体模型或者球模型,通过将全景图作为纹理贴图贴到立方体模型或球模型上,并将采集设备置于模型的中心位置,从而实现全景图的展示。由于这种方案没有整体的样板间模型,场景和场景之间相互独立。切换的时候只能进行纹理的淡入淡出,用户体验不够完善,并且缺乏样板间的展示效果。
发明内容
鉴于上述问题,提出了本申请以解决上述问题或至少部分地解决上述问题的场景间漫游、模型拓扑创建、场景切换方法及系统。
于是,在本申请的一个实施例中,提供了一种场景间漫游的方法。该方法包括:
获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
在本申请的另一个实施例中,提供了一种用于场景切换的模型拓扑创建方法。该方法,包括:
创建所述模型拓扑;
获取分别在至少两个取景点采集到的至少两个全景图;
分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;
分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
在本申请的又一个实施例中,提供了一种场景切换方法。该方法,包括:
显示第一漫游场景;
响应于用户触发的场景切换事件,播放场景切换漫游动图;
播放完场景切换漫游动图后,显示所述场景切换事件指向的第二漫游场景。
在本申请的又一个实施例中,提供了一种场景间漫游的方法。该方法,适于服务端,其包括:
接收到客户端发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
将所述场景切换漫游动图反馈至所述客户端,以由客户端在显示所述第二全景图信息对应的第二漫游场景之前播放所述场景切换漫游动图。
在本申请的又一个实施例中,提供了一种场景间漫游的方法。该方法,适于客户端,其包括:
显示第一漫游场景;
响应于用户触发的场景切换事件,向服务端发送从第一漫游场景切换至第二漫游场景的请求;
播放所述服务端反馈的场景切换漫游动图;
播完所述场景切换漫游动图后,显示所述第二漫游场景。
在本申请的又一个实施例中,提供了一种场景漫游系统。该系统,包括:
服务端,用于接收到客户端发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;将所述场景切换漫游动图反馈至所述客户端;
客户端,用于显示所述第一漫游场景;响应于用户触发的场景切换事件,向服务端发送从所述第一漫游场景切换至所述第二漫游场景的请求;播放所述服务端反馈的场景切换漫游动图;播完所述场景切换漫游动图后,显示所述第二漫游场景。
在本申请的又一个实施例中,提供了一种电子设备。该电子设备包括:包括:第一存储器、第一处理器及第一显示器;其中,
所述第一存储器,用于存储程序;
所述第一处理器,与所述第一存储器耦合,用于执行所述第一存储器中存储的所述程序,以用于:
获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
所述第一显示器,与所述第一处理器耦合,用于在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
在本申请的又一个实施例中,提供了一种电子设备。该电子设备,包括:包括:第二存储器及第二处理器;其中,
所述第二存储器,用于存储程序;
所述第二处理器,与所述第二存储器耦合,用于执行所述第二存储器中存储的所述程序,以用于:
创建所述模型拓扑;
获取分别在至少两个取景点采集到的至少两个全景图;
分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;
分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
在本申请的又一个实施例中,提供了一种电子设备。该电子设备,包括:第三存储器、第三处理器及第三显示器;其中,
所述第三存储器,用于存储程序;
所述第三显示器,与所述第三处理器耦合,用于显示第一漫游场景;
所述第三处理器,与所述第三存储器耦合,用于执行所述第三存储器中存储的所述程序,以用于:
响应于用户触发的场景切换事件,控制所述第三显示器播放场景切换漫游动图;
播放完所述场景切换漫游动图后,控制所述第三显示器显示所述场景切换事件指向的第二漫游场景。
在本申请的又一个实施例中,提供了一种服务端设备,其特征在于,包括:第四存储器、第四处理器及第四通信组件;其中,
所述第四存储器,用于存储程序;
所述第四通信组件,与所述第四处理器连接,用于接收客户端发送的从第一漫游场景切换至第二漫游场景的请求;
所述第四处理器,与所述第四存储器耦合,用于执行所述第四存储器中存储的所述程序,以用于:
接收到所述客户端发送的所述请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
所述第四通信组件,还用于将所述场景切换漫游动图反馈至所述客户端,以由客户端在显示所述第二全景图信息对应的第二漫游场景之前播放所述场景切换漫游动图。
在本申请的又一个实施例中,提供了一种客户端设备。该客户端设备,包括:第五存储器、第五处理器、第五通信组件及第五显示器;其中,
所述第五存储器,用于存储程序;
所述第五显示器,与所述第五处理器耦合,用于显示第一漫游场景;
所述第五处理器,与所述第五存储器耦合,用于执行所述第五存储器中存储的所述程序,以用于:
响应于用户触发的场景切换事件,控制所述第五通信组件向服务端发送从第一漫游场景切换至第二漫游场景的请求;
控制所述第五显示器播放所述服务端反馈的场景切换漫游动图;
控制所述第五显示器在播完所述场景切换漫游动图后,显示第二漫游场景。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感;
本申请实施还提供一种技术方案,通过创建模型拓扑,并将模型拓扑与全景图结合应用,为用户展现场景间的切换漫游场景提供的数据支持;另外,将模型拓扑与全景图结合应用,使用较小的资源即可完成全景漫游的场景切换体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一具体样本间场景漫游图例;
图2示出了本申请一实施例提供的场景间漫游的方法的流程示意图;
图3示出了本申请实施例中涉及的纹理采样计算原理图;
图4示出了本申请实施例提供的场景间漫游的方法的原理性示意图;
图5示出了本申请一实施例提供的用于场景切换的模型拓扑创建方法的流程示意图;
图6示出了本申请一实施例提供的场景切换方法的流程示意图;
图7示出了本申请一实施例提供的场景漫游系统的原理性框图;
图8示出了本申请另一实施例提供的场景间漫游的方法的流程示意图;
图9示出了本申请又一实施例提供的场景间漫游的方法的流程示意图;
图10示出了本申请一实施例提供的场景间漫游的装置的结构示意图;
图11示出了本申请一实施例提供的用于场景切换的模型拓扑创建装置的结构示意图;
图12示出了本申请一实施例提供的场景切换装置的结构示意图;
图13示出了本申请另一实施例提供的场景间漫游的装置的结构示意图;
图14示出了本申请又一实施例提供的场景间漫游的装置的结构示意图;
图15示出了本申请一实施例提供的电子设备的结构示意图;
图16示出了本申请另一实施例提供的电子设备的结构示意图;
图17示出了本申请又一实施例提供的电子设备的结构示意图;
图18示出了本申请一实施例提供的服务端设备的结构示意图;
图19示出了本申请一实施例提供的客户端设备的结构示意图。
具体实施方式
全景图应用较为广泛的领域是样板间的全景展示。现有的全景样板间是通过渲染单个点的全景图来实现的。场景之间,比如厨房和客厅,相互没有关联。如图1所示的样本间场景漫游图例,当前显示的是餐厅对应的全景漫游场景,用户可通过触控触摸屏或使用鼠标左右或上下滑动即可看到餐厅各角度的图像。当用户通过触摸屏或通过鼠标触控图1中的“主卧”控件后,用户会看到当前餐厅对应的全景漫游场景淡出,主卧对应的全景漫游场景淡入。现有全景样本间的展示,真实感较差,用户体验不够完善。
为此,本申请各实施例提供一种为用户展现场景间的切换漫游效果的技术方案,以增强场景切换时的真实感。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。需要说明的是:在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2示出本申请一实施例提供的场景间漫游的方法的流程示意图。如图2所示,所述方法包括:
101、获取场景切换起点的第一全景图信息及切换终点的第二全景图信息。
102、基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图。
103、在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
上述101中,所述第一全景图信息至少包含有第一全景图;所述第二全景图信息至少包含有第二全景图。全景图即通过专业采集设备捕捉整个场景的图像信息或使用建模软件渲染得到,包含拍摄点全部角度的图片。具体实施时,可采用具有水平旋转角度以及俯仰旋转角度可调的专业采集设备,对待展示空间内水平方向一周各角度以及俯仰各角度进行拍摄,以完成对待展示空间内全景图并记录相应信息。这里以实景拍摄房间的为例,在房间的门口A点拍摄了一个全景图,同时记录该全景图相对于整个房屋模型拓扑的位置以及拍摄时候采集设备的相对姿态。同样的,在房间的正中间B点拍摄一个全景图,同时记录该全景图相对于整个房间模型拓扑的位置以及拍摄时候采集设备的相对姿态。这里的采集设备姿态即本文后续会提到的全景图的取景坐标系相对于整个房屋的基准坐标系的旋转矩阵。因为在拍摄过程中可能在A点拍摄的时候采集设备初始是朝北的,但是在B点拍摄的时候采集设备初始就朝南了,这里的记录采集设备的相对姿态是用于校正采集设备的位置。
由此可知,若第一全景图和第二全景图均为采集设备实景采集的,则所述第一全景图信息中除包含有第一全景图外,还包括:所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵等信息;所述第二全景图信息中除包含有第二全景图外,还包括:所述第二全景图在模型拓扑中的第二视点位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵等信息。以样板间为例,这里的模型拓扑可简单理解为上述实例中所指的整个房间的模型拓扑。假设整个房间有卧室、客厅、卫生间等;该房间的模型拓扑即包括:卧室对应的第一模型、客厅对应的第二模型和卫生间对应的第二模型;以及第一模型、第二模型和第二模型中任意两个模型的空间位置关系。
当第一全景图和第二全景图是通过建模软件建模渲染得到时,因不存采集设备位置校准的过程,因此本步骤中101中第一全景图信息和第二全景图信息中可不含有旋转矩阵类信息。
以图1所示的样板间全景漫游界面为例,假设用户在当前所在餐厅对应的漫游场景中漫游,并在界面中触发切换至主卧的操作。此时,餐厅对应的全景图信息即为本步骤中的场景切换起点的第一全景图信息。卧室对应的全景图信息即为本步骤中的切换终点的第二全景图信息。
这里需要说明的是:本申请实施例提供的所述场景间漫游的方法的执行主体可以是服务端,也可以是客户端。其中,服务端可以是常用服务器、云端、虚拟服务器等;客户端可以是集成在终端上的一个具有嵌入式程序的硬件,也可以是安装在终端中的一个应用软件,还可以是嵌入在终端操作系统中的工具软件等,本申请实施例对此不作限定。该终端可以为包括手机、平板电脑、智能穿戴设备等任意终端设备。以本申请实施例提供的所述方法的执行主体为服务端为例,服务端在接收到客户端发送的第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息。其中,客户端发送的请求中携带有第一漫游场景的标识以及第二漫游场景的标识。服务端可根据各标识获取到各自对应的全景图信息。以本申请实施例提供的所述方法的执行主体为客户端为例,客户端可在用户触发切换场景事件时,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息。具体的,所述切换场景事件可以用户在第一漫游场景的用户界面中触发切换至第二漫游场景的操作事件、或用户发出的场景切换语音指令事件、或用户做出的场景切换动作事件等等,本申请实施例对此不作具体限定。
为了模拟出从第一漫游场景运动至第二漫游场景的漫游过程,本实施例102步骤中利用第一全景图信息和第二全景图信息来生成该场景切换漫游动图,以让用户有一种从第一漫游场景运动至第二漫游场景的真实感。
在一种可实现的技术方案中,所述第一全景图信息包括:第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵等信息。所述第二全景图信息可包括但不限于:第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵等信息。具体实施时,所述模型拓扑可含有具有空间关系的至少两个模型。至少两个模型中的第一模型与第一全景图关联;第二模型与第二全景图关联。为了方便理解,以样本间模型拓扑为例,模型拓扑可简单理解为:一套房屋的整体模型;模型拓扑包含的至少两个模型可简单理解为:一套房屋中各房间对应的模型。
一种可实现的具体方案,本步骤102可分别根据第一全景图信息和第二全景图信息,确定起始视点图像各像素的纹理信息和终点视点图像各像素的第二纹理信息;然后根据起始视点图像各像素的纹理信息及终止视点图像各像素的纹理信息,生成所述场景切换漫游动图。例如,通过对起始视点图像各像素的纹理信息及终止视点图像各像素的纹理信息进行线性混合,得到场景切换图各像素的混合纹理信息,将混合信息与模型结合得到所述场景切换漫游动图。
上述103中,播放场景切换漫游动图的过程实质是将混合纹理信息与模型结合,最终渲染到屏幕的过程。具体实施时,本申请实施例可利用WebGL实现渲染展示过程。webGL(Web图形库)是一种JavaScript API,用于在任何兼容的web浏览器中呈现交互式3D和2D图形,而无需使用插件。webGL通过引入一个与OpenGL ES 2.0紧密相符合的API,可以在HTML5<canvas>元素中使用。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
现有技术中,多个场景中的各场景都是单独通过渲染单个全景图来实现的。每个场景之间(如样板间应用中的厨房和客厅)相互没有关联;致使现有技术中场景和场景之间的切换仅限于淡入淡出效果,缺乏真正的3D空间漫游的体验。本申请实施例提供的技术方案采用模型拓扑的方案,以将场景与场景之间真正相互关联起来,采用模型拓扑配合多个取景点采集的全景图完成漫游场景的展示。本申请实施例创建模型拓扑的目的就是全景图与模型之间建立联系。为了便于理解,还是以一室一厅的样板间为例,该样板间对应的模型拓扑包含有:客厅对应的第一模型、卧室对应的第二模型、餐厅对应的第二模型及卫生间对应的第四模型。模型拓扑具有基准坐标,第一模型、第二模型、第二模型和第四模型的空间关系与其各自对应的房间在实际环境中的关系相同。其中,空间关系包括模型之间的位置关联及方位关系等等。实地采集的客厅全景图与第一模型关联;实地采集的卧室全景图与第二模型关联;实地采集的厨房全景图与第二模型关联;实地采集的卫生间全景图与第四模型关联。模型拓扑中各模型对应的全景图可通过实景拍摄或软件建模得到。具体实施时,还需将全景图在生成的模型拓扑中定位初始点的位置及相对的旋转矩阵(即采集全景图的采集设备的姿态)。这样即为本申请实施例提供的所述方法做好了数据基础。即,本申请实施例提供的所述方法还包括模型拓扑信息创建过程,具体的,包括:
104、创建所述模型拓扑。
105、获取分别在至少两个取景点采集到的至少两个全景图。
106、分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置。
107、分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
上述104、模型拓扑可以从两个渠道获得:一是通过扫描实景产出点云数据,进一步生成模型拓扑。二是通过建模软件构建模型拓扑。即,本步骤104可具体为:基于扫描实景产出的点云数据,构建所述模型拓扑;或者基于三维建模软件的建模数据,构建所述模型拓扑。
在本实施例中,可以通过三维激光扫描采集空间(如房间、街景)对应的点云数据。点云数据即为扫描的形式记录的点的集合,每一个点包含有三维坐标。一般情况下,所采集的原始点云数据一般过于密集。在具体实施时,可先对采集的点云数据进行采样处理。本实施例中,对采集的点云数据进行下采样处理,以提高后续对点云数据处理的效率。在基于点云数据建立三维模型时,可以先对点云数据进行平面检测生成若干平面;然后再根据点云数据确定生成的平面对应的边界,并生成三维模型。
上述105中,各取景点的全景图可通过实景拍摄或软件建模的方式获得。
上述106中,可根据各全景图取景位置,在模型拓扑中标定出各全景图的视点位置。以所述至少两个全景图中的一个全景图为例对步骤106的实现过程进行说明。假设至少两个全景图中包含有一个第一全景图。相应的,定位所述第一全景图在所述模型拓扑中的视点位置,包括:
首先,获取所述第一全景图的取景位置。
其中,所述取景位置可以是采集设备在采集第一全景图时所处的房间的实际位置。这个实际位置可以是一个相对位置,比如,该位置距离房间南墙的距离以及距离西墙的距离。
然后,根据所述取景位置,在所述模型拓扑中标定所述第一全景图的视点位置。
在样板间应用场景中,通常情况下,模型拓扑在建模时是会基于房间的实际尺寸按比例进行建模。因此,在模型拓扑中一定能找到实际取景位置对应的位置点。该位置点即为要标定的第一全景图的视点位置。
上述107中,这里确定旋转矩阵的目的就是为了校正全景图采集设备的位置的。同样的,以所述至少两个全景图中的一个全景图为例对步骤107的实现过程进行说明。假设至少两个全景图中包含有一个第一全景图。相应的,确定出所述第一全景图的取景坐标系相对于所述模型拓扑坐标系的第一旋转矩阵,包括:
获取在采集所述第一全景图时记录的取景坐标系;
获取创建所述模型拓扑时的基准坐标系;
基于所述取景坐标系及所述基座坐标系,得到所述第一旋转矩阵。
进一步,上述模型拓扑、各全景图在模型拓扑中的视点位置及各全景图的取景坐标系相对于模型拓扑的基准坐标系均存储在模型拓扑信息中。即上述实施例提供的所述方法中,步骤101:所述获取场景切换起点的第一全景图信息及切换终点的第二全景图信息,可具体包括如下步骤:
1011、获取模型拓扑信息。
1012、将所述模型拓扑信息中的第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵,作为所述第一全景图信息。
1013、将所述模型拓扑信息中的第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵,作为所述第二全景图信息。
在一种可实现的技术方案中,本申请实施例提供的场景切换漫游动图的生成过程可采用如下方法实现。即上述实施例中步骤102:基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图,包括:
1021、根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息。
1022、根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息。
1023、根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
上述1021中,所述第一全景图信息包括但不限于:第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵。相应的,本步骤1021可采用如下方案实现:
A11、使用所述第一全景图,以所述第一位置为第一原点构建第一纹理立方体。
纹理立方体是一种特殊的纹理技术,它用6幅二维纹理图像构成一个以原点为中心的纹理立方体。对于每个片段,纹理坐标(s,t,r)被当做方向向量看待。每个纹素(texel)都表示从原点所看到的纹理立方体上的图像。为了创建第一纹理立方体,第一全景图需是放置在场景原点上采集设备依次对准各个轴的正方向和负方向,拍摄6幅视野为90度的快照,这些快照把3D空间划分为6个原点相交的frustum(平截头体)。
A12、计算第一模型上各点相对于所述第一原点的坐标。
其中,所述第一模型可以是模型拓扑中与第一全景图关联的模型。结合图3所示,位于中心的六边形为第一模型。
A13、根据所述第一模型上各点相对于所述第一原点的坐标及所述第一旋转矩阵,计算所述第一模型的各点在所述基准坐标系下的坐标。
这里根据第一旋转矩阵计算第一模型的各点在所述基准坐标系下的坐标是为了校正第一纹理立方体的位置。
A14、基于所述第一模型的各点在所述基准坐标系下的坐标,对所述第一纹理立方体进行纹理采样计算,得到所述起始视点图像各像素的第一纹理信息。
理论上,上述纹理采样计算过程可简单理解为:通过由第一原点O向第一模型的各点位置发射的向量来完成采样的。即第一模型上每个像素的纹理信息取决于从原点指向其位置发射的向量与纹理立方体相交点的纹理。如图3所示,六边形代表第一模型,外层矩形代表第一纹理立方体,从原点位置向外发射的射线与第一模型和第一纹理立方体分别相较于两点,那么第一模型上的那点的纹理信息就取决于纹理立方体上的对应的交点。
在一种可实现的技术方案中,可通过纹理立方(textureCube)方法进行采样,以获取到第一模型在起点位置时应该呈现的纹理信息。
这里需要说明的是:计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案。在计算机图形学中,这两种类型的纹理的生成方法完全一致,这也是计算机图形学中把他们统称为纹理的原因所在。所以纹理映射就是在物体的表面上绘制彩色的图案。
上述1022中,所述第二全景图信息包括:第二全景图、所述第二全景图在模型拓扑中的第二视点位置、所述第二全景图的取景坐标系相对与所述模型拓扑的基准坐标系的第二旋转矩阵。相应的,本步骤1022可采用如下方案实现:
A21、使用所述第二全景图,以所述第二位置为第二原点构建第二纹理立方体。
A22、计算第二模型上各点相对于所述第二原点的坐标。
其中,所述第二模型可以是模型拓扑中与第二全景图关联的模型。
A23、根据所述第二模型上各点相对于所述第二原点的坐标及所述第二姿态变化信息,计算所述第二模型的各点在所述基准坐标系下的坐标。
A24、基于所述第二模型的各点在所述基准坐标系下的坐标,对所述第二纹理立方体进行纹理采样计算,得到所述终止视点图像各像素的第二纹理信息。
同上述A14,上述A24中纹理采样计算过程可简单理解为:通过由第一原点O向第一模型的各点位置发射的向量来完成采样的。即第一模型上每个像素的纹理信息取决于从原点指向其位置发射的向量与纹理立方体相交点的纹理。如图3所示,六边形代表第一模型,外层矩形代表第一纹理立方体,从原点位置向外发射的射线与第一模型和第一纹理立方体分别相较于两点,那么第一模型上的那点的纹理信息就取决于纹理立方体上的对应的交点。
在一种可实现的技术方案中,可通过纹理立方(textureCube)方法进行采样,以获取到第二模型在起点位置时应该呈现的纹理信息。
上述1023中,根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图,可具体包括如下步骤:
A31、根据运动进度,将所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息进行混合,得到场景切换漫游图像各像素按照所述运动进度变化的混合纹理。
在一种可实现的技术方案中,上述步骤A31可使用webgl的mix函数。该函数可理解为如下的公式:
result=a*X1+(1-a)*X2
其中,X1、X2是rgb(红绿蓝三色)向量,a为混合比例。
其中,运动进度可理解为混合比例的变化进度。假设运动进度为progress;运动开始时,progress一直为0,所以实际上会一直使用起始视点图像各像素的第一纹理信息为当前片段着色。而后当运动开始时,会根据运动的进度,实时更新起始视点图像和终止视点图像的着色比例。从起点视点逐步运动到终点视点,期间通过动态调整progress最终使progress变为1。当progress等于1时,实际上会一直使用终止视点图像各像素的第二纹理信息为当前片段着色了。
实际应用中,运动进度可以有很多中方案,比如,使用easeInOut(开始和结束时速度慢,中间运动快)方案。
A32、将按照所述运动进度变化的混合纹理与预设模型结合,得到所述场景切换漫游动图。
这里的预设模型可以是预先设置的低模模型,此处不需要高模,只需要精简面后的低模即可达到非常好的体验,节省浏览器的网络请求资源,用户可以快速访问不需要等待许久。
上述内容都是在WebGL的渲染管线中完成的。一般会分为两部分:顶点着色器和片段着色器。在顶点着色器中会计算顶点的位置以及一些多顶点可以复用的信息并传递给片段着色器。而后在片段着色器中经过一系列的计算最终通过函数,例如*gl_FragColor=vec4(pano,opacity);*将计算结果传递给渲染换线,而后再经过光栅化等一系列流程最终渲染到屏幕上。
本申请实施例提供的技术方案,利用场景切换漫游动图模拟观看者(用户)从当前全景视图逐渐移动到目标全景视图,将不同全景视图之间的直接切换转换为一个渐近切换,即利用场景切换漫游动图描绘从当前全景视图逐渐平移到目标全景视图的过程,每帧观察位置渲染图中观察者相对当前全景视图和目标全景视图的位置关系是不同的,而是从当前全景视图逐渐平移到目标全景视图,实现全景漫游中全景视图的平滑切换。
进一步的,本申请的实施例提供的所述方法还包括:
107、播放完所述场景切换漫游动图后,根据所述第二全景图信息中的第二全景图对第二模型进行纹理映射处理,生成所述第二漫游场景。
其中,第二模型为模型拓扑中与第二全景图关联的模型。纹理映射处理过程可参见现有技术中的相关内容,此处不再赘述。
下面结合图4所示的本申请实施例提供的技术方案的原理性示意图,对本申请实施例提供的技术方案进行说明。
本申请提供的技术方案可大体包括两部分内容,一是运动前准备,二是运动过程中。
一、运动前准备
主要是数据的准备。其中,所需的数据包括:模型拓扑、起点全景图、终点全景图、起点采集设备位置及旋转矩阵、终点采集设备位置及旋转矩阵。起点采集设备位置即起点全景图在模型拓扑中的起点视点位置;起点采集设备旋转矩阵即起点全景图的取景坐标系相对于模型拓扑的基准坐标系的旋转矩阵。终点采集设备位置即终点全景图在模型拓扑中的终点视点位置。终点采集设备旋转矩阵即终点全景图的取景坐标系相对于模型拓扑的基准坐标系的旋转矩阵。
二、运动过程中
运动过程可设想为:采集设备按照运动进程由起点向终点线性运动的过程。具体实现过程可简单的表述为:对起点全景图以起点位置为原点进行纹理采样计算;终点全景图以终点位置为原点进行纹理采样计算;将从起点全景图采样计算得到的纹理信息与从终点全景图采样计算得到纹理信息进行混合处理,得到按照运动进程变化的混合纹理信息;然后,将按照运动进程变化的混合纹理信息与预置的三维模型结合,得到场景切换漫游动图。
其中,该预置的三维模型可以是一个精简面的低模模型即可。
本申请各实施例提供的技术方案,将模型拓扑和全景图的结合应用,将全景图相互关联起来,从而实现场景切换时的连贯效果。同时,拥有了完整的模型拓扑后就可以展示样本间的整体效果,各场景间的切换也就可以实现漫游式的切换效果。在运动过程中,起点终点的纹理运动进度线性过渡,用户浏览过程不会觉得突兀,过度平滑。此外,本申请实施例中所需的资源(如模型拓扑、全景图)不局限于实景拍摄,同时还可以来源与建模软件构建模型拓扑,这样用户可以以较小的成本完成更多更好的全景样本间的搭建。
需要说明的是:上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
图5示出了本申请一实施例提供的用于场景切换的模型拓扑创建方法的流程示意图。本申请实施例的执行主体可以客户端,也可以服务端。具体的,如图5所示,所述用于场景切换的模型拓扑创建方法,包括:
201、创建所述模型拓扑。
202、获取分别在至少两个取景点采集到的至少两个全景图。
203、分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置。
204、分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
其中,上述201和201的具体实现可参见上述实施例中的相关内容,此处不再赘述。
上述202中,以所述至少两个全景图中的一个全景图为例进行说明。例如,所在所述至少两个全景图中包括第一全景图。相应的,“定位出所述第一全景图在所述模型拓扑中的视点位置”,包括:获取所述第一全景图的取景位置;根据所述取景位置,在所述模型拓扑中标定所述第一全景图的视点位置。
同样的,以所述至少两个全景图中的一个全景图为例对上述203中旋转矩阵的确定进行说明。例如,所述至少两个全景图包括第一全景图;相应的,“确定出所述第一全景图的取景坐标系相对于所述模型拓扑坐标系的第一旋转矩阵”,包括:获取在采集所述第一全景图时记录的取景坐标系;获取创建所述模型拓扑时的基准坐标系;基于所述取景坐标系及所述基座坐标系,得到所述第一旋转矩阵。
这里需要说明的是:有关上述各步骤的具体实现可参见上文实施例中的相应内容,此处不再赘述。
本申请实施提供的技术方案,通过创建模型拓扑,并将模型拓扑与全景图结合应用,为用户展现场景间的切换漫游场景提供的数据支持;另外,将模型拓扑与全景图结合应用,使用较小的资源即可完成全景漫游的场景切换体验。
创建模型拓扑后,即可利用该模型拓扑实现场景间的漫游切换,以提升场景切换的真实感。即,本申请实施例提供的所述方法还可包括如下步骤:
205、用户触发切换场景时,获取场景切换起点的第一全景图信息及切换终点的第二全景图信息。
206、基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图。
207、在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
其中,所述第一全景图信息包括但不限于:第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵等;所述第二全景图信息包括但不限于:第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵等。
具体的,上述205~207的具体实现可参见上述实施例中的相关内容,此处不再赘述。
这里需要说明的是:本申请实施例提供的所述用于场景切换的模型拓扑创建方法的执行主体可以是服务端,也可以是客户端。其中,服务端可以是常用服务器、云端、虚拟服务器等;客户端可以是集成在终端上的一个具有嵌入式程序的硬件,也可以是安装在终端中的一个应用软件,还可以是嵌入在终端操作系统中的工具软件等,本申请实施例对此不作限定。该终端可以为包括手机、平板电脑、智能穿戴设备等任意终端设备。
图6示出了本申请一实施例提供的场景切换方法的流程示意图。本申请实施例提供的所述方法的执行主体可以是客户端。其中,所述客户端可以是集成在终端上的一个具有嵌入式程序的硬件,也可以是安装在终端中的一个应用软件,还可以是嵌入在终端操作系统中的工具软件等,本申请实施例对此不作限定。该终端可以为包括手机、平板电脑、智能穿戴设备、AR设备等任意终端设备。如图6所示,本申请实施例提供的所述方法包括:
301、显示第一漫游场景。
302、响应于用户触发的场景切换事件,播放场景切换漫游动图。
303、播放完场景切换漫游动图后,显示所述场景切换事件指向的第二漫游场景。
上述302,用户触控场景切换控件、发出场景切换语音或做出场景切换手势等等触发操作时触发场景切换事件。具体的,本步骤302可具体包括:
3021、响应于用户触发的场景切换事件,获取所述第一漫游场景对应的第一全景图信息以及所述场景切换事件指向的所述第二漫游场景对应的第二全景图信息。
3022、基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图。
具体的,本步骤可包括:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
3023、在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
具体的,上述3021~3023的具体实现可参见上述实施例中的相关内容,此处不再赘述。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
本申请实施例提供的场景间漫游的方法还可此采用如下系统结构实现。具体的,如图7所示,场景漫游系统包括服务端和客户端。其中,
服务端401,用于接收到客户端402发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;将所述场景切换漫游动图反馈至所述客户端402;
客户端402,用于显示所述第一漫游场景;响应于用户触发的场景切换事件,向服务端401发送从所述第一漫游场景切换至所述第二漫游场景的请求;播放所述服务端401反馈的场景切换漫游动图;播完所述场景切换漫游动图后,显示所述第二漫游场景。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
这里需要说明的是:上述实施例提供的系统可应用在多种应用场景中,例如,样板间全景展示场景,道路全景展示场景等等。本申请实施例提供的所述信息输出系统中各组成单元,如服务端、客户端的具体工作流程及之间的信令交互将在以下各实施例中作进一步的说明。
图8示出了本申请另一实施例提供的场景间漫游的方法的流程示意图。本实施例提供的所述方法适用于服务端。其中,所述服务端可以是常用服务器、云端、虚拟服务器等,本申请实施例对此不作具体限定。如图8所示,本实施例提供的所述方法包括:
501、接收到客户端发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息。
502、基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图。
503、将所述场景切换漫游动图反馈至所述客户端,以由客户端在显示所述第二全景图信息对应的第二漫游场景之前播放所述场景切换漫游动图。
上述501中,客户端可在用户触控场景切换控件、发出场景切换语音或做出场景切换指定动作等后,向服务发送所述请求。具体的,本步骤包括:
5011、获取模型拓扑信息,所述模型拓扑信息中包含模型拓扑及多个全景图中各全景图分别在所述模型拓扑中的视点位置及旋转矩阵。
5012、将所述模型拓扑信息中的第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵,作为所述第一全景图信息。
5013、将所述模型拓扑信息中的第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵,作为所述第二全景图信息。
上述502可采用如下步骤实现:
5021、根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息。
5022、根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息。
5023、根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
上述5021~5023的具体实现可参见上述各实施例中的相关内容,此处不再赘述。
进一步的,本申请实施例提供的所述方法还可包括如下步骤:
504、创建所述模型拓扑。
505、获取分别在至少两个取景点采集到的至少两个全景图。
506、分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置。
507、分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
上述504~507的具体实现可参见上述各实施例中的相关内容,此处不再赘述。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
图9示出了本申请又一实施例提供的场景间漫游的方法的流程示意图。本实施例提供的所述方法适用于客户端。其中,所述客户端可以是集成在终端上的一个具有嵌入式程序的硬件,也可以是安装在终端中的一个应用软件,还可以是嵌入在终端操作系统中的工具软件等,本申请实施例对此不作限定。该终端可以为包括手机、平板电脑、智能穿戴设备、AR设备等任意终端设备。如图9所示,包括:
601、显示第一漫游场景。
602、响应于用户触发的场景切换事件,向服务端发送从第一漫游场景切换至第二漫游场景的请求。
603、播放所述服务端反馈的场景切换漫游动图。
604、播完所述场景切换漫游动图后,显示所述第二漫游场景。
在实际应用中,所述场景切换事件可以是用户在触控客户端上的控键(如实体控键或虚拟控键)后被触发的;也可以是用户在发出指定语音后被触发;还可以是用户在做出相应动作(如晃一晃动作)后被触发,等等,本申请实施例对此不作具体限定。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
图10示出了本申请一实施例提供的场景间漫游的装置的结构示意图。如图10所示,所述场景间漫游的装置包括:获取模块11、生成模块12和播放模块13。其中,所述获取模块11用于获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;所述生成模块12用于基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;所述播放模块13用于在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
进一步的,所述获取模块11还用于:
获取模型拓扑信息,所述模型拓扑信息中包含模型拓扑及多个全景图中各全景图分别在所述模型拓扑中的视点位置及旋转矩阵;
将所述模型拓扑信息中的第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵,作为所述第一全景图信息;
将所述模型拓扑信息中的第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵,作为所述第二全景图信息。
进一步的,本申请实施例提供的所述场景间漫游的装置,还可包括:创建模块、定位模块和确定模块。其中,所述创建模块用于创建所述模型拓扑;所述获取模块11还用于获取分别在至少两个取景点采集到的至少两个全景图;所述定位模块用于分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;所述确定模块用于分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
进一步的,所述创建模块还用于:基于扫描实景产出的点云数据,构建所述模型拓扑;或者基于三维建模软件的建模数据,构建所述模型拓扑。
进一步的,所述生成模块12还用于:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
进一步的,所述第一全景图信息包括:第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵。相应的,所述生成模块12还用于:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息,包括:
使用所述第一全景图,以所述第一位置为第一原点构建第一纹理立方体;
计算第一模型上各点相对于所述第一原点的坐标;
根据所述第一模型上各点相对于所述第一原点的坐标及所述第一旋转矩阵,计算所述第一模型的各点在所述基准坐标系下的坐标;
基于所述第一模型的各点在所述基准坐标系下的坐标,对所述第一纹理立方体进行纹理采样计算,得到所述起始视点图像各像素的第一纹理信息。
进一步的,所述第二全景图信息包括:第二全景图、所述第二全景图在模型拓扑中的第二视点位置、所述第二全景图的取景坐标系相对与所述模型拓扑的基准坐标系的第二旋转矩阵。相应的,所述生成模块12还用于:
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息,包括:
使用所述第二全景图,以所述第二位置为第二原点构建第二纹理立方体;
计算第二模型上各点相对于所述第二原点的坐标;
根据所述第二模型上各点相对于所述第二原点的坐标及所述第二姿态变化信息,计算所述第二模型的各点在所述基准坐标系下的坐标;
基于所述第二模型的各点在所述基准坐标系下的坐标,对所述第二纹理立方体进行纹理采样计算,得到所述终止视点图像各像素的第二纹理信息。
进一步的,所述生成模块12还用于:
根据运动进度,将所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息进行混合,得到场景切换漫游图像各像素按照所述运动进度变化的混合纹理;
将按照所述运动进度变化的混合纹理与预设模型结合,得到所述场景切换漫游动图。
进一步的,所述生成模块12还用于:
播放完所述场景切换漫游动图后,根据所述第二全景图信息中的第二全景图对第二模型进行纹理映射处理,生成所述第二漫游场景。
这里需要说明的是:上述实施例提供的场景间漫游的装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图11示出了本申请一实施例提供的用于场景切换的模型拓扑创建装置的结构示意图。如图11所示,本申请实施例提供的所述装置,包括:创建模块21、获取模块22、定位模块23和确定模块24。其中,所述创建模块21用于创建所述模型拓扑;所述获取模块22用于获取分别在至少两个取景点采集到的至少两个全景图;所述定位模块23用于分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;所述确定模块24用于分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
本申请实施提供的技术方案,通过创建模型拓扑,并将模型拓扑与全景图结合应用,为用户展现场景间的切换漫游场景提供的数据支持;另外,将模型拓扑与全景图结合应用,使用较小的资源即可完成全景漫游的场景切换体验。
进一步的,所述创建模块21还用于:基于扫描实景产出的点云数据,构建所述模型拓扑;或者基于三维建模软件的建模数据,构建所述模型拓扑。
进一步的,所述至少两个全景图包括第一全景图;相应的,所述定位模块23还用于获取所述第一全景图的取景位置;根据所述取景位置,在所述模型拓扑中标定所述第一全景图的视点位置。
进一步的,所述至少两个全景图包括第一全景图;相应的,所述确定模块24还用于获取在采集所述第一全景图时记录的取景坐标系;获取创建所述模型拓扑时的基准坐标系;基于所述取景坐标系及所述基座坐标系,得到所述第一旋转矩阵。
进一步的,所述装置还包括:生成模块和播放模块。其中,所述获取模块还用于用户触发切换场景时,获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;所述生成模块用于基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;所述播放模块用于在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。其中,所述第一全景图信息包括第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵;所述第二全景图信息包括第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵。
进一步的,所述生成模块还用于:根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
这里需要说明的是:上述实施例提供的用于场景切换的模型拓扑创建装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图12示出了本申请一实施例提供的场景切换装置的结构示意图。如图12所示,所述场景切换装置包括:第一显示模块31、播放模块32和第二显示模块33。其中,所述第一显示模块31用于显示第一漫游场景;所述播放模块32用于响应于用户触发的场景切换事件,播放场景切换漫游动图;所述第二显示模块33用于在所述播放模块播放完场景切换漫游动图后,显示所述场景切换事件指向的第二漫游场景。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
进一步的,所述播放模块32还用于:
响应于用户触发的场景切换事件,获取所述第一漫游场景对应的第一全景图信息以及所述场景切换事件指向的所述第二漫游场景对应的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
进一步的,所述播放模块32还用于:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
这里需要说明的是:上述实施例提供的场景切换装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图13示出了本申请另一实施例提供的场景间漫游的装置的结构示意图。如图13所示,所述场景间漫游的装置包括:获取模块41、生成模块42和反馈模块43。其中,所述获取模块41用于接收到客户端发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;所述生成模块42用于基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;所述反馈模块43用于将所述场景切换漫游动图反馈至所述客户端,以由客户端在显示所述第二全景图信息对应的第二漫游场景之前播放所述场景切换漫游动图。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
进一步的,所述获取模块41还用于:
获取模型拓扑信息,所述模型拓扑信息中包含模型拓扑及多个全景图中各全景图分别在所述模型拓扑中的视点位置及旋转矩阵;
将所述模型拓扑信息中的第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵,作为所述第一全景图信息;
将所述模型拓扑信息中的第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵,作为所述第二全景图信息。
进一步的,所述场景间漫游的装置还包括:创建模块、定位模块和确定模块。其中,所述创建模块用于创建所述模型拓扑;所述获取模块还用于获取分别在至少两个取景点采集到的至少两个全景图;所述定位模块还用于分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;所述确定模块还用于分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
进一步的,所述生成模块42还用于:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
这里需要说明的是:上述实施例提供的场景间漫游的装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图14示出了本申请又一实施例提供的场景间漫游的装置的结构示意图。如图14所示,所述场景间漫游的装置包括:显示模块51、发送模块52和播放模块53。其中,所述显示模块51用于显示第一漫游场景;所述发送模块52用于响应于用户触发的场景切换事件,向服务端发送从第一漫游场景切换至第二漫游场景的请求;所述播放模块53用于播放所述服务端反馈的场景切换漫游动图;所述显示模块还用于播完所述场景切换漫游动图后,显示所述第二漫游场景。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
这里需要说明的是:上述实施例提供的场景间漫游的装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图15示出了本申请一实施例提供的电子设备的结构示意图。如图15所示,所述电子设备包括:第一存储器61、第一处理器62及第一显示器64;其中,
所述第一存储器61,用于存储程序;
所述第一处理器62,与所述第一存储器61耦合,用于执行所述第一存储器61中存储的所述程序,以用于:
获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
所述第一显示器64,与所述第一处理器62耦合,用于在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
上述第一存储器61可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。第一存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述第一处理器62在执行第一存储器61中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图15所示,电子设备还包括:第一通信组件63、第一显示器64、第一电源组件65、第一音频组件66等其它组件。图15中仅示意性给出部分组件,并不意味着电子设备只包括图15所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的场景间漫游的方法步骤或功能。
图16示出了本申请另一实施例提供的电子设备的结构示意图。如图16所示,所述电子设备包括:第二存储器71及第二处理器72;其中,
所述第二存储器71,用于存储程序;
所述第二处理器72,与所述第二存储器71耦合,用于执行所述第二存储器71中存储的所述程序,以用于:
创建所述模型拓扑;
获取分别在至少两个取景点采集到的至少两个全景图;
分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;
分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
上述第二存储器71可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。第二存储器71可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述第二处理器72在执行第二存储器71中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图16所示,客户端设备还包括:第二通信组件73、第二电源组件75、第二音频组件76等其它组件。图16中仅示意性给出部分组件,并不意味着电子设备只包括图16所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的用于场景切换的模型拓扑创建方法的步骤或功能。
图17示出了本申请又一实施例提供的电子设备的结构示意图。如图17所示,所述电子设备包括:第三存储器81、第三处理器82及第三显示器84;其中,
所述第三存储器81,用于存储程序;
所述第三显示器84,与所述第三处理器82耦合,用于显示第一漫游场景;
所述第三处理器82,与所述第三存储器81耦合,用于执行所述第三存储器81中存储的所述程序,以用于:
响应于用户触发的场景切换事件,控制所述第三显示器播放场景切换漫游动图;
播放完所述场景切换漫游动图后,控制所述第三显示器显示所述场景切换事件指向的第二漫游场景。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
上述第三存储器81可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。第三存储器81可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述第三处理器82在执行第三存储器81中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图17所示,电子设备还包括:第三通信组件83、第三电源组件85、第三音频组件86等其它组件。图17中仅示意性给出部分组件,并不意味着电子设备只包括图17所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的场景切换方法的步骤或功能。
图18示出了本申请一实施例提供的服务端设备的结构示意图。如图18所示,所述服务端设备包括:第四存储器91、第四处理器92及第四通信组件93;其中,
所述第四存储器91,用于存储程序;
所述第四通信组件93,与所述第四处理器92连接,用于接收客户端发送的从第一漫游场景切换至第二漫游场景的请求;
所述第四处理器92,与所述第四存储器91耦合,用于执行所述第四存储器91中存储的所述程序,以用于:
接收到所述客户端发送的所述请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
所述第四通信组件93,还用于将所述场景切换漫游动图反馈至所述客户端,以由客户端在显示所述第二全景图信息对应的第二漫游场景之前播放所述场景切换漫游动图。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
上述第四存储器91可被配置为存储其它各种数据以支持在服务端设备上的操作。这些数据的示例包括用于在服务端设备上操作的任何应用程序或方法的指令。第四存储器91可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述第四处理器92在执行第四存储器91中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图18所示,服务端设备还包括:第四通信组件93、第四电源组件95、第四音频组件96等其它组件。图18中仅示意性给出部分组件,并不意味着服务端设备只包括图8所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的场景间漫游的方法的步骤或功能。
图19示出了本申请一实施例提供的客户端设备的结构示意图。如图19所示,所述客户端设备包括:第五存储器111、第五处理器112、第五通信组件113及第五显示器114;其中,
所述第五存储器111,用于存储程序;
所述第五显示器114,与所述第五处理器112耦合,用于显示第一漫游场景;
所述第五处理器112,与所述第五存储器111耦合,用于执行所述第五存储器111中存储的所述程序,以用于:
响应于用户触发的场景切换事件,控制所述第五通信组件113向服务端发送从第一漫游场景切换至第二漫游场景的请求;
控制所述第五显示器114播放所述服务端反馈的场景切换漫游动图;
控制所述第五显示器114在播完所述场景切换漫游动图后,显示第二漫游场景。
本申请实施例提供的技术方案,基于第一全景图信息及第二全景图信息生成场景切换漫游动图,然后在显示切换目标第二漫游场景之前播放场景切换漫游动图,以为用户展现场景间的切换漫游场景,提高用户场景切换时的真实感。
上述第五存储器111可被配置为存储其它各种数据以支持在客户端设备上的操作。这些数据的示例包括用于在客户端设备上操作的任何应用程序或方法的指令。第五存储器111可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述第五处理器112在执行第五存储器111中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图19所示,客户端设备还包括:第五通信组件113、第五电源组件115、第五音频组件116等其它组件。图19中仅示意性给出部分组件,并不意味着客户端设备只包括图19所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的场景间漫游的方法的步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (24)
1.一种场景间漫游的方法,其特征在于,包括:
获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
2.根据权利要求1所述的方法,其特征在于,所述获取场景切换起点的第一全景图信息及切换终点的第二全景图信息,包括:
获取模型拓扑信息;
将所述模型拓扑信息中的第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵,作为所述第一全景图信息;
将所述模型拓扑信息中的第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵,作为所述第二全景图信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
创建所述模型拓扑;
获取分别在至少两个取景点采集到的至少两个全景图;
分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;
分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
4.根据权利要求3所述的方法,其特征在于,创建所述模型拓扑,包括:
基于扫描实景产出的点云数据,构建所述模型拓扑;或者
基于三维建模软件的建模数据,构建所述模型拓扑。
5.根据权利要求1至4中任一项所述的方法,其特征在于,基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图,包括:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
6.根据权利要求5所述的方法,其特征在于,所述第一全景图信息包括:第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵;以及
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息,包括:
使用所述第一全景图,以所述第一位置为第一原点构建第一纹理立方体;
计算第一模型上各点相对于所述第一原点的坐标;
根据所述第一模型上各点相对于所述第一原点的坐标及所述第一旋转矩阵,计算所述第一模型的各点在所述基准坐标系下的坐标;
基于所述第一模型的各点在所述基准坐标系下的坐标,对所述第一纹理立方体进行纹理采样计算,得到所述起始视点图像各像素的第一纹理信息。
7.根据权利要求5所述的方法,其特征在于,所述第二全景图信息包括:第二全景图、所述第二全景图在模型拓扑中的第二视点位置、所述第二全景图的取景坐标系相对与所述模型拓扑的基准坐标系的第二旋转矩阵;以及
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息,包括:
使用所述第二全景图,以所述第二位置为第二原点构建第二纹理立方体;
计算第二模型上各点相对于所述第二原点的坐标;
根据所述第二模型上各点相对于所述第二原点的坐标及所述第二姿态变化信息,计算所述第二模型的各点在所述基准坐标系下的坐标;
基于所述第二模型的各点在所述基准坐标系下的坐标,对所述第二纹理立方体进行纹理采样计算,得到所述终止视点图像各像素的第二纹理信息。
8.根据权利要求5所述的方法,其特征在于,根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图,包括:
根据运动进度,将所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息进行混合,得到场景切换漫游图像各像素按照所述运动进度变化的混合纹理;
将按照所述运动进度变化的混合纹理与预设模型结合,得到所述场景切换漫游动图。
9.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
播放完所述场景切换漫游动图后,根据所述第二全景图信息中的第二全景图对第二模型进行纹理映射处理,生成所述第二漫游场景。
10.一种用于场景切换的模型拓扑创建方法,其特征在于,包括:
创建所述模型拓扑;
获取分别在至少两个取景点采集到的至少两个全景图;
分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;
分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
11.根据权利要求10所述的方法,其特征在于,创建所述模型拓扑,包括:
基于扫描实景产出的点云数据,构建所述模型拓扑;或者
基于三维建模软件的建模数据,构建所述模型拓扑。
12.根据权利要求10或11所述的方法,其特征在于,所述至少两个全景图包括第一全景图;以及
定位出所述第一全景图在所述模型拓扑中的视点位置,包括:
获取所述第一全景图的取景位置;
根据所述取景位置,在所述模型拓扑中标定所述第一全景图的视点位置。
13.根据权利要求10或11所述的方法,其特征在于,所述至少两个全景图包括第一全景图;以及
确定出所述第一全景图的取景坐标系相对于所述模型拓扑坐标系的第一旋转矩阵,包括:
获取在采集所述第一全景图时记录的取景坐标系;
获取创建所述模型拓扑时的基准坐标系;
基于所述取景坐标系及所述基座坐标系,得到所述第一旋转矩阵。
14.根据权利要求10或11所述的方法,其特征在于,还包括:
用户触发切换场景时,获取场景切换起点的第一全景图信息及切换终点的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图;
其中,所述第一全景图信息包括第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵;
所述第二全景图信息包括第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵。
15.根据权利要求14所述的方法,其特征在于,基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图,包括:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
16.一种场景切换方法,其特征在于,包括:
显示第一漫游场景;
响应于用户触发的场景切换事件,播放场景切换漫游动图;
播放完场景切换漫游动图后,显示所述场景切换事件指向的第二漫游场景。
17.根据权利要求16所述的方法,其特征在于,响应于用户触发的场景切换事件,播放场景切换漫游动图,包括:
响应于用户触发的场景切换事件,获取所述第一漫游场景对应的第一全景图信息以及所述场景切换事件指向的所述第二漫游场景对应的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
在显示所述第二全景图信息对应的第二漫游场景之前,播放所述场景切换漫游动图。
18.根据权利要求17所述的方法,其特征在于,基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图,包括:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
19.一种场景间漫游的方法,适于服务端,其特征在于,包括:
接收到客户端发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;
基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;
将所述场景切换漫游动图反馈至所述客户端,以由客户端在显示所述第二全景图信息对应的第二漫游场景之前播放所述场景切换漫游动图。
20.根据权利要求19所述的方法,其特征在于,所述获取场景切换起点的第一全景图信息及切换终点的第二全景图信息,包括:
获取模型拓扑信息,所述模型拓扑信息中包含模型拓扑及多个全景图中各全景图分别在所述模型拓扑中的视点位置及旋转矩阵;
将所述模型拓扑信息中的第一全景图、所述第一全景图在模型拓扑中的第一视点位置、所述第一全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第一旋转矩阵,作为所述第一全景图信息;
将所述模型拓扑信息中的第二全景图、所述第二全景图的取景中心在所述模型拓扑中的第二位置、所述第二全景图的取景坐标系相对于所述模型拓扑的基准坐标系的第二旋转矩阵,作为所述第二全景图信息。
21.根据权利要求20所述的方法,其特征在于,还包括:
创建所述模型拓扑;
获取分别在至少两个取景点采集到的至少两个全景图;
分别定位出所述至少两个全景图中各全景图在所述模型拓扑中的视点位置;
分别确定出所述至少两个全景图中各全景图的取景坐标系相对于所述模型拓扑的基准坐标系的旋转矩阵。
22.根据权利要求19至21中任一项所述的方法,其特征在于,基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图,包括:
根据所述第一全景图信息,确定起始视点图像各像素的第一纹理信息;
根据所述第二全景图信息,确定终止视点图像各像素的第二纹理信息;
根据所述起始视点图像各像素的第一纹理信息及所述终止视点图像各像素的第二纹理信息,生成所述场景切换漫游动图。
23.一种场景间漫游的方法,适于客户端,其特征在于,包括:
显示第一漫游场景;
响应于用户触发的场景切换事件,向服务端发送从第一漫游场景切换至第二漫游场景的请求;
播放所述服务端反馈的场景切换漫游动图;
播完所述场景切换漫游动图后,显示所述第二漫游场景。
24.一种场景漫游系统,其特征在于,包括:
服务端,用于接收到客户端发送的从第一漫游场景切换至第二漫游场景的请求后,获取所述第一漫游场景对应的第一全景图信息以及所述第二漫游场景对应的第二全景图信息;基于所述第一全景图信息和所述第二全景图信息,生成场景切换漫游动图;将所述场景切换漫游动图反馈至所述客户端;
客户端,用于显示所述第一漫游场景;响应于用户触发的场景切换事件,向服务端发送从所述第一漫游场景切换至所述第二漫游场景的请求;播放所述服务端反馈的场景切换漫游动图;播完所述场景切换漫游动图后,显示所述第二漫游场景。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810778000.2A CN110728755B (zh) | 2018-07-16 | 2018-07-16 | 场景间漫游、模型拓扑创建、场景切换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810778000.2A CN110728755B (zh) | 2018-07-16 | 2018-07-16 | 场景间漫游、模型拓扑创建、场景切换方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110728755A true CN110728755A (zh) | 2020-01-24 |
CN110728755B CN110728755B (zh) | 2022-09-27 |
Family
ID=69217266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810778000.2A Active CN110728755B (zh) | 2018-07-16 | 2018-07-16 | 场景间漫游、模型拓扑创建、场景切换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110728755B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340598A (zh) * | 2020-03-20 | 2020-06-26 | 北京爱笔科技有限公司 | 一种添加交互标签的方法及装置 |
CN111698425A (zh) * | 2020-06-22 | 2020-09-22 | 四川易热科技有限公司 | 一种实现实景漫游技术连贯性的方法 |
CN111798562A (zh) * | 2020-06-17 | 2020-10-20 | 同济大学 | 一种虚拟建筑空间搭建与漫游方法 |
CN112506465A (zh) * | 2020-12-01 | 2021-03-16 | 建信金融科技有限责任公司 | 全景漫游中场景切换的方法和装置 |
CN112686989A (zh) * | 2021-01-04 | 2021-04-20 | 北京高因科技有限公司 | 一种三维空间漫游实现方法 |
CN114004921A (zh) * | 2021-10-28 | 2022-02-01 | 北京百度网讯科技有限公司 | 动画显示方法、装置、设备以及存储介质 |
CN115272544A (zh) * | 2022-06-27 | 2022-11-01 | 北京五八信息技术有限公司 | 贴图方法、装置、电子设备及存储介质 |
CN115512046A (zh) * | 2022-09-26 | 2022-12-23 | 如你所视(北京)科技有限公司 | 模型外点位的全景图展示方法和装置、设备、介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105869201A (zh) * | 2016-03-25 | 2016-08-17 | 北京全景思维科技有限公司 | 在全景漫游中实现全景视图平滑切换的方法及装置 |
US20160277203A1 (en) * | 2013-11-12 | 2016-09-22 | Zhuhai Unitech Power Technology Co., Ltd. | Smart home scene switching method and system |
CN106548516A (zh) * | 2015-09-23 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 三维漫游方法和装置 |
CN106780759A (zh) * | 2016-12-09 | 2017-05-31 | 深圳创维-Rgb电子有限公司 | 基于图片构建场景立体全景图的方法、装置及vr系统 |
CN108257219A (zh) * | 2018-01-31 | 2018-07-06 | 广东三维家信息科技有限公司 | 一种实现全景多点漫游的方法 |
-
2018
- 2018-07-16 CN CN201810778000.2A patent/CN110728755B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160277203A1 (en) * | 2013-11-12 | 2016-09-22 | Zhuhai Unitech Power Technology Co., Ltd. | Smart home scene switching method and system |
CN106548516A (zh) * | 2015-09-23 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 三维漫游方法和装置 |
CN105869201A (zh) * | 2016-03-25 | 2016-08-17 | 北京全景思维科技有限公司 | 在全景漫游中实现全景视图平滑切换的方法及装置 |
CN106780759A (zh) * | 2016-12-09 | 2017-05-31 | 深圳创维-Rgb电子有限公司 | 基于图片构建场景立体全景图的方法、装置及vr系统 |
CN108257219A (zh) * | 2018-01-31 | 2018-07-06 | 广东三维家信息科技有限公司 | 一种实现全景多点漫游的方法 |
Non-Patent Citations (1)
Title |
---|
李新华等: "基于柱面的多媒体全景漫游", 《计算机工程》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340598A (zh) * | 2020-03-20 | 2020-06-26 | 北京爱笔科技有限公司 | 一种添加交互标签的方法及装置 |
CN111340598B (zh) * | 2020-03-20 | 2024-01-16 | 北京爱笔科技有限公司 | 一种添加交互标签的方法及装置 |
CN111798562B (zh) * | 2020-06-17 | 2022-07-08 | 同济大学 | 一种虚拟建筑空间搭建与漫游方法 |
CN111798562A (zh) * | 2020-06-17 | 2020-10-20 | 同济大学 | 一种虚拟建筑空间搭建与漫游方法 |
CN111698425A (zh) * | 2020-06-22 | 2020-09-22 | 四川易热科技有限公司 | 一种实现实景漫游技术连贯性的方法 |
CN112506465A (zh) * | 2020-12-01 | 2021-03-16 | 建信金融科技有限责任公司 | 全景漫游中场景切换的方法和装置 |
CN112506465B (zh) * | 2020-12-01 | 2023-03-21 | 建信金融科技有限责任公司 | 全景漫游中场景切换的方法和装置 |
CN112686989A (zh) * | 2021-01-04 | 2021-04-20 | 北京高因科技有限公司 | 一种三维空间漫游实现方法 |
CN114004921A (zh) * | 2021-10-28 | 2022-02-01 | 北京百度网讯科技有限公司 | 动画显示方法、装置、设备以及存储介质 |
CN115272544A (zh) * | 2022-06-27 | 2022-11-01 | 北京五八信息技术有限公司 | 贴图方法、装置、电子设备及存储介质 |
CN115272544B (zh) * | 2022-06-27 | 2023-09-01 | 北京五八信息技术有限公司 | 贴图方法、装置、电子设备及存储介质 |
CN115512046A (zh) * | 2022-09-26 | 2022-12-23 | 如你所视(北京)科技有限公司 | 模型外点位的全景图展示方法和装置、设备、介质 |
CN115512046B (zh) * | 2022-09-26 | 2023-11-03 | 如你所视(北京)科技有限公司 | 模型外点位的全景图展示方法和装置、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110728755B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110728755B (zh) | 场景间漫游、模型拓扑创建、场景切换方法及系统 | |
US11217019B2 (en) | Presenting image transition sequences between viewing locations | |
CN106296783B (zh) | 一种结合空间全局3d视图和全景图片的空间展示方法 | |
US10403044B2 (en) | Telelocation: location sharing for users in augmented and virtual reality environments | |
CN111028336B (zh) | 场景切换方法及装置、存储介质 | |
WO2017092303A1 (zh) | 虚拟现实场景模型建立方法及装置 | |
CN107330978B (zh) | 基于位置映射的增强现实建模体验系统及方法 | |
WO2016114930A2 (en) | Systems and methods for augmented reality art creation | |
CN108269305A (zh) | 一种二维、三维数据联动展示方法和系统 | |
KR20070086037A (ko) | 장면 간 전환 방법 | |
CN112312111A (zh) | 虚拟图像的显示方法、装置、电子设备及存储介质 | |
US11023729B1 (en) | Providing visual guidance for presenting visual content in a venue | |
CN106530408A (zh) | 博物馆临时展览规划设计的系统 | |
Baker et al. | Splat: Spherical localization and tracking in large spaces | |
CN110889384A (zh) | 场景切换方法及装置、电子设备和存储介质 | |
CN110837297B (zh) | 一种信息处理方法和ar设备 | |
CN109949396A (zh) | 一种渲染方法、装置、设备和介质 | |
US10819952B2 (en) | Virtual reality telepresence | |
US10275939B2 (en) | Determining two-dimensional images using three-dimensional models | |
Schöning et al. | Interactive 3D Modeling | |
Lee et al. | Real-time 3D video avatar in mixed reality: An implementation for immersive telecommunication | |
CN112802183A (zh) | 一种三维虚拟场景重建的方法、装置以及电子设备 | |
Chalumattu et al. | Simplifying the process of creating augmented outdoor scenes | |
CN110232744A (zh) | 一种显示方法及装置 | |
WO2014130039A1 (en) | Relaying 3d information by depth simulation using 2d pixel displacement |
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 |