首页 文章

从校准的相机图像的3d重建

提问于
浏览
5

我正在进行三维重建 . 而现在我考虑一对图像 . 我有一套相应的要点 . 我有我的相机细节 . 例如,我有焦点细节,旋转和平移矩阵(4 * 4) . 我想在3D(三角测量)中投射我的观点 . 因此,据我所知,它通过因子代数非常简单 . 但我仍然需要清楚地理解它 . 有没有人知道如何遵循这个?我正在使用matlab,所以我需要实现它!我可能再次过于宽泛或其他什么 . 但请指导我!

1 回答

  • 0

    您需要根据已知的摄像机属性计算摄像机矩阵;这是一个缩放投影矩阵,可将3D均匀点映射到2D像素坐标上 . (请注意,如果你想要不错的精度,你还需要测量和系统地纠正你的相机的镜头失真,但这是一个二阶细节 . )

    然后,将您的相机矩阵与您的姿势矩阵(您提到的4x4旋转/平移矩阵)相乘,得到一个矩阵(总共为 T ),将您选择的3D坐标系中的一个点投影到相机的(整流)像素坐标中:

    pixel vector Q.x  =  T * point P.x
                 Q.y               P.y
                 Q.z               P.z 
                 Q.w                1
    
    pixel coordinates  =  (Q.x/Q.w, Q.y/Q.w)
    "pixel depth" = Q.z/Q.w
    

    您可以反转此矩阵,并使用它通过选择两个深度将像素坐标投影到3D光线中:一个位于摄像机位置,另一个不是(最佳选择单位深度或无限远点) . 您不能指望您的光线准确地相交,但您可以根据两条相应光线最接近的位置获得最佳位置;更一般地说,您可以将任意数量的光线的交点视为最小二乘问题(理想情况下,以每条光线预期的误差为条件) .

相关问题