1 虛擬現(xiàn)實
虛擬現(xiàn)實中的“現(xiàn)實”是泛指在物理意義上或功能意義上存在于世界上的任何事物或環(huán)境,它可以是實際上可實現(xiàn)的,也可以是實際上難以實現(xiàn)的或根本無法實現(xiàn)的:而“虛擬”是指用計算機(jī)生成的意思。因此,虛擬現(xiàn)實是指用計算機(jī)生成的一種特殊環(huán)境,人可以通過使用各種特殊裝置將自己“投射”到這個環(huán)境中,并操作、控制環(huán)境,實現(xiàn)特殊的目的,即人是這種環(huán)境的主宰。
為實現(xiàn)虛擬現(xiàn)實系統(tǒng)而發(fā)展的技術(shù)稱為虛擬現(xiàn)實技術(shù)。簡單地說,就是人們利用計算機(jī)生成一個逼真的三維虛擬環(huán)境,通過自然技能使用傳感設(shè)備與之相互作用的新技術(shù)。它與傳統(tǒng)的模擬技術(shù)完全不同,是將模擬環(huán)境、視景系統(tǒng)和仿真系統(tǒng)合三為一,并利用頭盔顯示器、圖形眼鏡、數(shù)據(jù)服、立體聲耳機(jī)、數(shù)據(jù)手套及腳踏板等傳感裝置,把操作者與計算機(jī)生成的三維虛擬環(huán)境連結(jié)在一起。利用這種虛擬現(xiàn)實技術(shù)可以進(jìn)行建筑、機(jī)械、兵器等設(shè)計修改,可以較容易地實施技術(shù)操作訓(xùn)練和軍事演習(xí)活動。
2 虛擬全景空間
本文根據(jù)漸入漸出的原理,基于圖像無縫拼接技術(shù),應(yīng)用Java 語言實現(xiàn)對離散圖像的拼接,各離散圖像之間平滑過渡,消除圖像疊加產(chǎn)生的模糊和明顯的分界。
在基于全景圖像的虛擬現(xiàn)實系統(tǒng)中,虛擬場景是按以下步驟生成的:首先利用采集的離散圖像或連續(xù)的視頻作為基礎(chǔ)數(shù)據(jù),經(jīng)過處理形成全景圖像;然后通過合適的空間模型把多幅全景圖像組織為虛擬全景空間。用戶在這個空間中可以進(jìn)行前進(jìn)、后退、3600 環(huán)視、仰視、俯視、近看、遠(yuǎn)看等操作。虛擬全景空間具有如下的優(yōu)點:不需要硬件加速就能在PC 機(jī)上實時運(yùn)行;不依賴于特殊的設(shè)備,如頭盔顯示器等;能顯示高質(zhì)量圖像,且處理時間與場景復(fù)雜度無關(guān)。
2.1虛擬全景空間
單個視點空間反映的是一個三維點空間,而一個虛擬現(xiàn)實系統(tǒng)往往需要建立起一個N 維的虛擬空間。在視點空間中只限定了視點的位置,對觀察方向未作任何限定,實際上視點空間應(yīng)包含任意觀察方向上用戶所看到的全局場景,包括球面全景圖像、多面體全景圖像和柱面全景圖像。球面全景和多面體全景均可反映空間中任意方向的場景,處理它們的難度比較大。柱面全景實際上是它們的簡化形式。
柱面全景沒有頂蓋與底蓋兩部分場景,限制了用戶在垂直方向的觀察角度,但在水平方向是3 測視角,能滿足大部分應(yīng)用的需要;柱面全景處理起來比球面全景和多面體全景簡單得多,因而應(yīng)用面比較廣。
2 . 2 全景圖像生成器
全景圖像可以由照相機(jī)或攝像機(jī)采集的實景圖像數(shù)據(jù)生成。將照相機(jī)或攝像機(jī)固定在可水平旋轉(zhuǎn)的支架上,鏡頭需位于支架的中心。如果是照相機(jī),轉(zhuǎn)動相機(jī)一周并隔一定角度拍照,把得到的相互間有一定接縫的一圈局部圖像用于全景圖像生成器的輸入。如果采用攝像機(jī)生成全景圖像,則把攝像機(jī)緩慢地繞中心點旋轉(zhuǎn)一周拍攝,得到的視頻作為全景圖像生成器的輸入。由于局部圖像是在不同方向上拍攝的,它們的投影平面存在一定的夾角。隨著全景空間半徑的增大,各局部圖像之間的夾角誤差所帶來的影響也隨之減低,甚至可以忽略。無縫拼接是基于兩幅重疊圖像的像素相關(guān)性,一般有基于”基金項目:廣西省教育廳科研項目(桂教科研[2 ( X ) 4120 號)面積、基于特征等方法;诿娣e的方法是把一幅圖像中某一像素的像素值鄰域作為模板,在另一幅圖像中搜索具有相同(或近似)像素值分布的對應(yīng)點鄰域,從而確定兩幅圖像的拼接范圍。在搜索過程中,通常是以相關(guān)函數(shù)作為兩個搜索鄰域間的相似性測度。
基于特征的方法不是直接利用圖像像素值,而是通過像素值導(dǎo)出符號特征(如特征點、特征線段等)來實現(xiàn)匹配,所以它對于對比度和明顯的光照變化等相對穩(wěn)定。同時,基于特征的匹配可以通過對特征屬性的簡單比較來實現(xiàn),因此,它比基于面積的方法要快得多。
2 . 3 圖像的無縫拼接算法
本文采用一種基于特征線段的圖像匹配算法,利用一幅圖像上間隔一定距離的兩列所對應(yīng)的部分像素與另一幅圖像上的兩列像素進(jìn)行匹配。即在前一幅圖像的重疊區(qū)域中分別在兩列上取出部分像素,計算它們的差值作為特征模板,然后在第二幅圖像中搜索最佳的匹配。即對于第二幅圖像,在搜索范圍內(nèi)依次從間距相同的兩列上取出部分像素,并逐一計算其對應(yīng)的像素值差值;然后將這些差值依次與模板進(jìn)行比較,其最小偏差值對應(yīng)的列就是最佳匹配。這樣在比較中只利用了一組數(shù)據(jù),但是這組數(shù)據(jù)利用了兩列像素及其所包含的區(qū)域信息。假設(shè)特征模板的維數(shù)是M ,即從每列中取出M 個像素,用base [ i ]來表示任一模板元素。對第二幅圖像搜索范圍中的任意兩列元素,計算出對應(yīng)像素的差值,可得到數(shù)組imagelk ]。因為圖像不僅有水平方向上的重疊,還有垂直方向上的交錯,所以K > M 。在進(jìn)行匹配時,先進(jìn)行垂直方向的比較,然后再進(jìn)行水平方向的比較,從而得到最佳匹配。設(shè)垂直方向交錯距離dis ,則對應(yīng)的偏差值表示為s [ dis ]。
由此可確定圖像的匹配值,具體算法如下:
l 、在第一幅圖像的重疊范圍內(nèi)取出間隔距離為d 的兩列中的部分像素,構(gòu)造特征模板base 【 M ]。
2 、在第二幅圖像的搜索范圍中,假設(shè)最左邊的一列像素位置等于0 。
3 、在第二幅圖像的搜索范圍中,取出P 和P ’的兩列像素的部分像素,其中像素數(shù)為K ( K > M ) ,計算它們對應(yīng)像素的差值,得到image [ K ]。
4 、設(shè)垂直交錯距離為dis ,那么對每一個dis ,可以計算出而age [ K ]與模板base [ M ]的偏差值:
3.3 受控計算機(jī)
系統(tǒng)受控計算機(jī)端的程序功能是,其服務(wù)程序要不間斷的讀取網(wǎng)絡(luò)傳輸數(shù)據(jù),根據(jù)傳來的命令分別執(zhí)行捕捉屏幕、鎖定、解除鎖定等操作。側(cè)民務(wù)程序中定義了變量m - - strRead ,用以保存收到的命令信息。當(dāng)受控服務(wù)程序的套接字接收到信息時,觸發(fā)相應(yīng)的消息處理函數(shù),該函數(shù)首先調(diào)用二v ( )函數(shù)接收傳來的命令,保存在m - - strRead 中,然后根據(jù)m - - strRead 的值進(jìn)行選擇判斷,從而分別執(zhí)行對應(yīng)的程序,整個流程如圖4 所示。鎖定、解鎖鍵盤鼠標(biāo)的功能實現(xiàn)是通過執(zhí)行API 函數(shù)實現(xiàn)的,鎖屏使用Enable ( GetDeskiopwindow ( ) , FALSE ) ;解鎖使用Enable ( GetDeskiopwindow ( ) , TRUE )。
4 結(jié)束語
計算機(jī)機(jī)房局域網(wǎng)監(jiān)控與管理軟件的研制是山東省高等學(xué)校實驗技術(shù)研究項目。本軟件在windows98 + VC 什6 · 0 環(huán)境下調(diào)試成功,在我院網(wǎng)絡(luò)實驗室安裝使用,運(yùn)行穩(wěn)定,監(jiān)控效果良好。達(dá)到了預(yù)期的設(shè)計目標(biāo)。