如何将3D点云(从3D稀疏重建中提取)转换为毫米?

时间:2014-08-14 16:20:39

标签: matlab 3d computer-vision pixel point-clouds

使用立体视觉并基于多视图几何图书(http://www.robots.ox.ac.uk/~vgg/hzbook/),我在MATLAB中创建了一个3D点云。为此,我首先校准了摄像机并校正了立体图像。然后进行特征提取和匹配。然后根据摄像机位置消除了噪声匹配。最后使用三角测量创建了3D点云
现在我的问题是如何将这个3D点云从像素域转换为实际的毫米/厘米域知道我的焦距和相机校准矩阵? 目标是找到深度毫米。

我知道如何在视差/深度图案例中使用公式:Z =(t * f)/ d。
但是在稀疏的情况下,我能做这样的事情吗? http://matlab.wikia.com/wiki/FAQ#How_do_I_measure_a_distance_or_area_in_real_world_units_instead_of_in_pixels.3F 还是有一种更复杂的方法,有更深入的解释? 感谢。

1 个答案:

答案 0 :(得分:0)

您编写的公式仅在两个摄像机的图像平面位于同一几何平面上的特殊情况下有效,并且从一个到另一个的运动是平行于其中一个图像轴的平移。

在一般情况下,您需要使用该书中描述的技术之一对三维空间中的实际光线进行三角测量(它有一整章关于重建)。如果您的校准是重建,将进行重建。特别是,如果摄像机之间的坐标变换具有单位为米(或毫米,或英寸......)的平移向量。

相关问题