王凱+鞠偉嘉+張高曼+桂易琪
摘要:隨著時代的進(jìn)步,科學(xué)技術(shù)的不斷發(fā)展,尤其是智能手機(jī)的出現(xiàn),我們對信息的獲取越來越方便。同時,隨著智能手機(jī)在學(xué)生群體的普及,提供針對學(xué)生的信息服務(wù)日趨重要。在面對越來越大的校區(qū),一套立體校園在線漫游系統(tǒng)的出現(xiàn)就變得非常的重要。本課題是以智能手機(jī)為平臺,構(gòu)建的一個集互聯(lián)網(wǎng)、全景拼接和顯示技術(shù)為一體的在線全景漫游系統(tǒng)。
全景漫游技術(shù)可以實(shí)現(xiàn)虛擬場景漫游,因其具有良好的交互性而受到眾多用戶的青睞。傳統(tǒng)漫游技術(shù)基于QuickTime、Flash等實(shí)現(xiàn),標(biāo)準(zhǔn)不統(tǒng)一,依賴性強(qiáng)、集成性差。由于HTML5的問世,基于WebGL庫的全景漫游技術(shù)將很好地解決上述問題。全景漫游技術(shù),首先需要采集大量的圖片提供全景圖像合成所需素材,其次利用分割軟件完成全景圖片的處理,最后利用three.js技術(shù)來完成全景漫游功能,可以方便地進(jìn)行場景的平移觀看。
該文主要敘述了立體校園在線漫游系統(tǒng)的需求分析、設(shè)計、實(shí)現(xiàn)以及測試等相關(guān)內(nèi)容。需求分析從用戶需求和系統(tǒng)需求兩方面以及系統(tǒng)需求中的功能需求和非功能需求等方面展開。通過使用圖形和表格直觀、清楚地實(shí)現(xiàn)一整套系統(tǒng)架構(gòu)的設(shè)計。本系統(tǒng)一共分為三個部分,第一部分是數(shù)據(jù)采集;第二部分是全景拼接;第三部分是全景顯示。在實(shí)現(xiàn)部分,采用EmguCV庫實(shí)現(xiàn)全景拼接功能,使用JSP技術(shù),配合MySQL數(shù)據(jù)庫,實(shí)現(xiàn)系統(tǒng)管理功能。最后利用Android實(shí)現(xiàn)全景圖片的顯示功能。
關(guān)鍵詞:全景漫游技術(shù);Android
中圖分類號:TP37 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)34-0248-03
1 概述
我們正處在21世紀(jì),這是一個信息時代,網(wǎng)絡(luò)的開放性、交互性、共享性、超媒體、大容量等優(yōu)勢,給我們的生活和工作都帶來很多方便。目前,地圖導(dǎo)航主要是二維地圖的導(dǎo)航,但是二維地圖不能直觀地顯示當(dāng)前路面環(huán)境信息,而隨著各大高校的日趨擴(kuò)大,師生辦事常常很難找到辦事員所在的辦公室,而且二維地圖只能看到建筑平面圖即使到了目的地也不一定能夠找到,所以我們需要一種可以直觀地顯示校區(qū)內(nèi)建筑信息的方法。
如今虛擬現(xiàn)實(shí)技術(shù)和三維虛擬環(huán)境發(fā)展迅速,三維全景虛擬現(xiàn)實(shí)技術(shù)將會給校園的宣傳、展示提供全新的表現(xiàn)形式。隨著近幾年智能手機(jī)在學(xué)生群體中的不斷普及,以及手機(jī)硬件功能的日益強(qiáng)大,各種復(fù)雜的、對硬件要求較高的手機(jī)應(yīng)用有了實(shí)現(xiàn)的基礎(chǔ),具有極大的發(fā)展前景[1]。那么,能不能利用這些技術(shù)達(dá)到我們的目的改變傳統(tǒng)二維地圖只顯示平面圖的缺點(diǎn)呢?因此,我們不斷地研究,經(jīng)過多次論證,設(shè)計開發(fā)出一套立體校園在線漫游系統(tǒng)。
用Android手機(jī)為平臺,推出立體校園在線漫游系統(tǒng)應(yīng)用[2]。該應(yīng)用使用立體全景技術(shù)、立體定位技術(shù)、數(shù)據(jù)智能搜索技術(shù),將各種校園資源和應(yīng)用服務(wù)進(jìn)行整合集中展現(xiàn)在移動智能手機(jī)客戶端上,為學(xué)生、教室和訪客帶來了便利的移動信息服務(wù)。
2 研究意義
校園有了全景虛擬校園展示,可以實(shí)現(xiàn)隨時隨地掌上參觀優(yōu)美的校園環(huán)境,展示學(xué)校的實(shí)力,吸引更多得生源。假如可以把校園環(huán)境、重點(diǎn)實(shí)驗(yàn)室、圖書館、校園周邊生活等設(shè)施通過網(wǎng)絡(luò)立體地展現(xiàn)出來,讓老師、學(xué)生、家長等僅需通過一部手機(jī),就能身臨其境地感受優(yōu)美的校園風(fēng)光、良好的教學(xué)環(huán)境,將對學(xué)校的招生工作起到很大的作用[3]。而且現(xiàn)在的大學(xué)校區(qū)較以前都擴(kuò)大了,對于剛?cè)胄5膶W(xué)生來說,要找到具體的某個教室或辦公室都是十分困難的,如果可以做到立體定位,只要在手機(jī)應(yīng)用上輸入要查詢的校區(qū)、教室編號或辦公室,就可以在地圖上標(biāo)注出來,方便了學(xué)生。
立體校園在線漫游系統(tǒng)總體目標(biāo)是:利用先進(jìn)成熟的計算機(jī)軟件開發(fā)技術(shù)與定位技術(shù),開發(fā)出一款基于智能手機(jī)平臺的應(yīng)用軟件,通過該軟件實(shí)現(xiàn)對學(xué)校進(jìn)行立體瀏覽,并查看周邊相關(guān)服務(wù)。
3 系統(tǒng)總體設(shè)計
本項(xiàng)目由四個部分組成。第一部分,用相機(jī)進(jìn)行各大校區(qū)全景素材的采集,并進(jìn)行統(tǒng)一編號管理。第二部分,使用自主開發(fā)的全景圖片拼接軟件將采集到的素材拼接成全景圖,然后切割成四等分編號打包。第三部分,使用B/S架構(gòu)服務(wù)器,將全景圖做成網(wǎng)頁顯示,便于Android端顯示。第四部分,使用Android中WebView控件顯示全景圖片,根據(jù)服務(wù)器API數(shù)據(jù)確定移動方向,實(shí)現(xiàn)漫游。
4 具體實(shí)現(xiàn)
本章節(jié)詳細(xì)地介紹立體校園在校漫游系統(tǒng)的各個功能模塊的布局和實(shí)現(xiàn)效果以及操作流程。
4.1全景拼接模塊
該模塊完成了全景拼接的功能需求??蓪⒅安杉乃夭膱D片拼接成完整的全景圖。同時,為了配合后面全景圖片在三維場景顯示,可以選擇將全景圖片切割成四張相同大小的圖片。
全景拼接軟件使用C#編寫。如圖2,在“文件”菜單中選擇“導(dǎo)入”子菜單,可以選擇磁盤上的待拼接圖片,點(diǎn)擊拼接按鈕可以實(shí)現(xiàn)拼接。左邊顯示導(dǎo)入的圖片,右邊顯示拼接完成后的全景圖片。
全景拼接功能的實(shí)現(xiàn)。打開合成軟件,自動進(jìn)行初始化。初始化主要是對軟件調(diào)用顯卡的一些配置。導(dǎo)入圖片素材,備用。點(diǎn)擊拼接按鈕進(jìn)行圖像拼接。若失敗則初始化軟件,若成功顯示合成后的全景圖。點(diǎn)擊保存按鈕可以將圖片保存到本地。
4.2后臺管理模塊
后臺管理系統(tǒng)是使用JSP技術(shù)開發(fā)的動態(tài)網(wǎng)頁。網(wǎng)頁設(shè)計使用BootStrap3.0響應(yīng)式布局框架,美觀大方。數(shù)據(jù)庫使用流行的MySQL 5.6版本,同時使用ORM框架Hibernate進(jìn)行數(shù)據(jù)的增加、刪除、修改、查找[4]。后臺開發(fā)使用Java語言,基于JSP開發(fā),實(shí)現(xiàn)了登錄功能和數(shù)據(jù)管理功能。服務(wù)器使用Apache的Tomcat 8.0搭建。
如圖3,在管理員登錄該后臺系統(tǒng)之后,Session將登錄信息保持。點(diǎn)擊左邊導(dǎo)航欄可以查看管理校區(qū)信息、學(xué)院信息、建筑信息和建筑功能信息。校區(qū)信息管理功能主要對校區(qū)信息進(jìn)行管理,如校區(qū)名稱、地理位置管理。學(xué)院管理功能主要對學(xué)院信息進(jìn)行管理,如學(xué)院名稱以及學(xué)院所在校區(qū)管理。建筑信息管理功能主要對建筑名稱進(jìn)行管理,消除各大校區(qū)建筑信息數(shù)據(jù)的冗余。建筑功能信息管理主要針對各校區(qū)建筑的詳細(xì)信息進(jìn)行管理。所有數(shù)據(jù)用于服務(wù)器與Android端的數(shù)據(jù)傳輸,以B/S模式開發(fā)的后臺管理系統(tǒng)可以方便有效的管理和維護(hù)數(shù)據(jù),為整個系統(tǒng)提供可靠的數(shù)據(jù)支持[5]。
4.3移動全景漫游模塊
移動全景顯示模塊是基于Android手機(jī)平臺實(shí)現(xiàn)的。為了便于在校師生能夠快速的定位和導(dǎo)航到所需要的校區(qū),該模塊還加入了二維地圖導(dǎo)航模塊。
該功能是本系統(tǒng)全景圖片顯示功能。圖4展示了全景圖片的一個局部,在實(shí)際操作中,用手指在智能手機(jī)的觸摸屏上左右滑動,就可以查看全景圖,用戶可以非常清楚、直觀地了解到該校區(qū)的真實(shí)情況。該功能的實(shí)現(xiàn)是利用Android中的WebView瀏覽器控件從服務(wù)器上加載特定位置的全景顯示網(wǎng)頁。因?yàn)檫\(yùn)行在服務(wù)器上的全景顯示網(wǎng)頁是用了JavaScript技術(shù),所以在初始化WebView的時候需要將WebView設(shè)置成允許運(yùn)行JavaScript程序的模式,以便網(wǎng)頁可以正常顯示[6]。同時加入漫游路徑提示,只要點(diǎn)擊圖中方位按鈕,就可以加載當(dāng)前位置對應(yīng)方位的全景圖,實(shí)現(xiàn)真正的在線漫游。
4.4地圖導(dǎo)航模塊
該功能是立體在線漫游系統(tǒng)中移動端的地圖導(dǎo)航功能。通過點(diǎn)擊主界面的路線菜單彈出一個對話框。該對話框本質(zhì)是一個Activity,在對話框中可以選擇要到達(dá)的校區(qū)以及導(dǎo)航的方式。主Activity通過start Activity For Result方法啟動導(dǎo)航Activity,同時重寫on Activity Result方法,用于返回導(dǎo)航所選的校區(qū)和方式信息。在主Activity接到回調(diào)信息后,根據(jù)具體情況在二維地圖上畫出導(dǎo)航路線。
圖6為揚(yáng)州大學(xué)廣陵學(xué)院路南校區(qū)前往揚(yáng)州大學(xué)荷花池校區(qū)的步行路線圖。圖中標(biāo)有行人的圓圈標(biāo)記是導(dǎo)航指引,點(diǎn)擊標(biāo)記就可以查看具體路線怎么走。
5 結(jié)束語
本文描述了基于全景技術(shù)的校園在線漫游系統(tǒng)的開發(fā)流程,并加入LBS服務(wù)使得系統(tǒng)更加完善。該系統(tǒng)面向在校師生,通過移動應(yīng)用可以方便直觀的瀏覽校園全景圖,也可以導(dǎo)航校區(qū)各個場館辦公室等。與此同時,該系統(tǒng)也存在不足,整個全景拼接過程從素材采集到圖像拼接較為機(jī)械,重復(fù)的勞動過多。因此在今后的設(shè)計中提高系統(tǒng)的自動化水平顯得較為重要。
參考文獻(xiàn):
[1] 李慧.芻議校園360度全景展示技術(shù)的實(shí)現(xiàn)[J].科技資訊,2012(5).
[2] 張波.智能手機(jī)在高校的宣傳應(yīng)用模式探討[J].中國新通信,2014(6).
[3] 王正梅.淺析多校區(qū)大學(xué)管理模式及其管理要點(diǎn)[J].科教導(dǎo)刊,2012(6).
[4] 許宏圖.STRUTS和HIBERNATE在企業(yè)應(yīng)用中的研究[D]. 天津:天津大學(xué),2005.
[5] 王雨竹.MySQL入門經(jīng)典[M].北京:機(jī)械工業(yè)出版社,2013.
[6] 李剛.瘋狂Android講義[M].2版. 北京:電子工業(yè)出版社,2013.