基于校正图像的点云立体重建

时间:2012-11-21 07:58:42

标签: opencv stereo-3d

我有一对从整流立体图像中提取的匹配2D特征。在OpenCV中使用cvPerspectiveTransform函数,我尝试在3D中重建这些功能。结果与现实世界中的实际对象维度不一致。我意识到Matlab校准工具箱中有一个功能可以将2D立体声功能转换为3D点云。然而,这些特征是从原始图像中提升的。

如果我想使用经过校正的图像,是否可以根据2D要素位置和视差信息重建3D位置。

1 个答案:

答案 0 :(得分:3)

如果您知道焦距(f)和基线宽度(b,两个摄像机的投影轴的距离)以及整流立体图像对中的差异(d) ,您可以使用以下公式计算距离(Z):

Z = f*(b/d);

这来自以下等式:

x_l = f*(X/Z);  // projecting a 3D point onto the left image
x_r = f*((X+b)/Z);  // projecting the same 3D point onto the right image
d = x_r - x_l = f * (b/Z); // calculating the disparity

求解Z的最后一个等式应该得出上面给出的公式。