论文部分内容阅读
在应用地面激光雷达获取大型建筑物的三维信息时会产生大量的深度图像数据,例如在对故宫太和殿进行数字化测量的过程中共扫描500多站数据,每站数据约为200MB,加上其他宫殿的深度图像数据,总数据量往往会高达几百个GB。同时为了利用深度图像数据进行三维建模仿真,还须采集大型建筑物的高精度彩色数字图像数据,仅在太和殿就采集了约2000张数码图像,每张平均8MB。由于两种数据的总数据量非常大,使用文件系统的管理方式显然已力不从心,因此如何应用对象关系数据库系统对大规模深度图像数据和数字图像数据进行有效的组织与管理,以实现高效调度与快速浏览,成为地面激光雷达技术应用中具有重大意义的一个课题。应用C语言对文件操作的支持与面向对象的标准模板库STL相结合的办法快速高效地读取大规模深度图像数据,经分析与组织后按字节以数据块的形式存储在数据库的BLOB类型字段中,在数据读取的过程中同时将深度图像数据依其角度信息划分成大小不等的若干小块,每块均包含最小外包矩形体(Minimum Bounding Box, MBB),并依据每块数据的MBB属性建立三维R树空间索引,这是进行深度图像数据块的快速检索和可视化的基础。在数据组织与大型深度图像数据可视化绘制方面,通过结合基于视点与MBB中心点距离的细节层次(Level Of Detail, LOD)控制技术和基于裁剪视窗体的内存与数据库数据调度的控制策略,实现大型深度图像数据交互性实时浏览。在深度图像数据绘制之前,首先显示在某一精度下的各小块的采样数据,显示完成后根据屏幕中心点与数据块中心点距离刷新显示级别,通过裁剪视窗体和三维R树空间索引从数据库中检索出各块深度图像数据,实现有交互性的快速实时浏览。对于数字图像数据,采用I/O数据流技术直接从磁盘上获取整块文件数据,将其作为一个大对象存储,同时从其头文件中解析出必要的属性信息与大对象一起存入数据库。最后通过包含指向深度图像和数字图像表的指针、同名点坐标、方位元素和误差改正数等字段的表将深度图像和数字图像数据统一起来管理。本文采用地面激光雷达扫描获取的中国故宫博物院某些大殿的室内外深度图像数据和数字图像数据作为实验数据,基于Oracle数据库及Oracle Objects for OLE (OO4O)连接方式,以VC作为开发平台,结合OpenGL图形库,对大规模深度图像数据和数字图像数据进行高效的存储组织和管理,实现了大型深度图像数据的实时交互绘制,为利用深度图像和数字图像进行三维建模仿真打下了坚实的基础。