3D立体声,坏3D坐标

时间:2014-10-26 19:55:15

标签: opencv 3d

我使用立体视觉来获得3D重建。我使用的是opencv库。 我以这种方式实现了我的代码:

1)立体声校准

2)图像对的不失真和矫正

3)视差图 - 使用SGBM

4)3D坐标计算depht map - unsing reprojectImageTo3D();

结果:

- 良好的视差图和良好的3D重建

-Bad 3D坐标值,距离不符合现实。

3D距离(相机和物体之间的距离)有10 mm的误差,随距离增加。我使用了各种基线,总是出错。 当我比较外部参数,矢量T,输出" stereoRectify"基线匹配。 所以我不知道问题出在哪里。

有人可以帮助我,提前谢谢

校准:

http://textuploader.com/ocxl http://textuploader.com/ocxm

1 个答案:

答案 0 :(得分:1)

立体视觉解决方案的十毫米误差可能是合理的,所有这些都取决于传感器灵敏度,分辨率,基线和到物体的距离。

相对于物体距离的增加误差也是问题的典型 - 立体声对应基本上在两个视频传感器与物体之间进行三角测量,距离越大,视频传感器之间角度的导数就越大。物体在深度轴上转换为更大的距离,这意味着更大的误差。很好的例子是当视频传感器与物体之间的角度几乎正确时,这意味着估计它时的任何小的正误差都会将估计的深度投射到无穷大。

您选择的架构看起来不错。您可以尝试增加传感器分辨率,或者可以深入研究校准过程,该过程在openCV库中有很大的调整空间 - 确保只选择棋盘静态拍摄的图像,选择更多种类的不同姿势棋盘,添加图像,直到两个图像之间的登记低于您允许的最大误差等等。