论文部分内容阅读
随着国家对文物保护领域的重视逐步加大及数字城市概念的提出,文物古迹与建筑物的测绘工作有了越来越广泛的应用。而建筑文物测绘的重要成果之一就是各种测绘图件,其中就包括各个方向的剖面图。在实际工作中,大量文物、古迹、古建筑等实物必须要用档案记录的方式进行保护,当原始图纸资料短缺不全甚至没有的情况下(如古建筑物),我们需要用测绘的手段获取完整的细节资料,三维激光扫描技术在此发挥着重要的作用。目前项目中使用的三维数据处理软件的剖切功能是针对点云数据构建的三维模型,但由于古建筑等文物古迹结构复杂、场景规模宏大等特性,对其进行三维重建是极富挑战性的难题。如果能够对激光雷达扫描的大规模、高密度剖切数据直接生成剖面曲线,这会大大处理的速度与数据量。因此实现对激光雷达数据的直接剖切提取剖面线是很有意义的。
本文的主要研究内容是首先对空间点云数据进行均匀网格化建立拓扑关系,为下一步的平面点云划分网格打好基础。接下来确定剖切平面,通过一个对话框人机交互,可以在点云数据中的任意位置进行不同方向的剖切,剖切出来的数据再利用投影法使其各点变为同在一个平面上的数据,其目的是为了更好的反映点云数据的剖面特征。对平面点云数据重新进行网格划分,形成类似于二值图像的栅格数据,然后对数据进行“细化”,使具有一定宽度的栅格点云数据简化为只有一个网格宽度的点云数据,提高后续点云数据连线的效率。本文采用了两种细化方法,一种是比较简单的查表法,一种是基于数学形态学的细化方法,并对两种方法进行了比较。再对细化后的栅格点云数据通过搜索最近网格的方法进行跟踪,利用网格中离网格中点最近的点作为连线节点,将节点元素的坐标传给连线函数,实现点云数据的剖面线提取,并利用道格拉斯法与逐点前进法实现了特征点的提取。
实验系统基于WindowsXP操作系统,在Visual studio 2005环境下使用C++高级编程语言、OpenGL三维图形工具包进行程序设计和开发。并用Leica HDS系列三维激光扫描仪HDS4500和HDS3000扫描得到的数据为实验数据,实现了点云数据在三维环境下的显示、旋转、缩放、平移及拾取等功能。并进行了点云数据的平面划分网格,投影,细化,跟踪连线以及线数据的特征提取,证明了算法的可行性和实验系统的实用性。