GoogleEarth在双屏幕立体显示系统中的立体变换及显示方法

文档序号:7769547阅读:2435来源:国知局
Google Earth在双屏幕立体显示系统中的立体变换及显示方法
【专利摘要】本发明涉及一种Google?Earth在双屏幕立体显示系统中的立体变换及显示方法,属计算机图像处理【技术领域】。本发明的Google?Earth在双屏幕立体显示系统中的立体变换及显示方法,包括如下步骤:截获所浏览Google?Earth二维卫星地图;通过Google?Earth提供的API编程接口获取对应海拔高程值;基于立体视觉原理,使用二维卫星地图加海拔高程值转换为左右视差图;使用线程技术实和图形设备间矩形像素阵列传送技术时实现双OLED左右屏幕视差图输出显示。本发明的优点在于:能够在不改变Google?Earth程序和操作模式的情况下实现其在双OLED屏幕立体显示系统中的真三维场景展示。
【专利说明】Goog I e Earth在双屏幕立体显示系统中的立体变换及显示方法
【技术领域】[0001]本发明涉及一种Google Earth在双屏幕立体显示系统中的立体变换及显示方法,属计算机图像处理【技术领域】。
【背景技术】
[0002]双OLED立体显示系统是一种双屏幕近眼立体显示系统,其使用两片微型OLED显示芯片直接向人的双眼呈现两幅稍有不同的视差图像,以达到立体显示的目的[1]。谷歌地球(Google Earth)是一款Google公司开发的虚拟地球仪软件,其把卫星照片、航空照相和GIS布置在一个地球的三维模型上,于2005年推出后即风靡全球。为了实现GoogleEarth的立体显示以获得更好的用户体验,可基于Google Earth的三维模型使用虚拟摄像机获得不同视角下的卫星地图视图[2],以实现立体显示,但一般情况下需要操作GoogleEarth程序内核,而一些接口仅对高级用户开放,或者需要第三方插件支持。如StereoPhotoMaker (SPM)[3],其作为Windows平台下的一个免费软件,具有立体图像编辑和多种立体显示平台下的立体显示功能,同时可以内嵌Google Earth程序窗口,用户通过控制左_右虚拟摄像机的间隔来捕捉具体地理位置的立体图像对M。Stereo GE BiOwser?是另一个免费的Google Earth立体浏览器,其原理和功能类似于SPM。可以实时实现Google Earth立体显示的程序还有TriDef’ s Visualizer,其可以支持虑色镜方式和多种立体显示平台输出,但和前面所述的两个免费程序不同,一套TriDef3-D体验包的许可,网络报价为49.99美元[6]。
[0003]由于Google Earth普通版本同时提供了二位平面卫星图和相应海拔高程信息,在双屏幕立体显示系统中可以把高程图作为深度图,卫星地图作为单视点图,采用基于图像的3D变换绘制技术还原出左右眼视差图来以实现立体显示,在3D变换过程中可根据个人要求实时控制立体变换参数,实现个性化立体显示。
[0004]参考文献:
[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.
【发明内容】
:
[0011]针对双OLED近眼立体显示系统,本发明提供一种Google Earth的立体变换及显示方法,也能应用于其他普通的双屏幕立体显示系统中。
[0012]本发明的目的是这样实现的:
[0013](I)使用 Windows Graphics Device Interface (GDI)技术获取 Google Earth 显示在屏幕上的二维卫星地图各像素点的颜色值;
[0014](2)通过Google Earth提供的API编程接口提取相应点的海拔值;
[0015](3)基于立体视觉原理,将二维卫星地图作3D变换绘制,获得包含两个视点的左右眼视差图;
[0016](4)使用⑶I API中的图形设备间矩形像素阵列传送技术(BitBlt)将左右视差图快速呈现在左右双屏幕上。
[0017]本发明的优点在于:在不改变Google Earth程序和操作模式的情况下实现其在双OLED立体显示系统中的真三维场景展示。
【专利附图】

【附图说明】:
[0018]图1是Google Earth浏览地图变换为左右眼视差图示意图。
[0019]图2是按照本发明方法得到立体变换结果。
【具体实施方式】:
[0020]下面结合附图1对本发明作详细的描述。
[0021]Google Earth在双屏幕立体显示系统中的立体变换及显示方法,具体步骤如下(以C#开发环境为例):
[0022]步骤1:获取Google Earth 二维卫星地图各像素点颜色值。首先调用Windows API隐藏Google Earth的界面,只将Google Earth地图显示在自定义的窗体如面板控件Panel对象上(设Pane对象Height属性值为m, Width属性值为η);然后调用Windows⑶I图形用户界面相关程序gdi32.dll文件中的BitBltO函数直接将Panel上显示的像素进行位块(bit_block)转换,存放到一个制订了像素矩阵中各像素颜色的内存位图Bitmap中,SP所浏览区域的二维地图已被快速保存到Bitmap内存位图中。
[0023]步骤2:卫星地图海拔值获取。调用Google COM API中IApplicationGE接口中函数 GetPointOnTerrainFromScreenCoords(screen_x, screen_y, [out, retval]IPointOnTerrainGE pPoint),能返回一个三维点坐标pPoint, pPoint包含经度(Longitude),讳度(latitude),海拔(altitude)信息。坐标点(screen_x, screen_y)范围从(_1,-1)到(1,1)。使用该函数按像素循环遍历整个Panel界面,能够提取出相应地图的海拔值,存放在二维内存数组Altitude [m, η]中。
[0024]步骤3:左右眼视差图变换。基于立体视觉原理,左右眼视差图(立体图像对)即为左、右眼观察到的三维物体透视图。如附图1,设步骤I中由Google Earth视场照相机确定的场景Bitmap为虚拟中心眼所观察到的透视图,则左、右眼的卫星透视图通过如下像素移动技术变换得到:
[0025]在空间立体坐标(Χ,Υ,Ζ)中,Z方向为垂直海拔方向;设Google Earth视场虚拟相机焦点坐标为F (xf, yf, f),相机位置坐标为C (xf, yf, h),相机镜头倾角为t,虚拟右眼坐标为R(Xf+b/2,yf, h),虚拟左眼坐标为L(xf_b/2,yf, h),即虚拟眼间的距离为b,若空间中某一点M(xm,ym,a)从相机位置观察投射到Bitmap投影平面的坐标为点P (x, y, z),则在该投影平面下,从右眼观察时其坐标点已(\,yr, zr)的位移变换公式如下:
【权利要求】
1.一种Google Earth在双屏幕立体显示系统中的立体变换及显示方法,其特征在于该方法步骤如下:
步骤 a:使用 Windows Graphics Device Interface 技术获取 Google Earth 显不在屏幕上的二维卫星地图各像素点的颜色值; 步骤b:通过Google Earth提供的API编程接口获取对应海拔高程值; 步骤c:基于立体视觉原理,使用二维卫星地图加海拔高程值转换为左右视差图; 步骤d:使用⑶I API中的图形设备间矩形像素阵列传送技术将左右视差图分别呈现双屏幕上。
2.根据权利要求1所述的GoogleEarth在双屏幕立体显示系统中的显示方法,其特征在于所述步骤c中二维卫星地图加海拔高程值转换为左右视差图的立体变换方法为: 设步骤a中由Google Earth视场照相机确定的场景Bitmap为虚拟中心眼所观察到的透视图,则左、右眼的卫星透视图通过如下像素移动技术变换得到: 在空间立体坐标(X,Y,Z)中,Z方向为垂直海拔方向;设Google Earth视场虚拟相机焦点坐标为F(Xf,Yf, f),相机位置坐标为C(Xf,Yf, h),相机镜头倾角为t,虚拟右眼坐标为R(Xf+b/2, Yf, h),虚拟左眼坐标为L(Xf-b/2,Yf, h),即虚拟眼间的距离为b,若空间中某一点M(Xffl, Yffl, a)从相机位置观察投射到Bitmap投影平面的坐标为点P (x, y, z),则在该投影平面下,从右眼观察时其坐标点已(Xr, Yr, Zr)的位移变换公式如下:
【文档编号】H04N13/00GK103475891SQ201310403588
【公开日】2013年12月25日 申请日期:2013年9月8日 优先权日:2013年9月8日
【发明者】陈载清, 石俊生, 邰永航, 雷连莎 申请人:云南师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1