- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VTK的点云可视化.doc
基于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三角网等。除了可视化功能以外,VTK还拥有一套三维交互控件,涵盖了基本的点云显示时所需的人机交互操作,且可以进行交互操作的自定义。
2.2 linux下VTK库的配置
VTK官方网站http:///为我们提供了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采用串联方式将实现不同功能的各阶段连接起来,形成管
文档评论(0)