三维扫描软件是一类图形图像处理软件,用户使用三维扫描软件应能够完成完整的三维扫描操作,综合分析和借鉴国内外相关软件可得知,一款三维扫描软件的基本功能应该至少具备;扫描参数设置,自动扫描控制,扫描数据处理,扫描结果可视化,三维重建及数据输入输出等功能。对于开发人员,若该软件能同时作为开发平台使用,则还需要具备:跨平台及扩展能为,原始数据分析和处理能力,点云可视化及后处理能力等几个特点。这样才能方便开发人员进行进一步的算法研究和软件功能开发。
工作台功能需求分析
三维扫描系统工作台,是集机械、电子、传感器等设备为一体的自动化设备,用户可以使用该套设备完成三维扫描的全套自动化动作。对于普通用户,该套设备要求自动化程度高,可靠性好,而对于开发人员,该系统应该能够通过编程的方式定制其运动方式,同时具有点动模式,方便人工控制。从控制方式上来讲,需具备远程控制能力。总和以上功能需求,归纳出三维扫描硬件系统的基本功能应包含如下几个功能:360°圆周运动,摄像机升降,远程无线控制,可编程逻辑按制。
开源类库:
OpenCV: OpenCV是一个开源、跨平台的计算机视觉库,它实现了大量的计算机视觉通用算法。本系统在开发过程中,使用了 OpenCV提供的智能指针,同时也参考了其GPU图像算法的实现。
OpenNI:OpenNI(开放自然交互)是Kinect在PC端运行必须安装的开源驱动,它同时支持Windows、Linux和Mac OS系统及多款深度摄像机。为本系统提供了强大的跨平台能为和良好的兼容性。
Qt:Qt是一款跨平台的C++图形界面框架,它提供了丰富的API,支持2D/3D图形渲染,支持OpenGL。同时,开发人员可以利用Qt Designer进行GUI的快速。