点云数据的三维重建

摘 要摘 要三维重建技术作为进入21世纪才兴起的新兴技术,在最近几年受到了许多学科以及研究机构的高度关注,其理论和应用取得了巨大的成就。本论文及设计所研究的即是基于点云数据的三维重建。本项目由两个界面组成,一个是信息显示窗口,一个是3D图形显示窗口。在信息显示窗口中显示的是由PLY文件中读取的点云数据的信息,包括点、面的数量以及具体位置等。3D图形显示窗口则显示由OpenGL实现的3D图形,其包括阴影的显示,点、线、面三种图形显示方法等。本文第一章为绪论;第二章为本项目中使用技术的解释;第三章为需求分析和项目概述;第四章为项目的详细实现过程;第五章是系统测试;之后是总结本项目的结论与不足之处;最后是对帮助完成本项目的同学及老师的致谢。关键词:三维重建;点云数据;OpenGL;PLY 目 录
第一章 绪论 1
1.1 研究的目的和意义 1
1.2 当今国内现状 1
1.3 论文的主要研究内容 2
第二章 基本概念 3
2.1 点云数据 3
2.2 三维重建 3
2.3 OpenGL库 3
2.4 ply文件 4
2.5 项目主要目标 5
第三章 需求分析与项目详细内容 6
3.1 需求分析 6
3.2 项目结构分析 6
3.3 项目详细介绍 7
3.3.1 绘制图形和坐标的一些基本函数 7
3.3.2 模型变换的主要函数 8
3.3.3 光照的主要函数和算法 9
第四章 项目的主要内容 12
4.1 绘制坐标轴 12
4.2 读取点云数据并绘制三维图形 13
4.2.1读出ply文件中的数据 13
4.2.2 显示三维图形 16
4.2.3 光照和阴影的实现 20
4.3 项目测试 24
4.3.1 概念和意义 24
4.3.2 特性 25
4.3.3 项目测试描述 25
4.3.4 系统测试效果 26
结论与建议 30
致谢 31 *好棒文|www.hbsrm.com +Q: %3^5`1^9`1^6^0`7^2# 
1读出ply文件中的数据 13
4.2.2 显示三维图形 16
4.2.3 光照和阴影的实现 20
4.3 项目测试 24
4.3.1 概念和意义 24
4.3.2 特性 25
4.3.3 项目测试描述 25
4.3.4 系统测试效果 26
结论与建议 30
致谢 31
第一章 绪论
1.1 研究的目的和意义
众所周知,现实中的物体都是以三维立体形式存在的,物体本身的数据中包含着三维外表、透明程度、颜色和纹理等表面的结构信息。现在对物体表面结构信息的记录主要有两种方式[1]:一种是以二维的图形、图像呈现,另一种是点云,相应的关于重建物体表面结构信息的方法分成了两大类:基于图像的三维重建和基于点云数据的三维重建。由于传统的图像记录方式丢失了相位等立体信息,使得对物体进行多角度观察与分析研究不便利;而点云则广泛存在于现实的各个领域,可以更为真实地记录物体表面的各种立体三维信息。因此,对基于点云的三维重建技术进行研究就显得十分迫切和必要。
基于点云数据的三维重建技术是计算机图形学、虚拟现实等多个学科交叉的一个研究领域。其主要研究的是如何将点云记录的三维物体的数据信息恢复成图像、图形,并通过机器显示出来,由此可以方便、快速地对物体进行定量的处理、分析和显示等[2]。基于点云数据的三维重建技术广泛应用于以下领域:计算机图形学领域,如影视特效、三维动画制作、三维游戏模型的创建等;医学领域,有医疗模拟、医学修复与检测、美容整形、医学仿生及正畸的模拟等;逆向工程领域,有 CAD 模型重构、快速造型、有限元分析等。
1.2 当今国内现状
目前学术界主流的三维重建算法为逼近(Approximation)法:重建曲面是原始曲面的一个近似[3]。2005年,董辰世、汪国昭等提出了一种利用法矢的散乱点的三角剖分算法。熊歆斌,宁涛,唐荣锡等人提出了一种改进的波前法,为了避免剖分过程中因曲率过大产生不良局部网格,他们采用了在曲率变化大的地方停止搜索的方法,大大提高了生成网格的质量[6]。2007年,张鼎林提出了一种基于网格前沿生成法的空间曲面上散乱数据点的快速三角剖分算法,该算法对匹配点的选择施加严格的限制条件,使得整个三角剖分过程中始终只有一个边界环,只适用于空间曲面是连通的情况。
1.3 论文的主要研究内容
本论文主要的研究内容是针对以ply文件为基础的空间点云数据进行三维重建的流程。使用C++语言,利用OpenGL工具库,对ply文件中的点云数据进行三维图形的绘制,并以绘制好的三维图形为基础,对其增加光照和阴影以及不同的显示方法的功能。另外,通过增加阴影的功能,可以很好的理解矩阵在空间图形中的不可或缺的作用。在本论文中,不仅包含了项目各功能的实现,而且还有一些数学方面应用的体现。
第二章 基本概念
2.1 点云数据
点云数据(point cloud data)是指。
扫描资料以点的形式记录,所有点都包含有三维坐标,甚至有些可能含有颜色信息(RGB)或反射强度信息(Intensity)。
点云数据除了具有几何位置以外,有的还有强度和颜色信息。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(RGB)赋予点云中对应的点。
2.2 三维重建
三维重建的英文术语名称是3D Reconstruction.
三维重建是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机中建立表达客观世界的虚拟现实的关键技术。
在计算机视觉中, 三维重建是指根据单视图或者多视图的图像重建三维信息的过程. 由于单视频的信息不完全,因此三维重建需要利用经验知识。
2.3 OpenGL库
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。
OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。
OpenGL是一个开放的三维图形设计软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。本项目主要使用了如下

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1422.html

好棒文