下面是做的3D线激光重建的方法主要有三角法和移相法。下面记录三角法进行3D线激光的重建和测试:
1 硬件配置
相机:海康相机
线激光器:波长650nm的某激光器
滤光片
标定板:棋盘格标定板
图 1 测试实物图
2 开发步骤
(1) 硬件布局为相机倾斜,激光器竖直。根据要检测的精度,静距离等参数 他,调整相机的倾斜角度以及相机和激光器之间的距离。 相机倾斜角度为30度左右,间距为180mm。
(2) 标定线激光平面参数 (已经标定完相机内参数的情况下)
- 将激光打在标定板上, 调整标定板的高度。采集不同高度下的标定板图片。
- 图像线激光细化处理。常用的算法就是二值化之后,形态学运算,然后进行骨架细化处理。 骨架细化算法,采用的是Zhang-Suenalgorithm的并行迭代算法。网上有很多此算法的c++实现。
- 利用每张图片的标定板外参数,计算每张图片中线在相机坐标下的三维坐标。
- 将计算的三维坐标进行面拟合。即可计算出激光面在相机坐标系下的面方程参数。
(3)三维重建
任取一帧线激光图像,经过骨架提取之后,利用标定的面方程以及激光线上点的成像原理,即可求出任意线激光点的三维坐标。
(4) 系统参数线性优化
利用实验结果,可以对系统参数进行二次线性优化。
3 标准量块测试结果
- 10mm标准量块:9.98mm
- 20mm标准量块:20.01mm
- 30mm标准量块:29.97mm
- 40mm标准量块:39.98mm
测试结果显示,精度在0.05mm以内。
4 总结
(1)因为标定测试的时候,选用的相机分辨率太高,也没有进行截图。实时处理的速度有点慢。后 期改用100完像素左右的。
(2)图像处理有待优化的是,骨架提取没有做到亚像素级别的提取。
(3)系统参数的二次优化策略还需要继续改善。