了解3D点云中的深度值

时间:2014-09-17 01:25:39

标签: matlab 3d computer-vision matlab-cvst

我在理解3D点云中的深度(Z)值时遇到了问题,如3D稀疏重建,如MATLAB中的这个例子:http://www.mathworks.com/help/vision/ug/sparse-3-d-reconstruction-from-multiple-views.html

我在上面的例子中附上了一张显示重建的3D点云的图片。我在图上放了一些数据提示,所以我们知道点的(x,y,z)坐标。这是我的问题:

1-点云中的Z值代表什么?是距离相机的毫米距离吗?如果是这种情况那么根据我附上的图片没有意义,因为我确信球体和棋盘与相机的距离必须大于200毫米。 或者它可能来自太空中的某个参考点?那么这个参考点是什么?如何制作一个三维点云,Z值表示与相机的距离?

2-为什么Z的负值?这与摄像机的距离意味着什么?

如果有人可以解释,我很感激。

enter image description here

2 个答案:

答案 0 :(得分:2)

在此示例中,世界坐标由棋盘定义。棋盘定义X-Y平面,Z轴指向棋盘,如documentation中所述:

enter image description here

由于您的3D点位于棋盘上方,因此它们具有负Z坐标。

答案 1 :(得分:-2)

您的(x,y,z)坐标是世界单位,它与度量值完全断开(除非您在世界和公制之间建立比例,否则有多种方法可以执行此操作)。所以z值告诉你世界坐标中每个点的深度。

如果您拥有每个摄像机的姿势,并且将每个点乘以摄像机投影矩阵,您将获得摄像机坐标中的(x',y',z')点。那时,如果z'是负面的,这意味着它在相机背后