论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 工科论文 >> 工科综合论文 >> 正文 会员中心
 通信学论文   交通运输论文   工业设计论文   环境工程论文   电力电气论文   水利工程论文   材料工程论文   建筑工程论文   化学工程论文
 机械工程论文   电子信息工程论文   建筑期刊   工科综合论文   汽车制造
基于VTK的点云可视化
【摘 要】 针对.las格式的数据文件,给出了以qt为平台,基于vtk、liblas的点云可视化方法,并利用该方法进行实验。经实验验证该方法灵活、方便,更便于对多功能交互的发掘和实现。
  【关键词】 vtk 点云可视化 las数据读取
  1 引言
  激光扫描技术是近年来出现的新技术,它突破了单点测量方法,具有高效率、高精度的独特优势。激光扫描技术可以快速获取物体表面的空间点云数据,通过对点云数据的结构创建实现场景的渲染。随着激光扫描技术的不断发展和应用范围的不断扩大,激光扫描相关理论和技术的研究已经成为热点问题。散乱点云数据的可视化是激光扫描技术应用的一个重要环节。本文针对.las格式散乱点云数据文件,结合库的使用,实现点云的显示和基本的交互操作。
  2 开发环境配置
  本文以qt为开发工具,但qt并不能直接绘制、显示三维坐标点,故借助vtk来实现三维点坐标的绘制和显示。
  2.1 vtk介绍
  vtk(visualization toolkit)是由kitware团队创建和扩展的,开源的、可跨平台的可视化工具包,主要用于三维计算机图形、图像处理和可视化。vtk是在面向对象的基础上设计和实现的,采用c++构建核心内容。另外vtk能够进行自动语言转换,故可同时支持tcl/tk,java和python等多种语言。vtk作为可视化工具包使可视化应用更加普及,为人们提供了一种较简便、通用的可视化方式。它拥有丰富、多样的可视化算法:标量、矢量、张量、纹理和体积的可视化方法,和先进的建模技术:隐式建模,减少多边形,网格平滑,切割,描绘轮廓和delaunay三角网等。Www.11665.com除了可视化功能以外,vtk还拥有一套三维交互控件,涵盖了基本的点云显示时所需的人机交互操作,且可以进行交互操作的自定义。
  2.2 linux下vtk库的配置
  vtk官方网站http://www.vtk.org/为我们提供了source文件,首先利用cmake对source文件进行编译,然后在平台下进行创建。
  编译命令: cd ~/vtk/bin/
  ccmake ../vtk5.0
  make
  sudo make install
  完成vtk的安装后,还需要在qt中进行配置:主要是路径的包含和库文件的添加:
  例:includepath +=/usr/include/vtk-5.8
  libs +=-l/usr/lib -lvtkcommon -lvtkexoiic -lvtkfiltering -lvtkgenericfiltering -lvtkftgl \
  -lvtkgeovis -lvtkgraphics -lvtkhybrid -lvtkio -lvtkinfovis -lvtkmetaio -lvtkproj4 \
  -lvtkparallel -lvtkqtchart -lvtkrendering -lvtkviews -lvtkvolumerendering\
  -lvtkwidgets-lvtksys -lvtkverdict -lqvtk
  3 vtk可视化管线的设计
  vtk的可视化管线设计是基于管线流的设计模式,将要处理的数据作为流动介质在管线中流动,不同的阶段对数据进行不同的处理,最终完成处理数据的显示。vtk的可视化管线设计如图1所示[1]。
  在可视化过程中,首先确定数据源(datasource),可以是利用vtk功能创建的数据源,更多的是数据文件,通过对数据文件的读取使数据以数据流的形式在管线中流动[2];选择适当的数据处理方法,使数据流到达过滤(filter)阶段对数据进行处理,形成新的数据集;这时的数据已经不再是离散的点,而是具有一定的几何结构,接下来是几何数据到图形数据的转换阶段:映射(mapper)阶段。可视化模型创建完毕,接下来是图形模型的建立,首先是图形数据的承载者角色(actor),主要负责设置修饰效果;其次是渲染窗口(renderer window)的设置,主要有两个应用:渲染环境的设置和人机交互的实现;在一切准备就绪后就可以由渲染器(renderer)发出render()命令,进行渲染,实现数据的可视化。
  完成点云数据的显示后,我们还需要实现对数据的多角度观察,也就是交互问题。在可视化管线中vtkrenderwindowinteractor类为我们提供了简便的实现交互的方式,根据需求,选择vtkinteractor style的子类vtkinteractorstyletrackballcamera来实现旋转、缩放、平移等交互操作。
  vtk pipeline采用串联方式将实现不同功能的各阶段连接起来,形成管线,方便数据流的流动:上一阶段的输出作为下一阶段的输入,不断延续下去,直到碰到mapper或sink。随着科学技术的不断发展,数据格式多种多样,数据量急剧增加,这对科学可视化数据量和数据传播提出了很大的挑战[3]


  4 las数据读取
  las数据文件包含的是标准lidar数据格式,现已发展为四个版本,分别是:las1.0,1.1,1.2,2.0(拟定版)[4]。随着版本的不同,其数据存储越来越灵活,信息越来越丰富。标准的las数据存储格式包含三个部分:公共文件头区,用于记录las文件的普通信息,如点的个数等;变长记录区,主要包含元数据,文件采用的坐标系等等;格式点集记录区,用于记录点的x、y、z和属性[5]。las数据文件的一般数据提取流程如图2所示。
  las文件是二进制格式,但由于它有自己特定的文件头结构和数据组织,故需要专业软件进行读取。liblas是针对las文件的读与写的库,利用库函数可以方便、快捷的进行.las文件数据的读取。本文针对las数据文件,利用liblas库的liblas::reader实现文件内数据的读取,并将数据赋值给vtkpoints,从而传递到vtk可视化管线中。
  5 结语
  vtk支持并行处理,且是开源的,具有可移植性。在实践中,我们可以利用vtk,结合语言平台,实现多种功能。例如,我们可以利用qt平台的界面创建优势,结合vtk库可视化管线,进行数据成果展示,软件开发等。vtk的开源特性方便了我们添加自己需要的功能,为新功能的发掘和实现提供支持。另外,我们也可以在遵循vtk本身设计模式的基础上,定义新的类,嵌入其中,进一步完善vtk。
  参考文献:
  [1]许庆功,李昌华.vtk框架结构与运行机制的探讨[j].洛阳理工学院学报(自然科学版),2008,18(1):67-70.
  [2] william j. schroeder, lisa s. avila, kenneth m. martin. the visualization toolkit user's guide[m], ge corporate research & development.
  [3] will schroeder, ken martin, bill lorensen. the visualization toolkit[m].usa, pearson education,inc.
  [4]刘春,姚银银,吴杭彬.机载激光扫描(lidar)标准数据格式(las)的分析与数据读取[j].遥感应用,2009:38-42.
  [5]赵自明,史兵,田喜平,赵松.las格式解析及其数据的读取与显示[j].测绘技术装备,2010,12(3):17-20.
  • 上一篇工学论文:
  • 下一篇工学论文:
  •  作者:佚名 [标签: 可视化 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    基于重力热管技术的道路降温与融雪系统的探…
    基于现场管理的装备保障企业安全管理研究
    基于PLC和触摸屏的切割机控制系统设计
    基于MATLAB的通信系统仿真
    基于云平台的岭南通IC卡数据挖掘方法研究
    基于虚拟维修的民机维修性设计
    基于MOOC的个性化学习模式研究
    基于工作过程的《Oracle数据库管理与应用》…
    基于Struts的图书信息管理系统设计与实现
    基于J2EE的物资管理信息系统设计与实现
    基于云计算的高校毕业生就业状况监测系统研…
    基于PHPCMS V9的流动形变监测系统数据查询模…
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有