基于激光成像的平面伪3d建模仪
时间:10-02
整理:3721RD
点击:
申请理由:项目描述:板卡将安装Ubuntu系统,进行上位机开发,将使用Opencv视觉库,pcl点云库,使用QT开发,通过一字线激光完成对指定物件扫描得到最终的3D模型。激光成像单元采用了一字线激光和摄像头构成。特定的结构构造,经过软件的校准,完成对物体的高精度建模。上位机采用QT进行开发,使用OpenCV开源库完成图像处理部分。得到的3D模型可以在MeshLab中进行查看。
功能与指标
图像采集
该部分功能则是采用了OpenCV对摄像头数据进行获取,结合QT进行图像的展示,可以调整图像的亮度,选择图像的RGB通道。
激光采集
本项目中采用了特殊波长的一字线激光器,波长的范围在可见光之外,我们将摄像头的红外滤光片去除,使得摄像头可以采集到这一波长,从而保证相应滤除一些环境干扰使得图像更加纯净。保证对于摄像提取的模型数据更加准确。
模型文件生成
对激光成像采集得到的数据生成一个后缀为ply的文件,我们可以将其导入我们的MeshLab中进行查看
硬件部分分为四个部分内容:
1.DragonBoard 410c平台:以DragonBoard 410c为核心数据处理中心,搭载Ubuntu操作系统。作为硬件的大脑部分。
2.激光成像设备:该硬件有一字线激光和摄像头构成,为整个系统的核心硬件。
3.水平导轨平台:导轨上激光头水平扫描,保证对整个系统的尺寸设计要求,保证系统的扫描精度。
4.Genuino101控制单元:这块内容主要完成对旋转平台的控制。
软件的实现上,详细说明软件的实现过程:
系统初始化,主要完成对摄像头的检测工作,和软件使用的内存分配内容。
之后我们会进入一个选择对系统的校准问题,这里的校准我们使用的Camera Calibration Toolbox for Matlab工具进行摄像头的图像校准,解决摄像头当中可能存在的图像畸形。保证得到的图像数据的准确度。
之后会进入一个系统的设置过程,该设置主要是对我们的建模仪的参数设置,包括我们的摄像头和一字线激光的位置d的距离,扫描设备和参考平面的距离D设置,以及我们的激光器的激光射线与我们参考平面的交点位置和摄像头垂直方向和参考平面交点位置的距离m,对这三个参数进行设置。
完成对摄像头的校准之后我们就可以进入扫描阶段了,这里我们的设计逻辑是,我们仅在设备第一次使用的时候才需要进行相应的设置,没有对设备进行改动的话,下一次进入软件是不需要进行设置的,直接可以进入扫描阶段。
进入扫描阶段之后我们可以直接在DragonBoard 上运行的软件中选择开始扫描就可以了,Genuino101模块接收到相应的控制指令之后控制我们的水平导轨来回扫描物体,我们在上位机上可以看到整个的扫描过程。扫描一周之后我们就可以得到我们的模型数据了。最终DragonBoard 的上位机程序会得到一个ply的模型文件,我们将其导入我们的MeshLab中就可以查看我们的扫描模型了。进行相应的后期处理我们就可以在MeshLab中将模型导出为我们的3D打印机可以识别的格式STL,之后就可以将我们的扫描物体直接通过3D打印机直接打印出来了。
本人为福州大学大三通信工程专业学生,学习嵌入式开发2年,熟练使用ARM32位单片机,能画板制图。曾经使用过cubieboard ,minnowboard, WRTnode,Raspberry Pi,Intel Edison等板卡进行开源硬件开发,掌握Arduino变成,熟悉Gokit云平台,能够使用http,EDP等协议通信,会使用C/C++/JAVA语言编程。曾参加全国大学生电子设计竞赛,全国大学生电子设计竞赛嵌入式邀请赛,全国大学生物联网竞赛,全国智能硬件开发大赛等多项赛事,并且获得一些名次。对开源硬件有一定的理解。第一次在发烧友申请硬件,希望小编通过~
功能与指标
图像采集
该部分功能则是采用了OpenCV对摄像头数据进行获取,结合QT进行图像的展示,可以调整图像的亮度,选择图像的RGB通道。
激光采集
本项目中采用了特殊波长的一字线激光器,波长的范围在可见光之外,我们将摄像头的红外滤光片去除,使得摄像头可以采集到这一波长,从而保证相应滤除一些环境干扰使得图像更加纯净。保证对于摄像提取的模型数据更加准确。
模型文件生成
对激光成像采集得到的数据生成一个后缀为ply的文件,我们可以将其导入我们的MeshLab中进行查看
硬件部分分为四个部分内容:
1.DragonBoard 410c平台:以DragonBoard 410c为核心数据处理中心,搭载Ubuntu操作系统。作为硬件的大脑部分。
2.激光成像设备:该硬件有一字线激光和摄像头构成,为整个系统的核心硬件。
3.水平导轨平台:导轨上激光头水平扫描,保证对整个系统的尺寸设计要求,保证系统的扫描精度。
4.Genuino101控制单元:这块内容主要完成对旋转平台的控制。
软件的实现上,详细说明软件的实现过程:
系统初始化,主要完成对摄像头的检测工作,和软件使用的内存分配内容。
之后我们会进入一个选择对系统的校准问题,这里的校准我们使用的Camera Calibration Toolbox for Matlab工具进行摄像头的图像校准,解决摄像头当中可能存在的图像畸形。保证得到的图像数据的准确度。
之后会进入一个系统的设置过程,该设置主要是对我们的建模仪的参数设置,包括我们的摄像头和一字线激光的位置d的距离,扫描设备和参考平面的距离D设置,以及我们的激光器的激光射线与我们参考平面的交点位置和摄像头垂直方向和参考平面交点位置的距离m,对这三个参数进行设置。
完成对摄像头的校准之后我们就可以进入扫描阶段了,这里我们的设计逻辑是,我们仅在设备第一次使用的时候才需要进行相应的设置,没有对设备进行改动的话,下一次进入软件是不需要进行设置的,直接可以进入扫描阶段。
进入扫描阶段之后我们可以直接在DragonBoard 上运行的软件中选择开始扫描就可以了,Genuino101模块接收到相应的控制指令之后控制我们的水平导轨来回扫描物体,我们在上位机上可以看到整个的扫描过程。扫描一周之后我们就可以得到我们的模型数据了。最终DragonBoard 的上位机程序会得到一个ply的模型文件,我们将其导入我们的MeshLab中就可以查看我们的扫描模型了。进行相应的后期处理我们就可以在MeshLab中将模型导出为我们的3D打印机可以识别的格式STL,之后就可以将我们的扫描物体直接通过3D打印机直接打印出来了。
本人为福州大学大三通信工程专业学生,学习嵌入式开发2年,熟练使用ARM32位单片机,能画板制图。曾经使用过cubieboard ,minnowboard, WRTnode,Raspberry Pi,Intel Edison等板卡进行开源硬件开发,掌握Arduino变成,熟悉Gokit云平台,能够使用http,EDP等协议通信,会使用C/C++/JAVA语言编程。曾参加全国大学生电子设计竞赛,全国大学生电子设计竞赛嵌入式邀请赛,全国大学生物联网竞赛,全国智能硬件开发大赛等多项赛事,并且获得一些名次。对开源硬件有一定的理解。第一次在发烧友申请硬件,希望小编通过~
这个难度很大。
难度确实不小
希望他能顺利完成自己的项目
这个一字线激光扫描3D建模已经有人做出来, 一个卖到2K多。他的核心是用电脑来处理的,下位机只是单纯的传感器。