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