立体校园在线漫游系统
2017-04-15王凯鞠伟嘉张高曼桂易琪
王凯+鞠伟嘉+张高曼+桂易琪
摘要:随着时代的进步,科学技术的不断发展,尤其是智能手机的出现,我们对信息的获取越来越方便。同时,随着智能手机在学生群体的普及,提供针对学生的信息服务日趋重要。在面对越来越大的校区,一套立体校园在线漫游系统的出现就变得非常的重要。本课题是以智能手机为平台,构建的一个集互联网、全景拼接和显示技术为一体的在线全景漫游系统。
全景漫游技术可以实现虚拟场景漫游,因其具有良好的交互性而受到众多用户的青睐。传统漫游技术基于QuickTime、Flash等实现,标准不统一,依赖性强、集成性差。由于HTML5的问世,基于WebGL库的全景漫游技术将很好地解决上述问题。全景漫游技术,首先需要采集大量的图片提供全景图像合成所需素材,其次利用分割软件完成全景图片的处理,最后利用three.js技术来完成全景漫游功能,可以方便地进行场景的平移观看。
该文主要叙述了立体校园在线漫游系统的需求分析、设计、实现以及测试等相关内容。需求分析从用户需求和系统需求两方面以及系统需求中的功能需求和非功能需求等方面展开。通过使用图形和表格直观、清楚地实现一整套系统架构的设计。本系统一共分为三个部分,第一部分是数据采集;第二部分是全景拼接;第三部分是全景显示。在实现部分,采用EmguCV库实现全景拼接功能,使用JSP技术,配合MySQL数据库,实现系统管理功能。最后利用Android实现全景图片的显示功能。
关键词:全景漫游技术;Android
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)34-0248-03
1 概述
我们正处在21世纪,这是一个信息时代,网络的开放性、交互性、共享性、超媒体、大容量等优势,给我们的生活和工作都带来很多方便。目前,地图导航主要是二维地图的导航,但是二维地图不能直观地显示当前路面环境信息,而随着各大高校的日趋扩大,师生办事常常很难找到办事员所在的办公室,而且二维地图只能看到建筑平面图即使到了目的地也不一定能够找到,所以我们需要一种可以直观地显示校区内建筑信息的方法。
如今虚拟现实技术和三维虚拟环境发展迅速,三维全景虚拟现实技术将会给校园的宣传、展示提供全新的表现形式。随着近几年智能手机在学生群体中的不断普及,以及手机硬件功能的日益强大,各种复杂的、对硬件要求较高的手机应用有了实现的基础,具有极大的发展前景[1]。那么,能不能利用这些技术达到我们的目的改变传统二维地图只显示平面图的缺点呢?因此,我们不断地研究,经过多次论证,设计开发出一套立体校园在线漫游系统。
用Android手机为平台,推出立体校园在线漫游系统应用[2]。该应用使用立体全景技术、立体定位技术、数据智能搜索技术,将各种校园资源和应用服务进行整合集中展现在移动智能手机客户端上,为学生、教室和访客带来了便利的移动信息服务。
2 研究意义
校园有了全景虚拟校园展示,可以实现随时随地掌上参观优美的校园环境,展示学校的实力,吸引更多得生源。假如可以把校园环境、重点实验室、图书馆、校园周边生活等设施通过网络立体地展现出来,让老师、学生、家长等仅需通过一部手机,就能身临其境地感受优美的校园风光、良好的教学环境,将对学校的招生工作起到很大的作用[3]。而且现在的大学校区较以前都扩大了,对于刚入校的学生来说,要找到具体的某个教室或办公室都是十分困难的,如果可以做到立体定位,只要在手机应用上输入要查询的校区、教室编号或办公室,就可以在地图上标注出来,方便了学生。
立体校园在线漫游系统总体目标是:利用先进成熟的计算机软件开发技术与定位技术,开发出一款基于智能手机平台的应用软件,通过该软件实现对学校进行立体浏览,并查看周边相关服务。
3 系统总体设计
本项目由四个部分组成。第一部分,用相机进行各大校区全景素材的采集,并进行统一编号管理。第二部分,使用自主开发的全景图片拼接软件将采集到的素材拼接成全景图,然后切割成四等分编号打包。第三部分,使用B/S架构服务器,将全景图做成网页显示,便于Android端显示。第四部分,使用Android中WebView控件显示全景图片,根据服务器API数据確定移动方向,实现漫游。
4 具体实现
本章节详细地介绍立体校园在校漫游系统的各个功能模块的布局和实现效果以及操作流程。
4.1全景拼接模块
该模块完成了全景拼接的功能需求。可将之前采集的素材图片拼接成完整的全景图。同时,为了配合后面全景图片在三维场景显示,可以选择将全景图片切割成四张相同大小的图片。
全景拼接软件使用C#编写。如图2,在“文件”菜单中选择“导入”子菜单,可以选择磁盘上的待拼接图片,点击拼接按钮可以实现拼接。左边显示导入的图片,右边显示拼接完成后的全景图片。
全景拼接功能的实现。打开合成软件,自动进行初始化。初始化主要是对软件调用显卡的一些配置。导入图片素材,备用。点击拼接按钮进行图像拼接。若失败则初始化软件,若成功显示合成后的全景图。点击保存按钮可以将图片保存到本地。
4.2后台管理模块
后台管理系统是使用JSP技术开发的动态网页。网页设计使用BootStrap3.0响应式布局框架,美观大方。数据库使用流行的MySQL 5.6版本,同时使用ORM框架Hibernate进行数据的增加、删除、修改、查找[4]。后台开发使用Java语言,基于JSP开发,实现了登录功能和数据管理功能。服务器使用Apache的Tomcat 8.0搭建。
如图3,在管理员登录该后台系统之后,Session将登录信息保持。点击左边导航栏可以查看管理校区信息、学院信息、建筑信息和建筑功能信息。校区信息管理功能主要对校区信息进行管理,如校区名称、地理位置管理。学院管理功能主要对学院信息进行管理,如学院名称以及学院所在校区管理。建筑信息管理功能主要对建筑名称进行管理,消除各大校区建筑信息数据的冗余。建筑功能信息管理主要针对各校区建筑的详细信息进行管理。所有数据用于服务器与Android端的数据传输,以B/S模式开发的后台管理系统可以方便有效的管理和维护数据,为整个系统提供可靠的数据支持[5]。
4.3移动全景漫游模块
移动全景显示模块是基于Android手机平台实现的。为了便于在校师生能够快速的定位和导航到所需要的校区,该模块还加入了二维地图导航模块。
该功能是本系统全景图片显示功能。图4展示了全景图片的一个局部,在实际操作中,用手指在智能手机的触摸屏上左右滑动,就可以查看全景图,用户可以非常清楚、直观地了解到该校区的真实情况。该功能的实现是利用Android中的WebView浏览器控件从服务器上加载特定位置的全景显示网页。因为运行在服务器上的全景显示网页是用了JavaScript技术,所以在初始化WebView的时候需要将WebView设置成允许运行JavaScript程序的模式,以便网页可以正常显示[6]。同时加入漫游路径提示,只要点击图中方位按钮,就可以加载当前位置对应方位的全景图,实现真正的在线漫游。
4.4地图导航模块
该功能是立体在线漫游系统中移动端的地图导航功能。通过点击主界面的路线菜单弹出一个对话框。该对话框本质是一个Activity,在对话框中可以选择要到达的校区以及导航的方式。主Activity通过start Activity For Result方法启动导航Activity,同时重写on Activity Result方法,用于返回导航所选的校区和方式信息。在主Activity接到回调信息后,根据具体情况在二维地图上画出导航路线。
图6为扬州大学广陵学院路南校区前往扬州大学荷花池校区的步行路线图。图中标有行人的圆圈标记是导航指引,点击标记就可以查看具体路线怎么走。
5 结束语
本文描述了基于全景技术的校园在线漫游系统的开发流程,并加入LBS服务使得系统更加完善。该系统面向在校师生,通过移动应用可以方便直观的浏览校园全景图,也可以导航校区各个场馆办公室等。与此同時,该系统也存在不足,整个全景拼接过程从素材采集到图像拼接较为机械,重复的劳动过多。因此在今后的设计中提高系统的自动化水平显得较为重要。
参考文献:
[1] 李慧.刍议校园360度全景展示技术的实现[J].科技资讯,2012(5).
[2] 张波.智能手机在高校的宣传应用模式探讨[J].中国新通信,2014(6).
[3] 王正梅.浅析多校区大学管理模式及其管理要点[J].科教导刊,2012(6).
[4] 许宏图.STRUTS和HIBERNATE在企业应用中的研究[D]. 天津:天津大学,2005.
[5] 王雨竹.MySQL入门经典[M].北京:机械工业出版社,2013.
[6] 李刚.疯狂Android讲义[M].2版. 北京:电子工业出版社,2013.