菜单
  

    本课题使用立方体型的360度全景图像生成,要取得具有摄影真实感的全景图像,需采用全景照相机、普通照相机来获取图像数据。全景照相机可直接获得全景图像,普通照相机则需要固定在可水平旋转的支架上,使得相机的镜头位于支架的中心点,转动照相机一周,每间隔一定的角度拍一张照片,以保证相邻照片有一定的重叠,所得到的图像数据属于中心投影,还要经过投影变换来将这些中心投影图像投影到一个圆柱面上。完成这种柱面的正投影变换后,再经过拼接形成柱面全景图像,整个拼接过程分成图像匹配和平滑连接两个步骤完成。
    图像匹配是确定相邻图像的重叠范围,一般有基于面积和基于特征等方法,平滑连接使得拼接区域色调变化平滑,提高了图像质量。可采用淡入淡出的方法,即在重叠部分由前一幅图像慢慢地过渡到第二幅图像并删去垂直方向错开的图像部分。
    全景图像生成后,空间编辑器将不同地点而又众多的全景图像组织为虚拟的全景空间,全景图像的数据量通常是较为庞大的,需要对其进行压缩,通常采用JPEG算法进行压缩。虚拟全景空间漫游时,一般只将可见部分的全景图像调人内存并解压,通过柱面全景图像的反投影算法,将可见部分的柱面图像反投影为中心投影图像并显示在计算机屏幕上。
     
    图 2.1    虚拟全景空间生成流程图
    2.4.2    照片的拼接技术
    如何将拍摄得到的照片,拼接成一张在平面上看上去拥有很宽广视角很宽广的范围将使得生成全景展示地图的时候能还原当时拍摄的真实景象。可以通过两种方法,一是利用软件的自动拼接,二是通过手动的裁剪。
    2.4.3    Flash技术
    全景图制作中一个最重要的步骤就是实现移动化,这就需要借助Flash中的一组类包,来实现Flash 3D的效果。
    首先去网上下载这个类包,然后安装这个类包,按下CTRL+U,出现下面的对话框,选择Action Script栏,然后选择Actionscript3.0设置。
    之后使用PV3D引擎,注意使用时有五个基本的要素,container,scene,camera,material和object,所以在as的开头,先要把这些包导入,具体如下:
    import org.papervision3d.scenes.*;
    import org.papervision3d.cameras.*;
    import org.papervision3d.materials.*;
    import org.papervision3d.objects.*;
    先新建一个container;
    var container:Sprite = new Sprite( );
    container.x=stage.stageWidth/2;
    container.y=stage.stageHeight/2;
    addChild(container);
    然后新建一个scene和camera;
    var scene:MovieScene3D = new MovieScene3D(container);
    var camera:Camera3D = new Camera3D( );
    camera.zoom=5;
    之后建立一个material,在此新建的是一个BitmapAssetMaterial,可以载入库里的bitmap对象。
    var btm:BitmapAssetMaterial = new BitmapAssetMaterial("cover");
    btm.oneSide=false;
    btm.smooth=true;
    注意object,Plane型,包里还有很多的object,如stars,sphere,cube等等。
    var plane = new Plane(btm,234,236,2,2);
    把这个object添加到scene中去。
    scene.addChild(p);
    最后把摄像机架好。
    scene.renderCamera(camera);
    这样一个见的PV3D应用就完成了,然后将架摄像机的那部分代码修改如下
    addEventListener(Event.ENTER_FRAME,handler);
    function handler(e:Event){
    p.rotationX+=5;
    scene.renderCamera(camera);
    }
    2.4.4    界面交互及热点导航的设计技术
    这一部分,属于设计部分,原则上要遵循人机友好的原则,以人为本,从用户的角度去考虑该如何进行界面设计及颜色的艺术搭配。对此,在技术范围,需要用到Flash软件技术,比如,进行帧的创建、遮罩层、元件与影片剪辑及按钮的设计、加入动作代码、添加控制脚本等。
  1. 上一篇:C#校园爱心慈善屋交易网站的设计与实现+ER图+数据流图DFD
  2. 下一篇:安卓手机网上商城电子商务系统开发+ER图+流程图
  1. 云虚拟环境下资源分配优化算法的研究

  2. 桌面云中虚拟机集中入域的研究和实现

  3. OpenGL虚拟人三维模型控制平台实现

  4. VRML虚拟数字校园的设计与实现

  5. 基于虚拟仿真体验式实践教学体系的构建

  6. WPF虚拟仿真学习平台的设计与开发

  7. 基于python的虚拟仪器技术研究及实现

  8. 中考体育项目与体育教学合理结合的研究

  9. 电站锅炉暖风器设计任务书

  10. 酸性水汽提装置总汽提塔设计+CAD图纸

  11. 当代大学生慈善意识研究+文献综述

  12. 杂拟谷盗体内共生菌沃尔...

  13. 十二层带中心支撑钢结构...

  14. 乳业同业并购式全产业链...

  15. 河岸冲刷和泥沙淤积的监测国内外研究现状

  16. java+mysql车辆管理系统的设计+源代码

  17. 大众媒体对公共政策制定的影响

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回