Google Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法
【專利摘要】本發(fā)明涉及一種Google?Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法,屬計(jì)算機(jī)圖像處理【技術(shù)領(lǐng)域】。本發(fā)明的Google?Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法,包括如下步驟:截獲所瀏覽Google?Earth二維衛(wèi)星地圖;通過(guò)Google?Earth提供的API編程接口獲取對(duì)應(yīng)海拔高程值;基于立體視覺(jué)原理,使用二維衛(wèi)星地圖加海拔高程值轉(zhuǎn)換為左右視差圖;使用線程技術(shù)實(shí)和圖形設(shè)備間矩形像素陣列傳送技術(shù)時(shí)實(shí)現(xiàn)雙OLED左右屏幕視差圖輸出顯示。本發(fā)明的優(yōu)點(diǎn)在于:能夠在不改變Google?Earth程序和操作模式的情況下實(shí)現(xiàn)其在雙OLED屏幕立體顯示系統(tǒng)中的真三維場(chǎng)景展示。
【專利說(shuō)明】Goog I e Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法
【技術(shù)領(lǐng)域】[0001]本發(fā)明涉及一種Google Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法,屬計(jì)算機(jī)圖像處理【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]雙OLED立體顯示系統(tǒng)是一種雙屏幕近眼立體顯示系統(tǒng),其使用兩片微型OLED顯示芯片直接向人的雙眼呈現(xiàn)兩幅稍有不同的視差圖像,以達(dá)到立體顯示的目的[1]。谷歌地球(Google Earth)是一款Google公司開(kāi)發(fā)的虛擬地球儀軟件,其把衛(wèi)星照片、航空照相和GIS布置在一個(gè)地球的三維模型上,于2005年推出后即風(fēng)靡全球。為了實(shí)現(xiàn)GoogleEarth的立體顯示以獲得更好的用戶體驗(yàn),可基于Google Earth的三維模型使用虛擬攝像機(jī)獲得不同視角下的衛(wèi)星地圖視圖[2],以實(shí)現(xiàn)立體顯示,但一般情況下需要操作GoogleEarth程序內(nèi)核,而一些接口僅對(duì)高級(jí)用戶開(kāi)放,或者需要第三方插件支持。如StereoPhotoMaker (SPM)[3],其作為Windows平臺(tái)下的一個(gè)免費(fèi)軟件,具有立體圖像編輯和多種立體顯示平臺(tái)下的立體顯示功能,同時(shí)可以內(nèi)嵌Google Earth程序窗口,用戶通過(guò)控制左_右虛擬攝像機(jī)的間隔來(lái)捕捉具體地理位置的立體圖像對(duì)M。Stereo GE BiOwser?是另一個(gè)免費(fèi)的Google Earth立體瀏覽器,其原理和功能類(lèi)似于SPM??梢詫?shí)時(shí)實(shí)現(xiàn)Google Earth立體顯示的程序還有TriDef’ s Visualizer,其可以支持慮色鏡方式和多種立體顯示平臺(tái)輸出,但和前面所述的兩個(gè)免費(fèi)程序不同,一套TriDef3-D體驗(yàn)包的許可,網(wǎng)絡(luò)報(bào)價(jià)為49.99美元[6]。
[0003]由于Google Earth普通版本同時(shí)提供了二位平面衛(wèi)星圖和相應(yīng)海拔高程信息,在雙屏幕立體顯示系統(tǒng)中可以把高程圖作為深度圖,衛(wèi)星地圖作為單視點(diǎn)圖,采用基于圖像的3D變換繪制技術(shù)還原出左右眼視差圖來(lái)以實(shí)現(xiàn)立體顯示,在3D變換過(guò)程中可根據(jù)個(gè)人要求實(shí)時(shí)控制立體變換參數(shù),實(shí)現(xiàn)個(gè)性化立體顯示。
[0004]參考文獻(xiàn):
[0005][I]Chen, Z., et al., A design of near-eye 3D display based on dual-OLED.Proc.SPIE, 2010.7749: p.121-127.[0006][2]Boulos, Μ.N.and L.R.Robinson, Web GIS in practice VI1: stereoscopic3-Dsolutions for online maps and virtual globes.1nternational journal of healthgeographies, 2009.8(1):p.59.[0007][3]Suto, M.and D.Sykes, StereoPhoto Maker, 2013: http://stereo, jpn.0rg/eng/stphmkr/.[0008][4]SPM.Stereo Google Earth.2013;Available from:http://stereo, jpn.0rg/eng/stphmkr/help/ge.htm.[0009][5]Suto, M.and D.Sykes,Stereo GE Browser, 2009: http://stereo, jpn.0rg/eng/stge/stbrhelp.html.[0010][6] TriDef.3D.TriDef 3D:: TriDef Software:: TriDef 3D.2013 ; Availablefrom:http://www.tridef.com/cart/product.php?productid=3.
【發(fā)明內(nèi)容】
:
[0011]針對(duì)雙OLED近眼立體顯示系統(tǒng),本發(fā)明提供一種Google Earth的立體變換及顯示方法,也能應(yīng)用于其他普通的雙屏幕立體顯示系統(tǒng)中。
[0012]本發(fā)明的目的是這樣實(shí)現(xiàn)的:
[0013](I)使用 Windows Graphics Device Interface (GDI)技術(shù)獲取 Google Earth 顯示在屏幕上的二維衛(wèi)星地圖各像素點(diǎn)的顏色值;
[0014](2)通過(guò)Google Earth提供的API編程接口提取相應(yīng)點(diǎn)的海拔值;
[0015](3)基于立體視覺(jué)原理,將二維衛(wèi)星地圖作3D變換繪制,獲得包含兩個(gè)視點(diǎn)的左右眼視差圖;
[0016](4)使用⑶I API中的圖形設(shè)備間矩形像素陣列傳送技術(shù)(BitBlt)將左右視差圖快速呈現(xiàn)在左右雙屏幕上。
[0017]本發(fā)明的優(yōu)點(diǎn)在于:在不改變Google Earth程序和操作模式的情況下實(shí)現(xiàn)其在雙OLED立體顯示系統(tǒng)中的真三維場(chǎng)景展示。
【專利附圖】
【附圖說(shuō)明】:
[0018]圖1是Google Earth瀏覽地圖變換為左右眼視差圖示意圖。
[0019]圖2是按照本發(fā)明方法得到立體變換結(jié)果。
【具體實(shí)施方式】:
[0020]下面結(jié)合附圖1對(duì)本發(fā)明作詳細(xì)的描述。
[0021]Google Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法,具體步驟如下(以C#開(kāi)發(fā)環(huán)境為例):
[0022]步驟1:獲取Google Earth 二維衛(wèi)星地圖各像素點(diǎn)顏色值。首先調(diào)用Windows API隱藏Google Earth的界面,只將Google Earth地圖顯示在自定義的窗體如面板控件Panel對(duì)象上(設(shè)Pane對(duì)象Height屬性值為m, Width屬性值為η);然后調(diào)用Windows⑶I圖形用戶界面相關(guān)程序gdi32.dll文件中的BitBltO函數(shù)直接將Panel上顯示的像素進(jìn)行位塊(bit_block)轉(zhuǎn)換,存放到一個(gè)制訂了像素矩陣中各像素顏色的內(nèi)存位圖Bitmap中,SP所瀏覽區(qū)域的二維地圖已被快速保存到Bitmap內(nèi)存位圖中。
[0023]步驟2:衛(wèi)星地圖海拔值獲取。調(diào)用Google COM API中IApplicationGE接口中函數(shù) GetPointOnTerrainFromScreenCoords(screen_x, screen_y, [out, retval]IPointOnTerrainGE pPoint),能返回一個(gè)三維點(diǎn)坐標(biāo)pPoint, pPoint包含經(jīng)度(Longitude),諱度(latitude),海拔(altitude)信息。坐標(biāo)點(diǎn)(screen_x, screen_y)范圍從(_1,-1)到(1,1)。使用該函數(shù)按像素循環(huán)遍歷整個(gè)Panel界面,能夠提取出相應(yīng)地圖的海拔值,存放在二維內(nèi)存數(shù)組Altitude [m, η]中。
[0024]步驟3:左右眼視差圖變換?;诹Ⅲw視覺(jué)原理,左右眼視差圖(立體圖像對(duì))即為左、右眼觀察到的三維物體透視圖。如附圖1,設(shè)步驟I中由Google Earth視場(chǎng)照相機(jī)確定的場(chǎng)景Bitmap為虛擬中心眼所觀察到的透視圖,則左、右眼的衛(wèi)星透視圖通過(guò)如下像素移動(dòng)技術(shù)變換得到:
[0025]在空間立體坐標(biāo)(Χ,Υ,Ζ)中,Z方向?yàn)榇怪焙0畏较颍辉O(shè)Google Earth視場(chǎng)虛擬相機(jī)焦點(diǎn)坐標(biāo)為F (xf, yf, f),相機(jī)位置坐標(biāo)為C (xf, yf, h),相機(jī)鏡頭傾角為t,虛擬右眼坐標(biāo)為R(Xf+b/2,yf, h),虛擬左眼坐標(biāo)為L(zhǎng)(xf_b/2,yf, h),即虛擬眼間的距離為b,若空間中某一點(diǎn)M(xm,ym,a)從相機(jī)位置觀察投射到Bitmap投影平面的坐標(biāo)為點(diǎn)P (x, y, z),則在該投影平面下,從右眼觀察時(shí)其坐標(biāo)點(diǎn)已(\,yr, zr)的位移變換公式如下:
【權(quán)利要求】
1.一種Google Earth在雙屏幕立體顯示系統(tǒng)中的立體變換及顯示方法,其特征在于該方法步驟如下:
步驟 a:使用 Windows Graphics Device Interface 技術(shù)獲取 Google Earth 顯不在屏幕上的二維衛(wèi)星地圖各像素點(diǎn)的顏色值; 步驟b:通過(guò)Google Earth提供的API編程接口獲取對(duì)應(yīng)海拔高程值; 步驟c:基于立體視覺(jué)原理,使用二維衛(wèi)星地圖加海拔高程值轉(zhuǎn)換為左右視差圖; 步驟d:使用⑶I API中的圖形設(shè)備間矩形像素陣列傳送技術(shù)將左右視差圖分別呈現(xiàn)雙屏幕上。
2.根據(jù)權(quán)利要求1所述的GoogleEarth在雙屏幕立體顯示系統(tǒng)中的顯示方法,其特征在于所述步驟c中二維衛(wèi)星地圖加海拔高程值轉(zhuǎn)換為左右視差圖的立體變換方法為: 設(shè)步驟a中由Google Earth視場(chǎng)照相機(jī)確定的場(chǎng)景Bitmap為虛擬中心眼所觀察到的透視圖,則左、右眼的衛(wèi)星透視圖通過(guò)如下像素移動(dòng)技術(shù)變換得到: 在空間立體坐標(biāo)(X,Y,Z)中,Z方向?yàn)榇怪焙0畏较?;設(shè)Google Earth視場(chǎng)虛擬相機(jī)焦點(diǎn)坐標(biāo)為F(Xf,Yf, f),相機(jī)位置坐標(biāo)為C(Xf,Yf, h),相機(jī)鏡頭傾角為t,虛擬右眼坐標(biāo)為R(Xf+b/2, Yf, h),虛擬左眼坐標(biāo)為L(zhǎng)(Xf-b/2,Yf, h),即虛擬眼間的距離為b,若空間中某一點(diǎn)M(Xffl, Yffl, a)從相機(jī)位置觀察投射到Bitmap投影平面的坐標(biāo)為點(diǎn)P (x, y, z),則在該投影平面下,從右眼觀察時(shí)其坐標(biāo)點(diǎn)已(Xr, Yr, Zr)的位移變換公式如下:
【文檔編號(hào)】H04N13/00GK103475891SQ201310403588
【公開(kāi)日】2013年12月25日 申請(qǐng)日期:2013年9月8日 優(yōu)先權(quán)日:2013年9月8日
【發(fā)明者】陳載清, 石俊生, 邰永航, 雷連莎 申請(qǐng)人:云南師范大學(xué)