三维扫描软件:三维扫描软件为系统的表示层,该展包含了人机交互所必须的全部UI组件。同时,基于OpenGL开发了二维和三维数据的可视化模块,定制了鼠标和键盘的操作。此外,本层还负责构建上位机与下位机的逝信校块、居动脚本管理模块和逻辑编程模块。该层中包含一个用于进行数掘交互和调度的子层(或称接口);数据接口层,该子层主耍负责三维扫描软件和重建流水线之问的数交互,是软件解耦合设计的关键。
三维重建流水线:三维重建流水线是本系统的算法层。该层主耍负责实现三维扫描软件的扫描-建模流水线,大致分为:数掘采集模块,图像处理模块,点云融合及后处理模块和曲面重违模块4部分。摄像机采集到数化经数掘采集模块输入重建流水线,首先通过图像处理进行滤波操作,同时求解对应的单帖点云和法线数据。随府,通过ICP算法对带侦点云进行配准,求解像机姿态。利用摄像机当前姿态矩阵,将点云融合至全局数据当中。最后,通过光线投射法进行可视化或使用移动立方体重建算法提取等值面,生成三角形网格模型。
驱动层:驱动层主要包括深度摄像机的驱动和GPU设备的驱动,前者使用OpenNl进行配置、数据采集、录制和回放,后者使用CUDA计算架构进行GPU代码的编译和运行。