只需要一个廉价的投影仪和webcam(网络相机),就能打造一个属于自己的三维扫描仪,这便是结构光三维扫描仪,它利用结构光把不同光照模式投影在物体的表面,进而得到精确的物体形状。整个过程包括投影一个已知的光照模式,通常是条纹或者带状的光,到物体的表面,这些光照模式在遇到物体轮廓边缘的时候就会发生形变,相机就可以在不同的角度扑捉这些形变。
一 投影。
结构光的概念实质上是通过特别设计的光照模式把场景点亮,如图所示通常的光照模式有很多种。
而我们关注的是二进制编码和格雷码。
二进制编码和格雷码的相互转换。
二 工作原理。
投影的结构光遇到物体表面发生形变,而这些形变之中包含了物体的形状的深度信息。通过分析条纹的形变,我们使用一种叫做triangulation的算法重建一个高精度的物体三维模型。triangulation通过比较条纹投影到相机所拍摄的图片上像素的位置和角度,就可以计算出物体的顶点信息,
三 处理相机拍摄的图片
因为相机拍摄的图片是一个序列,需要对图片进行处理,为后续的三维重建做准备。对于每一个相机,必须对每一张图片中任意给定的像素确定其是否被投影仪照亮。如果该像素在任何图片中被点亮,则该像素的编码值就比较高,反之则比较小。这里有一个正整数的值用于确定给定像素属于那一个投影行。
四 三维重建
相机和投影仪之间的对应关系可以用来重建三维点阵结构。投影仪的像素和相机的图片像素可以通过一种叫做ray-ray triangulation的算法进行计算,以确定模型的顶点位置。