本发明涉及导航技术领域,尤其涉及一种全景地图显示方法和装置。
背景技术:
随着科技的进步,地图导航已成为用户生产和生活中常用的功能。而随着地图导航功能利用率的增加,用户的需求也愈发多样化。例如,通过全景展现用户当前所处地点的实时情景。全景,又称为3D实景,是以实景照片,通过特殊的拼合、处理而生成的视点图像。全景可以让用户身临其境,用户体验相比普通地图更加直观。
目前,全景显示仅仅是通过对摄像头获取的图像进行简单的拼接,场景切换简单,但动画效果差。
技术实现要素:
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种全景地图显示方法,能够有效地提升动画显示效果,提升用户使用体验。
本发明的第二个目的在于提出一种全景地图显示装置。
本发明的第三个目的在于提出一种终端设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为了实现上述目的,本发明第一方面实施例提出了一种全景地图显示方法,包括以下步骤:
获取当前场景的道路信息;
根据所述道路信息创建所述当前场景对应的盒模型;
获取所述当前场景的图像信息,并根据所述图像信息对所述盒模型进行贴图;
在当前显示屏幕展现所述贴图后的盒模型;
控制所述当前显示屏幕通过帧动画移动所述盒模型,以进行移动显示。
本发明实施例的全景地图显示方法,获取当前场景的道路信息,根据道路信息创建当前场景对应的盒模型,以及获取当前场景的图像信息,并根据图像信息对盒模型进行贴图,在当前显示屏幕展现贴图后的盒模型,最后控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示,能够有效地提升动画显示效果,提升用户使用体验。
另外,本发明实施例的全景地图显示方法,还具有如下附加的技术特征:
在本发明的一个实施例中,根据所述道路信息创建所述当前场景对应的盒模型,包括:
根据所述道路信息计算出所述当前场景对应的灭点坐标,所述灭点坐标为投影在所述当前显示屏幕上的坐标;
根据所述灭点坐标建立内矩形;
将所述当前显示屏幕作为外矩形;
根据所述外矩形和所述内矩形创建所述盒模型。
在本发明的一个实施例中,根据所述道路信息计算出所述当前场景对应的灭点坐标,包括:
根据所述道路信息创建模拟道路,并投影至所述当前显示屏幕;
根据投影后的模拟道路确定所述灭点坐标。
在本发明的一个实施例中,根据所述外矩形和所述内矩形创建所述盒模型,包括:
基于画中游模型创建所述盒模型。
在本发明的一个实施例中,所述方法还包括:
对所述盒模型进行网格化。
在本发明的一个实施例中,根据所述图像信息对所述盒模型进行贴图,包括:
计算所述图像信息中每个像素点投影到所述当前显示屏幕的坐标信息;
根据所述坐标信息对所述盒模型进行贴图。
在本发明的一个实施例中,在当前显示屏幕展现所述贴图后的盒模型,包括:
直接展现所述盒模型或者采用淡入淡出的方式展现所述盒模型。
在本发明的一个实施例中,所述方法还包括:
当所述盒模型移动显示时,预加载下一场景的道路信息。
为了实现上述目的,本发明第二方面实施例提出了一种全景地图显示装置,包括:
获取模块,用于获取当前场景的道路信息;
创建模块,用于根据所述道路信息创建所述当前场景对应的盒模型;
贴图模块,用于获取所述当前场景的图像信息,并根据所述图像信息对所述盒模型进行贴图;
展现模块,用于在当前显示屏幕展现所述贴图后的盒模型;
控制模块,用于控制所述当前显示屏幕通过帧动画移动所述盒模型,以进行移动显示。
本发明实施例的全景地图显示装置,获取当前场景的道路信息,根据道路信息创建当前场景对应的盒模型,以及获取当前场景的图像信息,并根据图像信息对盒模型进行贴图,在当前显示屏幕展现贴图后的盒模型,最后控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示,能够有效地提升动画显示效果,提升用户使用体验。
另外,本发明实施例的全景地图显示装置还具有如下附加的技术特征:
在本发明的一个实施例中,所述创建模块,包括:
计算单元,用于根据所述道路信息计算出所述当前场景对应的灭点坐标,所述灭点坐标为投影在所述当前显示屏幕上的坐标;
建立单元,用于根据所述灭点坐标建立内矩形;
处理单元,用于将所述当前显示屏幕作为外矩形;
创建单元,用于根据所述外矩形和所述内矩形创建所述盒模型。
在本发明的一个实施例中,所述计算单元,用于:
根据所述道路信息创建模拟道路,并投影至所述当前显示屏幕;
根据投影后的模拟道路确定所述灭点坐标。
在本发明的一个实施例中,所述创建单元,用于:
基于画中游模型创建所述盒模型。
在本发明的一个实施例中,还包括:
处理模块,用于对所述盒模型进行网格化。
在本发明的一个实施例中,所述贴图模块,用于:
计算所述图像信息中每个像素点投影到所述当前显示屏幕的坐标信息;
根据所述坐标信息对所述盒模型进行贴图。
在本发明的一个实施例中,所述展现模块,用于:
直接展现所述盒模型或者采用淡入淡出的方式展现所述盒模型。
在本发明的一个实施例中,还包括:
预加载模块,用于当所述盒模型移动显示时,预加载下一场景的道路信息。
为了实现上述实施例,本发明第三方面实施例提出了一种终端设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取当前场景的道路信息;
根据所述道路信息创建所述当前场景对应的盒模型;
获取所述当前场景的图像信息,并根据所述图像信息对所述盒模型进行贴图;
在当前显示屏幕展现所述贴图后的盒模型;
控制所述当前显示屏幕通过帧动画移动所述盒模型,以进行移动显示。
为了实现上述实施例,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器被执行时,使得终端设备能够执行一种全景地图显示方法,所述方法包括:
获取当前场景的道路信息;
根据所述道路信息创建所述当前场景对应的盒模型;
获取所述当前场景的图像信息,并根据所述图像信息对所述盒模型进行贴图;
在当前显示屏幕展现所述贴图后的盒模型;
控制所述当前显示屏幕通过帧动画移动所述盒模型,以进行移动显示。
为了实现上述实施例,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种全景地图显示方法,所述方法包括:
获取当前场景的道路信息;
根据所述道路信息创建所述当前场景对应的盒模型;
获取所述当前场景的图像信息,并根据所述图像信息对所述盒模型进行贴图;
在当前显示屏幕展现所述贴图后的盒模型;
控制所述当前显示屏幕通过帧动画移动所述盒模型,以进行移动显示。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的全景地图显示方法的流程图;
图2是根据本发明一个实施例的创建盒模型的流程图;
图3是根据本发明一个实施例的盒模型的效果示意图;
图4是根据本发明第一个实施例的全景地图显示装置的结构示意图一;
图5是根据本发明第一个实施例的全景地图显示装置的结构示意图二;
图6是根据本发明第一个实施例的全景地图显示装置的结构示意图三。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的全景地图显示方法和装置。
通常,在全景显示情况下,相关技术仅能通过对摄像头获取的图像进行简单的拼接,场景切换简单,但动画效果差。
为了解决上述问题,本发明提出了一种全景地图显示方法,具体如下:
可以理解,为了更直观的展现全景,本发明实施例的全景地图显示方法应用于全景地图中,这是由于全景地图是由真实世界的照片拼接组成的,可真实、客观的反映某一位置周边的图像信息,且在全景地图中具有真实的三维空间的体验感,还可自由的旋转缩放展示的全景图像等。
图1是根据本发明一个实施例的全景地图显示方法的流程图,如图1所示,该全景地图显示方法包括:
S101,获取当前场景的道路信息。
其中,道路信息可包括道路的宽度。当前场景指的是当前用户所处的位置及其周边的环境。举例来说,用户沿某条大街从东到西方向行驶,用户手持的移动终端开启全景显示,可通过全球定位系统用户所在的地点,从而获取该大街的宽度,如10米。由于用户不一定行驶在最中间的车道,因此大街的宽度仅为近似值。
S102,根据道路信息创建当前场景对应的盒模型。
在获取当前场景的道路信息之后,便可根据道路信息创建当前场景对应的盒模型。具体地,如图2所示,创建盒模型可包括以下步骤:
S1021,根据道路信息计算出当前场景对应的灭点坐标。
其中,灭点坐标为投影在当前显示屏幕上的坐标。在现实生活中,真实的道路左右两边是平行的。但是由于透视原理,这两条边不再平行。距离当前位置越远,两条边越趋近于相交,最终会相交于一点,这个点就是灭点。
具体地,可根据道路信息创建模拟道路,并投影至当前显示屏幕,然后根据投影后的模拟道路确定灭点坐标。以摄像头在路中心为例,摄像头正面对的方向为Z轴,与Z轴垂直的平面即当前显示屏幕所处的平面(摄像头所处平面)。已知路宽为W,相机高度为H,取道路左边的两个点-10和-20,取道路右边的两个点-10和-20。那么在3D立体场景中,以摄像头的位置为原点建立坐标,道路的左边可通过[(-W/2,-H,-10),(-W/2,-H,-20)]表示,道路的右边则可通过[(W/2,-H,-10),(W/2,-H,-20)]表示。而3D场景是通过透视投影之后展现到当前显示屏幕上的。透视图与人们观看物体时所产生的视觉效果非常接近,近大远小,道路的两条平行边会在远处会相交。交点即灭点,其坐标可通过道路的左边和右边的两条直线方程计算得到。
S1022,根据灭点坐标建立内矩形。
其中,内矩形所在的平面与摄像头所处的平面是平行的。因此,内矩形的底边与道路的两边是垂直相交的(未投影到当前显示屏幕时),交点分别为内矩形的左下角顶点和右下角顶点。左下角顶点和右下角顶点可确定内矩形的底边。根据预设的灭点到内矩形的底边的距离和灭点到内矩形顶边的距离,可计算出内矩形底边的直线方程。其中,灭点坐标为投影到当前显示屏幕上的坐标。也就是说,预设的灭点到内矩形的底边的距离和灭点到内矩形顶边的距离为投影在当前显示屏幕上的距离。它们为经验值,即根据先前经验获得的视觉效果最好的距离。通过底边的直线方程,可以确定内矩形底边和模拟道路两边的焦点,由此确定内矩形的左下顶点和右下顶点。再根据已知的内矩形高度,可计算出内矩形的左上顶点和右上定点的坐标。最终,根据四个顶点的坐标建立起内矩形。
S1023,将当前显示屏幕作为外矩形。
具体地,可将当前显示屏幕作为盒模型的外矩形。
S1024,根据外矩形和内矩形创建盒模型。
具体地,在获得内矩形和外矩形后,可基于画中游模型创建盒模型。其中,画中游模型是一种以单幅图像作为输入、面向有几何灭点特征的场景,可以在二维图像中获得三维的漫游效果的模型。举例来说,内矩形底边到外矩形底边距离为m1;灭点到内矩形顶边距离为m2;灭点到内矩形左边距离为p1;灭点到内矩形右边距离为p2;灭点到外矩形底边距离为vh。盒模型的相对深度为d,其中,d=m1*f/(vh-m1),f为摄像头的相机视距。盒模型的高度为h,其中,h=vh+m2*(f+d)/f。盒模型的宽度为W。其中,宽度等于左侧宽度加上右侧宽度,即W=W1+W2。左侧宽度W1=p1*(f+d)/f,右侧宽度W2=p2*(f+d)/f。最终,可计算出盒模型的外矩形4个顶点以及内矩形4个顶点的坐标,从而创建出盒模型。创建出的盒模型可如图3所示。另外,盒模型前沿的深度为预设值d/5。根据该前沿的深度可以得到摄像头无法拍摄到的周边信息,即摄像头拍摄角度以外的图像信息。在用户向后移动时,可展示出摄像头无法拍摄到的全景信息。
此外,在建立盒模型之后,还可对盒模型进行网格化。为了提升动画显示效果,避免显示的图像出现拉伸情况,可对盒模型进行网格化,以减小图像的形变,提升显示效果。
S103,获取当前场景的图像信息,并根据图像信息对盒模型进行贴图。
具体地,可计算图像信息中每个像素点投影到当前显示屏幕的坐标信息,然后根据坐标信息对盒模型进行贴图。
S104,在当前显示屏幕展现贴图后的盒模型。
具体地,可在当前显示屏幕直接展现贴图后的盒模型或者采用淡入淡出的方式展现贴图后盒模型。
S105,控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示。
举例来说,在用户向前移动时,可通过当前显示屏幕通过帧动画的形式移动盒模型。即,使用户感觉自身保持不动,而盒模型沿着用户面向的方向反向移动,从而进行全景地图的展示。通过盒模型的方式展现能够有效地提升动画显示效果。
此外,当盒模型移动显示时,还可预加载下一场景的道路信息。预先加载下一场景的道路信息,可以进一步提高全景切换时动画的流畅度,给用户带来更加真实的使用感受。
综上,本发明实施例的全景地图显示方法,获取当前场景的道路信息,根据道路信息创建当前场景对应的盒模型,以及获取当前场景的图像信息,并根据图像信息对盒模型进行贴图,在当前显示屏幕展现贴图后的盒模型,最后控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示,能够有效地提升动画显示效果,提升用户使用体验。
为了实现上述实施例,本发明还提出了一种全景地图显示装置。
图4是根据本发明一个实施例的全景地图显示装置的结构示意图一。
如图4所示,该全景地图显示装置包括获取模块110、创建模块120、贴图模块130、展现模块140和控制模块150。
获取模块110取当前场景的道路信息。
创建模块120述道路信息创建当前场景对应的盒模型。
其中,创建模块120包括计算单元121、建立单元122、处理单元123和创建单元124。
计算单元121用于根据道路信息计算出当前场景对应的灭点坐标。
建立单元122用于根据灭点坐标建立内矩形。
处理单元123用于将当前显示屏幕作为外矩形。
创建单元124用于根据外矩形和内矩形创建盒模型。
贴图模块130用于获取当前场景的图像信息,并根据图像信息对盒模型进行贴图。
展现模块140用于在当前显示屏幕展现贴图后的盒模型。
控制模块150用于控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示。
此外,如图5所示,本发明实施例的全景地图显示装置还包括处理模块160。
处理模块160用于对盒模型进行网格化。
此外,如图6所示,本发明另一实施例的全景地图显示装置还包括预加载模块170。
预加载模块170用于当盒模型移动显示时,预加载下一场景的道路信息。
需要说明的是,前述对全景地图显示方法实施例的解释说明,也适用于对本发明全景地图显示装置实施例的解释说明,其实现原理类似,在此不再赘述。
综上,本发明实施例的全景地图显示装置,获取当前场景的道路信息,根据道路信息创建当前场景对应的盒模型,以及获取当前场景的图像信息,并根据图像信息对盒模型进行贴图,在当前显示屏幕展现贴图后的盒模型,最后控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示,能够有效地提升动画显示效果,提升用户使用体验。
为了实现上述实施例,本发明还提出了一种终端设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
获取当前场景的道路信息;
根据道路信息创建当前场景对应的盒模型;
获取当前场景的图像信息,并根据图像信息对盒模型进行贴图;
在当前显示屏幕展现贴图后的盒模型;
控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示。
为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,当存储介质中的指令由终端设备的处理器被执行时,使得终端设备能够执行一种全景地图显示方法,方法包括:
获取当前场景的道路信息;
根据道路信息创建当前场景对应的盒模型;
获取当前场景的图像信息,并根据图像信息对盒模型进行贴图;
在当前显示屏幕展现贴图后的盒模型;
控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示。
为了实现上述实施例,本发明还提出了一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行一种全景地图显示方法,方法包括:
获取当前场景的道路信息;
根据道路信息创建当前场景对应的盒模型;
获取当前场景的图像信息,并根据图像信息对盒模型进行贴图;
在当前显示屏幕展现贴图后的盒模型;
控制当前显示屏幕通过帧动画移动盒模型,以进行移动显示。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。