如何从单个图像中获取相机变换矩阵?

时间:2017-05-10 09:26:01

标签: opencv matrix 3d computer-vision projection-matrix

我有一个图像和几个已知点及其对图像平面的投影。 (每个3d点投影到2d)。我的目标是找到矩阵4x4,以便于计算任何3d点到图像平面的投影。 我尝试使用此主题中的蒙特卡罗方法:How do I reverse-project 2D points into 3D? 但是结果矩阵对于oXY平面是好的,而不是对于Z坐标(具有非零Z的点被错误地投射)。 我还使用了OpenCV.CalibrateCamera方法。我得到了旋转矩阵,相机矩阵和平移向量,但对于非零Z点也没有好处。另外,我对3个矩阵不感兴趣,我只想得到一个矩阵4x4用于投影和非投影点。

看看这张图: Illustration

我很确定我的问题有解决方案,但不知道如何解决。

1 个答案:

答案 0 :(得分:2)

最后我找到了解决方案。 它在http://ece.ucsb.edu/~manj/ece181bS04/ECE_181b_HW3/camera_matrix_key.pdf中描述 方法具有名称“直线线性校准”,并且在3d中需要至少6个点并且其投影到图像平面。方法返回相机矩阵4 * 3,我试图找到它。