[摘要] 分析基于web的全景虛擬技術(shù)實(shí)現(xiàn)原理,以泰山的場(chǎng)景為例利用該技術(shù)進(jìn)行虛擬處理,給出了基于web的虛擬場(chǎng)景構(gòu)造與實(shí)現(xiàn)方法。
[關(guān)鍵詞] 全景虛擬全景圖虛擬場(chǎng)景虛擬現(xiàn)實(shí)
虛擬全景又稱三維全景虛擬現(xiàn)實(shí)(也稱實(shí)景虛擬)是基于全景圖像的真實(shí)場(chǎng)景虛擬現(xiàn)實(shí)技術(shù)。全景(英文名稱是 Panorama)是把相機(jī)環(huán)360度拍攝的一組或多組照片拼接成一個(gè)全景圖像,通過(guò)計(jì)算機(jī)技術(shù)實(shí)現(xiàn)全方位互動(dòng)式觀看的真實(shí)場(chǎng)景還原展示方式。本文以泰山風(fēng)光虛擬全景展示系統(tǒng)為例,又做了進(jìn)一步的處理,把研發(fā)的模型場(chǎng)景展示系統(tǒng)部署于web平臺(tái),遠(yuǎn)程客戶端通過(guò)網(wǎng)絡(luò)直接訪問(wèn)泰山風(fēng)光全景展示系統(tǒng)。在播放插件(通常是Java或Quicktime、activex、flash)的支持下,使用鼠標(biāo)控制環(huán)視的方向。
一、虛擬全景技術(shù)實(shí)現(xiàn)原理
虛擬全景展示系統(tǒng),是利用普通的數(shù)碼攝像機(jī),環(huán)360度拍攝的一組照片通過(guò)無(wú)縫處理,拼接成的一張全景圖像。然后通過(guò)applet的處理能力把全景圖顯示于applet開(kāi)發(fā)的模型呈現(xiàn)引擎中。最終把該引擎作為顯示層嵌入展示系統(tǒng)部署于web服務(wù)器上,以使得全景圖形能在互聯(lián)網(wǎng)上顯示,并具有較強(qiáng)的互動(dòng)性,能用鼠標(biāo)控制環(huán)視的方向,可進(jìn)行上下左右四個(gè)方向的移動(dòng),使觀察者有身臨其境的感覺(jué),形成一套網(wǎng)絡(luò)化的虛擬平臺(tái)展示產(chǎn)品。
二、全景虛擬資源采集及其加工處理
1.獲取資源的儀器準(zhǔn)備
首先需要選定場(chǎng)景資源獲取設(shè)備,最佳的選擇是全景數(shù)碼相機(jī),或者是普通的高分辨率相機(jī)配上魚(yú)眼鏡頭。當(dāng)然也可以采用普通的數(shù)碼相機(jī),只是比全景數(shù)碼相機(jī)處理資源模型多一些步驟,多一些處理工序。
2.拍攝點(diǎn)的選取
拍攝點(diǎn)的選取是一個(gè)重要的步驟,通過(guò)多次實(shí)驗(yàn)發(fā)現(xiàn),拍攝點(diǎn)應(yīng)該選取在易于拍攝角度轉(zhuǎn)換的地方,因?yàn)榕臄z的空間的360度全景,而因設(shè)備限制不可能一次性把整個(gè)空間360度的全景信息獲取下來(lái),需要多張連拍才能把整個(gè)空間360度的場(chǎng)景信息獲取完全,因此應(yīng)該選取易于轉(zhuǎn)換拍攝角度的地點(diǎn)作為的拍攝點(diǎn)。通過(guò)為了更好的顯現(xiàn)泰山的場(chǎng)景空間,更好的展示泰山原貌,拍攝點(diǎn)還要照顧到是否能夠很好的體現(xiàn)出泰山的環(huán)境、氛圍。
3.采集資源初步加工,模型預(yù)處理
拍攝到的場(chǎng)景資源是一張張分離的圖片,360度一周的場(chǎng)景圖片記錄著一個(gè)場(chǎng)景的完整信息,因此需要通過(guò)圖形合成拼接技術(shù)把獨(dú)立分開(kāi)的場(chǎng)景資源圖片合成一張全景圖片。在合成全景圖的技術(shù)上,可以采用原始的手工在photoshop中合成的方式,目前有許多全景圖的制作開(kāi)發(fā)工具,例如cool360, PixMaker等。再根據(jù)真實(shí)的場(chǎng)景進(jìn)行依次的拼接。因?yàn)槲覀兪沁B拍的到的圖片,所以相鄰的圖片將能完好的重合,再通過(guò)邊緣的剪切處理就能夠得到場(chǎng)景點(diǎn)的全景圖資源。
三、applet呈現(xiàn)模型的實(shí)現(xiàn)
在Java Applet中,可以實(shí)現(xiàn)圖形繪制,字體和顏色控制,動(dòng)畫(huà)和聲音的插入,人機(jī)交互及網(wǎng)絡(luò)交流等功能。 Applet還提供了名為抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口環(huán)境開(kāi)發(fā)工具。 AWT利用用戶計(jì)算機(jī)的GUI元素,可以建立標(biāo)準(zhǔn)的圖形用戶界面,如窗口、按鈕、滾動(dòng)條等等。
通過(guò)applet的java代碼可以動(dòng)態(tài)的載入全景圖資源,同時(shí)把該全景圖的一部分展示出來(lái),這個(gè)時(shí)候,applet可以顯示圖片的區(qū)域就相當(dāng)于上文提到的視窗口。而applet的事件能夠及時(shí)響應(yīng)用戶的操作。當(dāng)觀察者移動(dòng)到視窗口區(qū)域內(nèi),拖動(dòng)鼠標(biāo)的時(shí)候,相應(yīng)就激發(fā)了鼠標(biāo)按下事件。這個(gè)時(shí)候,applet呈現(xiàn)模型將及時(shí)獲取鼠標(biāo)的位置,然后把全景圖中按下點(diǎn)位置跟隨著鼠標(biāo)的移動(dòng),這個(gè)時(shí)候就能實(shí)現(xiàn)全景圖的移動(dòng),而對(duì)于觀察者來(lái)說(shuō),他就感覺(jué)著該場(chǎng)景是跟隨著他的操作進(jìn)行移動(dòng)的。而全景圖片的寬度是一定的,當(dāng)觀察者把全景圖移動(dòng)到快出視窗口位置的時(shí)候,將把圖片復(fù)位,實(shí)現(xiàn)了全景圖片位置的回歸。這樣就能滿足觀察者無(wú)限制的拖動(dòng),也不會(huì)超出界限的效果,達(dá)到了虛擬的目的。
四、部署web平臺(tái)
泰山風(fēng)光全景虛擬展示系統(tǒng)部署于服務(wù)器上,系統(tǒng)采用j2ee技術(shù)實(shí)現(xiàn)了業(yè)務(wù)邏輯,同時(shí)把泰山風(fēng)光的全景資源圖片存儲(chǔ)于資源服務(wù)器中,java腳本能夠隨時(shí)調(diào)用資源信息,完成復(fù)雜的業(yè)務(wù)邏輯處理,然后通過(guò)數(shù)據(jù)庫(kù)的操作完成對(duì)全景圖資源信息的數(shù)據(jù)持久化操作。
遠(yuǎn)程客戶機(jī)通過(guò)url遠(yuǎn)程訪問(wèn)服務(wù)器資源,服務(wù)器接受到請(qǐng)求后調(diào)用后端業(yè)務(wù)邏輯處理,實(shí)現(xiàn)對(duì)請(qǐng)求資源的業(yè)務(wù)處理,從數(shù)據(jù)庫(kù)中檢索出需要的數(shù)據(jù)資源,然后向前傳遞,組裝顯示需要的數(shù)據(jù)資源,最終解釋器實(shí)現(xiàn)對(duì)數(shù)據(jù)資源的翻譯,把生成的基本html文檔信息,通過(guò)http協(xié)議發(fā)送給遠(yuǎn)程。遠(yuǎn)程通過(guò)因特網(wǎng)把a(bǔ)pplet呈現(xiàn)模型引擎下載到本地客戶端。同時(shí)把資源圖片顯示于視窗口中??蛻敉ㄟ^(guò)鼠標(biāo)的拖曳,就能夠查看該場(chǎng)景點(diǎn)的信息。達(dá)到虛擬的目的。
泰山風(fēng)光虛擬全景展示系統(tǒng)的軟件模型構(gòu)架部署圖如圖所示:
五、總結(jié)
本文以泰山的虛擬場(chǎng)景制作為例,在微機(jī)上對(duì)普通數(shù)碼照相機(jī)環(huán)360 度拍攝的一組或多組照片通過(guò)無(wú)縫處理,拼接成的一張全景圖像,然后通過(guò)applet的處理能力把全景圖顯示于applet開(kāi)發(fā)的模型呈現(xiàn)引擎中,最終把該引擎作為顯示層嵌入展示系統(tǒng)部署于web服務(wù)器上。遠(yuǎn)程用戶通過(guò)網(wǎng)絡(luò)訪問(wèn)服務(wù)器,由服務(wù)器對(duì)請(qǐng)求進(jìn)行解析,調(diào)用業(yè)務(wù)邏輯,實(shí)現(xiàn)對(duì)全景資源的裝載,然后把處理后的資源再通過(guò)網(wǎng)絡(luò)返回給遠(yuǎn)程客戶端,遠(yuǎn)程客戶端操作呈現(xiàn)模型窗口,能夠通過(guò)拖曳鼠標(biāo)觀賞泰山的真實(shí)風(fēng)光景色。同時(shí)第一人稱視角觀看,如同觀察者親身置于場(chǎng)景中一般,實(shí)現(xiàn)對(duì)泰山風(fēng)光的全景虛擬,既具有很好的真實(shí)感,又有很好的實(shí)施性和可操作性。
參考文獻(xiàn):
[1]施貴剛:基于軟件的虛擬現(xiàn)實(shí)關(guān)鍵技術(shù)研究[J].電腦知識(shí)與技術(shù), 2006,(02)
[2]崔漢國(guó)陳軍曹茂春:柱面全景圖像拼合及漫游算法研究[J].海軍工程大學(xué)學(xué)報(bào),2004,16(1)
[3]崔漢國(guó)劉建軍張星劉曉成:虛實(shí)結(jié)合虛擬場(chǎng)景實(shí)時(shí)繪制技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005 (11)
[4]郭冠平:現(xiàn)代教育技術(shù)中的虛擬現(xiàn)實(shí)[J].教育信息化, 2005,(17)
[5]楊英慧周振軍張君維:基于網(wǎng)絡(luò)的虛擬實(shí)驗(yàn)技術(shù)的應(yīng)用分析[J].實(shí)驗(yàn)技術(shù)與管理, 2005,(09)