深度相机三维重建

来源:互联网 发布:咖啡豆知乎 编辑:程序博客网 时间:2024/05/21 12:44

笔者近日学习Kinect开发,需要得到指定物体的三维坐标,在查阅了众多资料之后,也有了一点点自己的看法。

由于Kinect是一款RGB-D相机,能够很容易获得相应的深度信息,而至于深度信息,推荐一篇知乎专栏https://zhuanlan.zhihu.com/p/22056894,

然后应该如何处理得到的深度信息呢,笔者觉得主要有三个步骤

1.首先应该将深度相机的深度图像和色彩图像的视角结合到一起,也就是由于相机的深度相机和彩色相机的镜头不在一起,两张图片上得到的数据不可以直接相互利用,可以经过一些旋转平移变化再利用。

2.其次是通过相机标定,得到相机元素点的真实x,y坐标,也有很多相关的相机标定的资料可以看下,也有一些写好的库函数,笔者也还在探索阶段。

3.在得到xyzrgb数据之后可以进行特征匹配,可以用二维的特征匹配子,也可以使用三维的特征匹配子,这个视情况而定了。

在这些基础步骤之后,可以利用pcl点云库之类的进行三维重建,也可以用slam算法实现地图构建,也可以参考Kinect fusion工程进行使用,也就是可以根据应用情况的不同,选择各自的处理方法。

如果觉得得到的图像还不够完善,则可以查阅一些相关滤波算法,优化得到的深度图像和彩色图像。

2 0