场景朝向确定方法及标记方法与流程

文档序号:27220629发布日期:2021-11-03 16:25阅读:191来源:国知局
场景朝向确定方法及标记方法与流程

1.本发明涉及计算机技术领域,具体地涉及一种场景朝向确定方法及标记方法。


背景技术:

2.目前,比较普遍使用的是二维矢量地图,对于东、西、南、北方向的标识很容易实现。比如,图1所示的百度地图,可以看到右下角有指南针的图标。如果旋转地图,指南针会跟着转动。
3.如果要进行室外大范围的场景真实模型的渲染和显示,对硬件的设备要求非常高,在一般的移动设备上很难实现模型的正常加载和优质渲染。所以,目前对于室外大范围场景的显示,一般采用将拥有大量模型数据的大场景渲染为全景图,将全景图作为三维场景的天空盒贴图,将相机置于天空盒中,通过相机角度渲染显示场景。若按照二维矢量地图那样标记指南针的朝向,则在三维场景中旋转相机(即切换视角)的过程中,虽然场景的朝向实际会发生明显变化,但其所标记的指南针的朝向不发生变化,由此,现有的二维场景的朝向的标记方式不适用于三维场景。


技术实现要素:

4.本发明的目的是提供一种场景朝向确定方法及标记方法,其不论在相机切换至什么视角的情况下,均可实时且准确地确定三维场景的朝向。
5.为了实现上述目的,本发明第一方面提供一种场景朝向的确定方法,所述确定方法包括:根据预设向量的起点与终点在全景图上的二维坐标,确定所述起点与所述终点在用于粘贴所述全景图的预设天空盒上的三维坐标,其中,所述预设向量的方向为特定方向;根据所述起点与所述终点在所述预设天空盒上的三维坐标,确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量;确定所述预设天空盒所在场景中的相机的位置向量在所述水平截面上的第二投影向量;以及根据所述第一投影向量与所述第二投影向量,确定所述预设天空盒所在场景的朝向。
6.优选地,在所述起点与所述终点均在所述预设天空盒的上半部分的情况下,所述确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量包括:根据所述起点以及所述终点在所述预设天空盒上的三维坐标,确定所述起点以及所述终点在所述水平截面上的投影坐标;以及根据所述起点与所述终点在所述水平截面上的投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
7.优选地,所述预设天空盒为球体天空盒。
8.优选地,在所述起点与所述终点均在所述预设天空盒的下半部分的情况下,所述确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量包括:根据所述起点以及所述终点在所述预设天空盒上的三维坐标,通过特定映射关系确定所述起点以及所述终点在所述水平截面上的特定投影坐标;以及根据所述起点与所述终点在所述水平截面上的特定投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
9.优选地,通过所述特定映射关系确定所述起点或所述终点在所述水平截面上的特定投影坐标包括:通过以下的映射关系确定所述起点或所述终点在所述水平截面上的特定投影坐标:s
i


(1

θ
i
/π)
×
cos(α
i
)
×
r
i
;以及t
i
=(1

θ
i
/π)sin(α
i
)
×
r
i
,其中,i=1、2;(r1,θ1,α1)与(r2,θ2,α2)分别为所述起点与所述终点在所述预设天空盒上的三维坐标;以及(s1,t1)与(s2,t2)分别为所述起点与所述终点在所述水平截面上的特定投影坐标。
10.优选地,所述确定所述预设天空盒所在场景的朝向包括:求取所述第二投影向量至所述第一投影向量的角度;以及将所求取的角度作为所述场景的朝向的偏移角。
11.优选地,所述预设向量的所述起点与所述终点分别对应于实际空间中的第一预设点与第二预设点,相应地,所述确定方法还包括:根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的位置信息,确定所述起点与所述终点在所述全景图上的二维坐标。
12.优选地,所述相机的位置信息包括位移信息、旋转信息与缩放信息,相应地,所述确定所述起点与所述终点在所述全景图上的二维坐标包括:根据所述相机的位移信息、旋转信息与缩放信息,确定所述相机的世界空间变换矩阵;根据所述相机的世界空间变换矩阵,确定相机的视口矩阵;以及根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的视口矩阵,确定所述起点与所述终点在所述全景图上的二维坐标。
13.通过上述技术方案,本发明创造性地首先确定全景图上的预设向量的起点与终点在预设天空盒上的三维坐标;然后根据所述起点与所述终点在所述预设天空盒上的三维坐标,确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量;然后确定场景中的相机的位置向量在所述水平界面上的第二投影向量;最后根据所确定的两个投影向量确定场景朝向。由此,本发明不论在相机切换至什么视角的情况下,均可实时且准确地确定三维场景的朝向。
14.本发明第二方面提供一种场景朝向的标记方法,所述标记方法包括:根据所述的场景朝向的确定方法,确定预设天空盒所在场景的朝向;以及在所述全景图上的预设位置标记所确定的朝向,以使所标记的朝向始终处于所述场景中的相机的视角范围内。
15.优选地,所述全景图包括实景区域与天空区域,相应地,所述预设位置为以所述全景图的中心为中心且分布在所述全景图的实景区域内的预设区域内的任一位置。
16.通过上述技术方案,本发明创造性地通过所述的场景朝向的确定方法,确定预设天空盒所在场景的朝向;然后在所述全景图上的预设位置标记所确定的朝向不论在相机切换至什么视角的情况下,均可实时且准确地表征三维场景的朝向。
17.本发明第三方面提供一种场景朝向的确定系统,所述确定系统包括:第一坐标确定装置,用于根据预设向量的起点与终点在全景图上的二维坐标,确定所述起点与所述终点在用于粘贴所述全景图的预设天空盒上的三维坐标,其中,所述预设向量的方向为特定方向;第一向量确定装置,用于根据所述起点与所述终点在所述预设天空盒上的三维坐标,确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量;第二向量确定装置,用于确定所述预设天空盒所在场景中的相机的位置向量在所述水平截面上的第二投影向量;以及朝向确定装置,用于根据所述第一投影向量与所述第二投影向量,确定所述预设天空盒所在场景的朝向。
18.优选地,在所述起点与所述终点均在所述预设天空盒的上半部分的情况下,所述第一向量确定装置包括:第一坐标确定模块,用于根据所述起点以及所述终点在所述预设天空盒上的三维坐标,确定所述起点以及所述终点在所述水平截面上的投影坐标;以及第一向量确定模块,用于根据所述起点与所述终点在所述水平截面上的投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
19.优选地,所述预设天空盒为球体天空盒。
20.优选地,在所述起点与所述终点均在所述预设天空盒的下半部分的情况下,所述第一向量确定装置包括:第二坐标确定模块,用于根据所述起点以及所述终点在所述预设天空盒上的三维坐标,通过特定映射关系确定所述起点以及所述终点在所述水平截面上的特定投影坐标;以及第二向量确定模块,用于根据所述起点与所述终点在所述水平截面上的特定投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
21.优选地,所述朝向确定装置包括:角度求取模块,用于求取所述第二投影向量至所述第一投影向量的角度;以及朝向确定模块,用于将所求取的角度作为所述场景的朝向的偏移角。
22.优选地,所述预设向量的所述起点与所述终点分别对应于实际空间中的第一预设点与第二预设点,相应地,所述确定系统还包括:第二坐标确定装置,用于根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的位置信息,确定所述起点与所述终点在所述全景图上的二维坐标。
23.优选地,所述相机的位置信息包括位移信息、旋转信息与缩放信息,相应地,所述第二坐标确定装置包括:第一矩阵确定模块,用于根据所述相机的位移信息、旋转信息与缩放信息,确定所述相机的世界空间变换矩阵;第二矩阵确定模块,用于根据所述相机的世界空间变换矩阵,确定相机的视口矩阵;以及第三坐标确定模块,用于根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的视口矩阵,确定所述起点与所述终点在所述全景图上的二维坐标。
24.有关本发明提供的场景朝向的确定系统的具体细节及益处可参阅上述针对场景朝向的确定方法的描述,于此不再赘述。
25.本发明第四方面提供一种场景朝向的标记系统,所述标记系统包括:所述的场景朝向的确定系统,用于确定所述全景图的朝向;以及标记装置,用于在所述全景图上的预设位置标记所确定的朝向,以使所标记的朝向始终处于所述场景中的相机的视角范围内。
26.优选地,所述全景图包括实景区域与天空区域,相应地,所述预设位置为以所述全景图的中心为中心且分布在所述全景图的实景区域内的预设区域内的任一位置。
27.有关本发明提供的场景朝向的标记系统的具体细节及益处可参阅上述针对场景朝向的标记方法的描述,于此不再赘述。
28.本发明第五方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现所述的场景朝向的确定方法的步骤和/或所述的场景朝向的标记方法的步骤。
29.本发明第六方面还提供一种电子设备,所述电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的计算机程序,所述至少一个处理器通过执行所述存储器存储的计算机程序实现所述的场景
朝向的确定方法的步骤和/或所述的场景朝向的标记方法的步骤。
30.本发明第七方面还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现所述的场景朝向的确定方法的步骤和/或所述的场景朝向的标记方法的步骤。
31.本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
32.以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
33.图1是现有的二维矢量地图的屏幕截图;
34.图2是本发明一实施例提供的场景朝向的确定方法的流程图;
35.图3是本发明一实施例提供的全景图上的坐标系的示意图;
36.图4是本发明一实施例提供的天空球的坐标系的示意图;
37.图5是本发明一实施例提供的场景朝向的标记方法的流程图;以及
38.图6是本发明一实施例提供的场景朝向的确定系统的结构图。
具体实施方式
39.以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
40.全景图(又称为720图),是一种使用球形360
°
视场角(fov)相机拍摄或由三维设计软件渲染输出的图片,其通过坐标转换可以包裹在一个球形物体上或者通过像素映射转为cubemap包裹在立方体上,以形成一个上下左右360
°
的空间。
41.图2是本发明一实施例提供的场景朝向的确定方法的流程图。如图2所示,所述确定方法可包括以下步骤s201

s204。
42.步骤s201,根据预设向量的起点与终点在全景图上的二维坐标,确定所述起点与所述终点在用于粘贴所述全景图的预设天空盒上的三维坐标。
43.其中,所述预设向量的方向为特定方向。例如,所述预设向量的方向可为正南向或正北向。也就是说,可根据实际需求选择特定方向(例如正南向或正北向)上的起点与终点。
44.在现有的使用全景图进行上下左右360
°
展示的产品中,通常会在图中标注一些兴趣点(其还可称为poi点)。在这些点上,一般会在用户交互界面上添加一个标签,用于展示此poi点的信息以及进行用户交互行为。例如在某图的中心添加蓝色标签和在其周围添加多个地标标签等。通常,这些标签的制作流程是,先使用三维设计软件渲染或使用全景相机拍摄出全景图,然后再在全景图上进行poi点的手工标注和信息录入。
45.在进行全景图的手工标注时,标注人员通常会记录poi点在全景图上的二维坐标。全景图一般是一张宽高比例为2:1的矩形图片,在计算机图形学中,对于纹理图片的坐标系统,通常以矩形左上角为原点(0,0)点,以矩形右下角为(1,1)点;以水平方向为u轴,并向右侧递增;以垂直方向为v轴,并向下递增,如图3所示。uv坐标的分量处于[0,1]区间内。当得到了poi点在全景图上的uv坐标后,再经过计算,转换为全景图包裹在三维球体后的三维世界坐标。
[0046]
传统的全景图的poi标注需要在全景图渲染或拍摄完毕后,手动在全景图的相应坐标处埋点标注,效率较低,还可能出现坐标偏离的现象。另外,当全景图的相机位置发生变化时,poi点的坐标需要重新标注;更加极端的例子是,在全景视频案例中,需要人工对每一帧图像中的poi点的坐标进行手工标注,其工作量巨大。
[0047]
在一实施例中,可采用在实际空间中的预设点(即poi点,例如北京市海淀区a地点)的已知的三维坐标及相机的位置信息(例如,位移、旋转与缩放信息)预先计算出该预设点在全景图上的相应的二维坐标。由于poi点的标注全部可由计算机程序自动计算,无需人工标注,节省了大量时间,从而可极大地提高作业效率。
[0048]
具体地,所述预设向量的所述起点与所述终点可分别对应于实际空间中的第一预设点与第二预设点。相应地,在执行步骤s201之前,所述确定方法还可包括:根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的位置信息,确定所述起点与所述终点在所述全景图上的二维坐标。
[0049]
其中,所述相机的位置信息可包括位移信息、旋转信息与缩放信息。相应地,所述确定所述起点与所述终点在所述全景图上的二维坐标可包括:根据所述相机的位移信息、旋转信息与缩放信息,确定所述相机的世界空间变换矩阵;根据所述相机的世界空间变换矩阵,确定相机的视口矩阵;以及根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的视口矩阵,确定所述起点与所述终点在所述全景图上的二维坐标。
[0050]
具体而言,所述相机可为球形相机。相应地,全景图即当所述相机fov为360
°
时的视口图像。首先,相机的世界空间变换矩阵是由相机的位移信息、旋转信息、缩放信息组成的4x4矩阵,其中位移信息和缩放信息由两个三维向量表示,旋转信息由一个四元向量表示。考虑相机的位移p(x,y,z)、旋转q(x,y,z,w)、缩放s(x,y,z),则相机的世界空间变化矩阵t可以按照如下公式计算:
[0051][0052]
然后,计算此矩阵t的逆矩阵,即可得到相机的视口矩阵m(其中,m可为列优先顺序的4x4矩阵)。
[0053]
最后,根据相机的视口矩阵m与第一预设点的三维坐标poi(x1,y1,z1),及以下关系式,确定变换后的第一预设点的三维坐标poi
transformed
(x1,y1,z1)。
[0054]
poi
transformed
(x1)=(m(0)
·
poi(x1)+m(4)
·
poi(y1)+m(8)
·
poi(z1)+m(12))
·
w;
[0055]
poi
transformed
(y1)=(m(1)
·
poi(x1)+m(5)
·
poi(y1)+m(9)
·
poi(z1)+m(13))
·
w;
[0056]
poi
transformed
(z1)=(m(2)
·
poi(x1)+m(6)
·
poi(y1)+m(10)
·
poi(z1)+m(14))
·
w;
[0057]
其中,m(i)为视口矩阵m的第i个元素(按照第一行第一列开始计数0,向下逐行增1,到第一列最下端的元素后,转向第二列开始计数,类似地,直至最后一行最后一列的元素为止停止计数,例如m(0)为第一行第一列的元素;m(3)为第一列第四行的元素),再计算变换后的第一预设点的向量长度l1,
[0058][0059]
那么,所述第一预设点在全景图中的uv坐标(u1,v1)可按照如下关系式计算:
[0060]
且若u1<0,u1=u1+1;
[0061][0062]
类似地,可按照以上过程计算第二预设点poi(x2,y2,z2)在全景图中的uv坐标(u2,v2),于此不再进行赘述。
[0063]
其中,所述预设天空盒可为球体天空盒。在所述预设天空盒的形状为球体的情况下,所述起点与所述终点在该天空盒上的三维坐标为极坐标。
[0064]
在获得预设向量的起点与终点在全景图上的二维坐标的情况下,可根据这两个点的二维坐标确定所述起点与所述终点在所述预设天空盒上的三维坐标。
[0065]
下面将以所述预设天空盒的形状为球体的示例进行说明,下文可将球体状天空盒简称为天空球。
[0066]
天空球的中心点为panoscene坐标系的(0,0,0)点。上述获得全景图上的任意s点(例如第一预设点或第二预设点)的坐标(u,v)作为天空球网格的uv坐标,然后通过uv坐标计算全景图贴到天空球上时,s点(例如第一预设点或第二预设点)在panoscene三维场景中的位置(r,θ,α)。其中,r为球半径,θ为竖直方向的夹角,α为向量r在天空球的中心点所在的水平截面上的投影向量与x轴正向之间的角度(即方位角)。
[0067]
具体地,通过s点的坐标(u,v)及下式计算该s点在天空球上的极坐标:
[0068][0069]
由此,可按照上式分别计算所述起点(对应于所述第一预设点)与所述终点(对应于所述第二预设点)在天空球上的极坐标。
[0070]
若用三维空间中的直角坐标系表示,可按照下式计算s点在该场景中的三维位置坐标,
[0071][0072]
其中,θ=v
×
π;α=

u
×
π
×
2。由此,可按照上式分别计算所述起点(对应于所述第一预设点)与所述终点(对应于所述第二预设点)在天空盒中的三维位置坐标。
[0073]
步骤s202,根据所述起点与所述终点在所述预设天空盒上的三维坐标,确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量。
[0074]
其中,所述第一投影向量为所述预设天空盒所在场景的初始朝向(与所述初始向量的方向)。
[0075]
在所述起点与所述终点均在所述预设天空盒的上半部分的情况下,所述确定所述
预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量(即所述步骤s202)可包括:根据所述起点在所述预设天空盒上的三维坐标,确定所述起点在所述水平截面上的投影坐标;根据所述终点在所述预设天空盒上的三维坐标,确定所述终点在所述水平截面上的投影坐标;以及根据所述起点与所述终点在所述水平截面上的投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
[0076]
具体地,下面将以天空球的场景为例进行说明。根据所述起点在天空球上的极坐标(r1,θ1,α1)及方程组(2)中的前两个方程,确定所述起点在所述水平界面上的投影坐标为(x1,y1);类似地,根据所述终点在天空球上的极坐标(r2,θ2,α2)及方程组(2)中的前两个方程,确定所述终点在所述水平截面上的投影坐标为(x2,y2);然后根据所述起点与所述终点的投影坐标,确定所述预设向量在所述水平截面上的第一投影向量(x2‑
x1,y2‑
y1)。
[0077]
在所述起点与所述终点均在所述预设天空盒的下半部分的情况下,所述确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量(即所述步骤s202)包括:根据所述起点在所述预设天空盒上的三维坐标,通过特定映射关系确定所述起点在所述水平截面上的特定投影坐标;根据所述终点在所述预设天空盒上的三维坐标,通过所述特定映射关系确定所述终点在所述水平截面上的特定投影坐标;以及根据所述起点与所述终点在所述水平截面上的特定投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
[0078]
在所述预设天空盒为所述球体天空盒的情况下,通过所述特定映射关系确定所述起点或所述终点在所述水平截面上的特定投影坐标可包括:通过以下的映射关系确定所述起点或所述终点在所述水平截面上的特定投影坐标:
[0079]
s
i


(1

θ
i
/π)
×
cos(α
i
)
×
r
i
;以及
[0080]
t
i
=(1

θ
i
/π)
×
sin(α
i
)
×
r
i

[0081]
其中,i=1、2;(r1,θ1,α1)与(r2,θ2,α2)分别为所述起点与所述终点在所述预设天空盒上的三维坐标;以及(s1,t1)与(s2,t2)分别为所述起点与所述终点在所述水平截面上的特定投影坐标。
[0082]
为了准确的标识在所述水平截面的方位,考虑将天空球的下半球映射到水平地面上。这样,天空盒就是一个上方为半个球,下面邻接一个圆的地平面的样子。
[0083]
具体地,以天空球所在的场景为例进行说明。首先,根据所述起点在所述预设天空盒上的极坐标(r1,θ1,α1)及上述映射关系,可计算得到所述起点在所述水平截面上的投影坐标(s1,t1);然后,根据所述终点在所述预设天空盒上的极坐标(r2,θ2,α2)及上述映射关系,可计算得到所述终点在所述水平截面上的投影坐标(s2,t2);最后,根据所述起点与所述终点的投影坐标,计算所述预设向量在所述水平截面上的第一投影向量(s2‑
s1,t2‑
t1)。
[0084]
步骤s203,确定所述预设天空盒所在场景中的相机的位置向量在所述水平截面上的第二投影向量。
[0085]
首先,可分别确定所述相机(该相机用于拍摄与渲染所述全景图)的位置向量的起点与终点的坐标在所述水平截面上的投影坐标(具体过程可参见上文预设向量的起点与终点的相关计算过程);然后,根据所述起点与所述终点的投影坐标确定所述位置向量在所述水平截面上的投影坐标。
[0086]
步骤s204,根据所述第一投影向量与所述第二投影向量,确定所述预设天空盒所
在场景的朝向。
[0087]
对于步骤s204,所述确定所述预设天空盒所在场景的朝向可包括:求取所述第二投影向量至所述第一投影向量的角度;以及将所求取的角度作为所述场景的朝向的偏移角。
[0088]
在所述第一投影向量与所述水平截面上的某固定方向之间的夹角为angle且所述第二投影向量与所述固定方向之间的夹角为anglecamera的情况下,求取所述第二投影向量至所述第一投影向量的角度anglecompass满足anglecompass=anglecamera

angle。
[0089]
也就是说,在全景图上预先定义两点(这两点在实际空间中的连线作为正南方向(或正北方向)的连接线),该两点在天空盒的三维场景中的矢量为三维场景的初始朝向,然后随着三维场景的视角移动,可以更新这条连接线的矢量描述,从而计算三维场景中的指南针(或指北针)的偏移(即所述预设天空盒所在场景的实时朝向与初始朝向之间的夹角)。
[0090]
综上所述,本发明创造性地首先确定全景图上的预设向量的起点与终点在预设天空盒上的三维坐标;然后根据所述起点与所述终点在所述预设天空盒上的三维坐标,确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量;然后确定场景中的相机的位置向量在所述水平界面上的第二投影向量;最后根据所确定的两个投影向量确定场景朝向。由此,本发明不论在相机切换至什么视角的情况下,均可实时且准确地确定三维场景的朝向。
[0091]
图5是本发明一实施例提供的场景朝向的标记方法的流程图。如图5所示,所述标记方法可包括:步骤s501,根据所述的场景朝向的确定方法,确定预设天空盒所在场景的朝向;以及步骤s502,在所述全景图上的预设位置标记所确定的朝向,以使所标记的朝向始终处于所述场景中的相机的视角范围内。
[0092]
其中,所述全景图可包括实景区域与天空区域。相应地,所述预设位置为以所述全景图的中心为中心且分布在所述全景图的实景区域内的预设区域内的任一位置。
[0093]
在本实施例中,考虑到全景图的变形,将朝向的标注设置在全景图的中心区域且位于全景图下方的实景区域(即非天空区域)。由此,本实施例可通过标注的朝向实时且准确地表征地图的方向。
[0094]
综上所述,本发明创造性地通过所述的场景朝向的确定方法,确定预设天空盒所在场景的朝向;然后在所述全景图上的预设位置标记所确定的朝向不论在相机切换至什么视角的情况下,均可实时且准确地表征三维场景的朝向。
[0095]
图6是本发明一实施例提供的场景朝向的确定系统的结构图。如图5所示,所述确定系统可包括:第一坐标确定装置10,用于根据预设向量的起点与终点在全景图上的二维坐标,确定所述起点与所述终点在用于粘贴所述全景图的预设天空盒上的三维坐标,其中,所述预设向量的方向为特定方向;第一向量确定装置20,用于根据所述起点与所述终点在所述预设天空盒上的三维坐标,确定所述预设向量在所述预设天空盒的中心所在的水平截面上的第一投影向量;第二向量确定装置30,用于确定所述预设天空盒所在场景中的相机的位置向量在所述水平截面上的第二投影向量;以及朝向确定装置40,用于根据所述第一投影向量与所述第二投影向量,确定所述预设天空盒所在场景的朝向。
[0096]
优选地,在所述起点与所述终点均在所述预设天空盒的上半部分的情况下,所述第一向量确定装置包括:第一坐标确定模块,用于根据所述起点以及所述终点在所述预设
天空盒上的三维坐标,确定所述起点以及所述终点在所述水平截面上的投影坐标;以及第一向量确定模块,用于根据所述起点与所述终点在所述水平截面上的投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
[0097]
优选地,所述预设天空盒为球体天空盒。
[0098]
优选地,在所述起点与所述终点均在所述预设天空盒的下半部分的情况下,所述第一向量确定装置包括:第二坐标确定模块,用于根据所述起点以及所述终点在所述预设天空盒上的三维坐标,通过特定映射关系确定所述起点以及所述终点在所述水平截面上的特定投影坐标;以及第二向量确定模块,用于根据所述起点与所述终点在所述水平截面上的特定投影坐标,确定所述预设向量在所述水平截面上的第一投影向量。
[0099]
优选地,所述朝向确定装置包括:角度求取模块,用于求取所述第二投影向量至所述第一投影向量的角度;以及朝向确定模块,用于将所求取的角度作为所述场景的朝向的偏移角。
[0100]
优选地,所述预设向量的所述起点与所述终点分别对应于实际空间中的第一预设点与第二预设点,相应地,所述确定系统还包括:第二坐标确定装置,用于根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的位置信息,确定所述起点与所述终点在所述全景图上的二维坐标。
[0101]
优选地,所述相机的位置信息包括位移信息、旋转信息与缩放信息,相应地,所述第二坐标确定装置包括:第一矩阵确定模块,用于根据所述相机的位移信息、旋转信息与缩放信息,确定所述相机的世界空间变换矩阵;第二矩阵确定模块,用于根据所述相机的世界空间变换矩阵,确定相机的视口矩阵;以及第三坐标确定模块,用于根据所述第一预设点与所述第二预设点在所述实际空间中的三维坐标及所述相机的视口矩阵,确定所述起点与所述终点在所述全景图上的二维坐标。
[0102]
有关本发明提供的场景朝向的确定系统的具体细节及益处可参阅上述针对场景朝向的确定方法的描述,于此不再赘述。
[0103]
本发明一实施例还提供一种场景朝向的标记系统。所述标记系统可包括:所述的场景朝向的确定系统,用于确定所述全景图的朝向;以及标记装置,用于在所述全景图上的预设位置标记所确定的朝向,以使所标记的朝向始终处于所述场景中的相机的视角范围内。
[0104]
优选地,所述全景图包括实景区域与天空区域,相应地,所述预设位置为以所述全景图的中心为中心且分布在所述全景图的实景区域内的预设区域内的任一位置。
[0105]
有关本发明提供的场景朝向的标记系统的具体细节及益处可参阅上述针对场景朝向的标记方法的描述,于此不再赘述。
[0106]
本发明一实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现所述的场景朝向的确定方法的步骤和/或所述的场景朝向的标记方法的步骤。
[0107]
本发明一实施例还提供一种电子设备,所述电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的计算机程序,所述至少一个处理器通过执行所述存储器存储的计算机程序实现所述的场景朝向的确定方法的步骤和/或所述的场景朝向的标记方法的步骤。
[0108]
本发明一实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现所述的场景朝向的确定方法的步骤和/或所述的场景朝向的标记方法的步骤。
[0109]
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
[0110]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
[0111]
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0112]
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1