一种基于unity的POI标签显示的虚拟仿真方法与流程

文档序号:17925606发布日期:2019-06-15 00:23阅读:501来源:国知局
一种基于unity的POI标签显示的虚拟仿真方法与流程

本申请实施例涉及安防监控领域,尤其涉及一种基于unity的poi标签显示的虚拟仿真方法。



背景技术:

在地理信息系统中,一个poi可以是一栋房子、一个商铺、一个邮筒、一个公交站等,是地图的重要信息。poi位置的存储方法是其实际物体的经纬度存储下来,具备poi数据会让地图构建地更丰富。在主流的视频监控系统中,具备经纬度的poi主要是以2d图片模式呈现在视频当中,即将其经纬度与摄像头经纬度进行计算,算出其相对摄像头屏幕下相对位置,并实时刷新poi数据。

安防行业中的视频监控,正逐步转变为更具人工智能,更具ar化的视频监控。目前前端技术比较粗糙,仍大部分以wpf,mfc平面设计软件为主。对于ar化的信息,以及poi数据交互并不友好,信息都以平面的形式叠加在视频图层上面。难以充分体现标签ar化的信息量。具体描述如下:

目前对显示poi技术手段是,1.摄像机有一个可视化区域,首先依据当前区域下摄像机视场角,摄像机的转向角以及目标单个poi的gps数据进行计算,得出当前区域下是否会出现这个poi标签。2.如果会出现,就进行poi的2d图像创建。接着根据单个poi标签自身的gps以及摄像机的gps进行复杂运算,求得单个标签相对于屏幕的二维坐标,让poi标签移动到此坐标。3.实时刷新计算,一直调整poi标签的最新位置值,让poi标签符合球机的实际运动。

缺陷在于:1.poi的标签是覆盖整个地图区域的,数量巨大,一线城市下以监控摄像头为中心的半径2公里即有上万个标签,如各类医院,酒店,商家,路标等。用普通平面设计软件制作,需要实时进行复杂的poi相关坐标计算,占用大量cpu内存资源,如果需要同时呈现大量的poi,程序需要负担大量的计算量,客户端有可能出现卡顿甚至崩溃。2.平面化的图标难以体现实际poi的远近关系,同等大小的图标会挤满整个屏幕,若进行缩小筛选,需要用算法进行计算远近估计,并缩放图标的大小,继续加重程序运算量。

以上基于现有技术的poi显示技术方法,poi的标签是覆盖整个地图区域的,数量巨大,需要实时进行复杂的poi相关坐标计算,占用大量cpu内存资源,导致客户端有可能出现卡顿甚至崩溃,且平面化的图标不能体现实际poi的远近关系的技术问题。



技术实现要素:

本申请实施例提供了一种基于unity的poi标签显示的虚拟仿真方法解决了目前基于现有技术的poi显示技术方法,poi的标签是覆盖整个地图区域的,数量巨大,需要实时进行复杂的poi相关坐标计算,占用大量cpu内存资源,导致客户端有可能出现卡顿甚至崩溃,且平面化的图标不能体现实际poi的远近关系的技术问题。

本申请实施例提供了一种基于unity的poi标签显示的虚拟仿真方法,包括:

在unity中建立主摄像机以及底层画布,在所述底层画布上实现摄像机实时视频流的播放,并将图层级别设置为最低位;

实时获取摄像机信息,通过对所述摄像机的pt数据进行直角坐标系的转换,实现所述摄像机实时运动的模拟;

标注poi标签,并将所有poi数据存储于数据库中,通过获取所述poi数据,将所述poi数据中的gps坐标进行坐标系转换运算,得出所述poi数据中的gps坐标相对于unity中以原点基础的直角坐标系坐标;

建立对象池,对所述poi标签和与之对应的实体进行管理;

通过图层叠加,用所述poi标签遮挡所述与之对应的实体后进行显示。

优选地,所述摄像机信息储存于dll库中。

具体地,所述通过对所述摄像机的pt数据进行直角坐标系的转换,实现所述摄像机实时运动的模拟具体为:

获取所述摄像机的基本数据,并根据所述摄像机的pt数据进行直角坐标系的转换,通过控制场景中的主摄像机视场角,旋转角度,来模拟摄像机的实时运动;

所述摄像机的基本数据包括所述摄像机球机转动的pt坐标,gps坐标,视场角大小。

优选地,所述pt坐标包括所述摄像机球机的偏转角和俯仰角。

优选地,通过建立专门服务器用于获取所述poi数据,unity客户端通过所述服务器获取所述poi数据。

优选地,所述poi数据存储于内存当中,且所述unity客户端与所述服务器添加有代码层,运用对象池存储所述poi数据。

优选地,得出的所述poi数据中的gps坐标相对于unity中以原点基础的所述直角坐标系坐标,通过定制的map类数据结构存储。

优选地,当摄像机播放视频码流或者在缩小的地图对poi信息显示时,所述poi数据能够根据视图环境进行适时匹配显示。

具体地,建立对象池,对所述poi标签和与之对应的实体进行管理具体为:

当需要生成的poi标签数量大于已经生成的poi实体数量时,新增3d实体标签,并将所述3d实体标签并入对象池进行管理;

当需要生成的poi标签数量小于或者等于已经生成的poi实体数量时,根据所述poi数据更改原有的poi标签,并把多余的poi标签进行隐藏;

对动态新增和更改已生成的poi3d实体标签,进行渲染效果呈现。

具体地,通过图层叠加,用所述poi标签遮挡所述与之对应的实体后进行显示具体为:

运用图层叠加,将所述poi标签遮挡视频的播放界面,再依据摄像机回传的实际感光值,通过感光值得出渲染烘培参数,根据所述渲染烘培参数对所述poi标签进行渲染烘培。

优选地,在视频播放过程中,对可视化区域的所述poi标签调用3d立体视觉算法,与2d实时视频进行融合,且所述poi数据为实际创建的3d物体能够调控大小。

优选地,所述unity为unity3d。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供了一种基于unity的poi标签显示的虚拟仿真方法包括:在unity中建立主摄像机以及底层画布,在所述底层画布上实现摄像机实时视频流的播放,并将图层级别设置为最低位;实时获取摄像机信息,通过对所述摄像机的pt数据进行直角坐标系的转换,实现所述摄像机实时运动的模拟;标注poi标签,并将所有poi数据存储于数据库中,通过获取所述poi数据,将所述poi数据中的gps坐标进行坐标系转换运算,得出所述poi数据中的gps坐标相对于unity中以原点基础的直角坐标系坐标;建立对象池,对所述poi标签和与之对应的实体进行管理;通过图层叠加,用所述poi标签遮挡所述与之对应的实体后进行显示,解决了目前基于现有技术的poi显示技术方法,poi的标签是覆盖整个地图区域的,数量巨大,需要实时进行复杂的poi相关坐标计算,占用大量cpu内存资源,导致客户端有可能出现卡顿甚至崩溃,且平面化的图标不能体现实际poi的远近关系的技术问题。

附图说明

图1为本申请实施例中一种基于unity的poi标签显示的虚拟仿真方法的一个实施例的流程示意图;

图2为本申请实施例中一种基于unity的poi标签显示的虚拟仿真方法的一个实施例的坐标示意图;

图3为本申请实施例中一种基于unity的poi标签显示的虚拟仿真方法的一个实施例的显示示意图。

具体实施方式

本申请实施例提供了一种基于unity的poi标签显示的虚拟仿真方法解决了目前基于现有技术的poi显示技术方法,poi的标签是覆盖整个地图区域的,数量巨大,需要实时进行复杂的poi相关坐标计算,占用大量cpu内存资源,导致客户端有可能出现卡顿甚至崩溃,且平面化的图标不能体现实际poi的远近关系的技术问题。

为使得本申请实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请实施例一部分实施例,而非全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。

请参阅图1,本申请实施例提供的一种基于unity的poi标签显示的虚拟仿真方法以unity为基础框架进行构建,包括:

在unity中建立主摄像机以及底层画布,在所述底层画布上实现摄像机实时视频流的播放,并将图层级别设置为最低位;

实时获取摄像机信息,通过对所述摄像机的pt数据进行直角坐标系的转换,实现所述摄像机实时运动的模拟;

标注poi标签,并将所有poi数据存储于数据库中,通过获取所述poi数据,将所述poi数据中的gps坐标进行坐标系转换运算,得出所述poi数据中的gps坐标相对于unity中以原点基础的直角坐标系坐标;

建立对象池,对所述poi标签和与之对应的实体进行管理;

通过图层叠加,用所述poi标签遮挡所述与之对应的实体后进行显示。

优选地,所述摄像机信息储存于dll库中。

在一些具体的实施例中,所述通过对所述摄像机的pt数据进行直角坐标系的转换,实现所述摄像机实时运动的模拟具体为:

获取所述摄像机的基本数据,并根据所述摄像机的pt数据进行直角坐标系的转换,通过控制场景中的主摄像机视场角,旋转角度,来模拟摄像机的实时运动;

所述摄像机的基本数据包括所述摄像机球机转动的pt坐标,gps坐标,视场角大小。

优选地,所述pt坐标包括所述摄像机球机的偏转角和俯仰角。

优选地,通过建立专门服务器用于获取所述poi数据,unity客户端通过所述服务器获取所述poi数据。

优选地,所述poi数据存储于内存当中,且所述unity客户端与所述服务器添加有代码层,对象池存储所述poi数据。

优选地,得出的所述poi数据中的gps坐标相对于unity中以原点基础的所述直角坐标系坐标,通过定制的map类数据结构存储。

优选地,当摄像机播放视频码流或者在缩小的地图对poi信息显示时,所述poi数据能够根据视图环境进行适时匹配显示。

在一些具体的实施例中,建立对象池,对所述poi标签和与之对应的实体进行管理具体为:

当需要生成的poi标签数量大于已经生成的poi实体数量时,新增3d实体标签,并将所述3d实体标签并入对象池进行管理;

当需要生成的poi标签数量小于或者等于已经生成的poi实体数量时,根据所述poi数据更改原有的poi标签,并把多余的poi标签进行隐藏;

对动态新增和更改已生成的poi3d实体标签,进行渲染效果呈现。

在一些具体的实施例中,通过图层叠加,用所述poi标签遮挡所述与之对应的实体后进行显示具体为:

运用图层叠加,将所述poi标签遮挡视频的播放界面,再依据摄像机回传的实际感光值,通过感光值算法,得出渲染烘培参数,根据所述渲染烘培参数对所述poi标签进行渲染烘培。

优选地,在视频播放过程中,对可视化区域的所述poi标签调用3d立体视觉算法,与2d实时视频进行融合,且所述poi数据为实际创建的3d物体能够调控大小。

优选地,所述unity为unity3d。

需要说明的是,本申请实施例中以unity为基础框架进行构建,主要就是为了从根本上改变完全以2d图片形式呈现poi数据信息的方式,解决需要复杂的手动计算poi坐标的情况,降低程序计算量和运行的内存。在不减少poi数据量的同时,以3d的方式更直观立体呈现poi的地图信息。并且优化控制poi的数据存储结构。而unity是3d游戏引擎,能很好地兼容3d以及2d的游戏制作,除了带来更多元化的设计,还会有良好的可拓展性以及虚拟建模的接口,提供更稳定的框架。

本申请实施例通过以下所述来实现:

1.在unity3d中建立主摄像机以及底层画布,在底层画布上实现摄像机实时视频流的播放,图层级别置为最低位。

2.在程序依赖的dll库中,实时对摄像机信息进行获取。获取球机转动的pt坐标包括偏转角和俯仰角,gps坐标,视场角大小等摄像机基本数据。根据摄像机的pt数据进行直角坐标系的转换,控制场景中的主摄像机视场角,旋转角度,以模拟摄像机的实时运动,即让主摄像机呈现相同的视场角和可视化区域。达到最大程度还原实时场景的效果。

3.poi数据全部存储于数据库中,通过建立一个服务器进行获取poi数据,且poi数据用内存进行存储,让unity3d客户端连接服务器进行获取。并且新增中间代码层,对象池存储poi数据。

4.程序初始化的时候,在后台线程,对所有poi数据中的gps进行坐标系转换算法,生成相对于unity3d中以原点为基础的直角坐标系坐标,用定制的map类数据结构存储起来。当摄像机播放视频码流时,或者在小地图显示poi信息的时候,在当前视图环境下匹配合适显示的poi数据。

运用实体对象池,如果当前需要生成的poi实体标签数量大于已经生成的poi实体数量,就新增3d实体标签,并入对象池管理,如果当前需要生成的poi实体标签数量小于或者等于已经生成的poi实体数量,则能够不需要动态创建新的标签,根据poi数据更改原有的实体标签,并把多余的实体标签进行隐藏。如此,对动态生成或更改已生成的poi3d实体标签,进行渲染效果呈现。已实体呈现的poi标签无须使用动态更改位置的算法,也无须每一次更变显示要求都大量销毁大量删除标签,能大量减少计算量和计算机内存的负荷。特殊存储对象池可操作和管理多达上万的poi标签。

5.运用图层叠加的方法,将实体的3dpoi标签遮挡视频的播放界面,主摄像机能够看到poi实体标签,也能够看到实时码流视频播放,如图3所示。再依据摄像机回传的实际感光值,对poi实体标签进行渲染烘培,预设输入感光值的算法,该算法以线性补偿算法为原型,输出渲染烘培参数,算法补偿的效果能够保留标签的立体感同时,让其与二维平面视觉交融性更好。

在视频播放过程中,对可视化区域的poi标签调用3d立体视觉算法,与2d实时视频进行融合。poi数据为实际创建的3d物体,自动具备远近大小,亦可调控其大小。

与传统方案对比,本申请实施例一种基于unity的poi标签显示的虚拟仿真方法具有以下优点:

1.能够避免原有技术下实时刷新poi图像。

2.poi数据以3d模式呈现出来,图像拟合算法让视觉效果更为直观立体。

3.能够良好的调控显示过万的poi数据,优良的对象池调控算法让程序动态损耗减少到最低,poi渲染优化算法能够使poi数据与视频契合程度高。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1