虛擬現實全景空間視圖的無縫拼接技術
來源:中國投影網 編輯:數字音視工程 2009-09-08 09:41:48 加入收藏 咨詢

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