标签: fundamental-matrix

是否有运动/3D 重建结构的最小、完整、有效的示例?

就像问题所说的那样,我正在寻找一个完整的、最小的、运动结构(又名 3D 重建)管道的工作示例。

我马上说我没有相机参数。我不知道焦距或相机内部结构。因此,90% 的示例/教程都是 无效 的。

关于这个主题有很多问题,但代码只是片段,而不是完整的 SfM 过程。许多指令是矛盾的,或者只是猜测,并且开源外部库很难遵循。

所以我正在寻找一个简短的、完整的、最小的、可行的示例。最重要的是工作要求,因为太多的代码会产生不好的结果。

我已经用下面的代码对其进行了尝试。我使用匹配对的合成数据,因此没有噪音或不良对应问题需要解决。目标是从 2 个视图重建一个立方体(8 个 3d 点),每个视图有 8 个 2d 点。然而,最终的结果却很糟糕。没有立方体形状的外观。(我尝试过标准化和集中数据,这不是问题)。

任何能够提供更好的最小工作示例,或者指出我的尝试有什么问题的人,我们将不胜感激。

import cv2
import numpy as np
import scipy.linalg


def combineTR(T,R):  #turn a translation vector and a rotation matrix into one 3x4 projection matrix
    T4 = np.eye(4)
    T4[:3, 3] = T  # make it 4x4 so we can dot product it
    R4 = …
Run Code Online (Sandbox Code Playgroud)

python opencv 3d-reconstruction fundamental-matrix

10
推荐指数
0
解决办法
1290
查看次数

我如何处理基本矩阵?

我正在尝试从多个 2d 图像重建 3d 形状。我已经计算了一个基本矩阵,但现在我不知道如何处理它。

我在堆栈溢出和学术论文中发现了多个相互矛盾的答案。例如,Here说您需要从基本矩阵计算旋转和平移矩阵。

这里说你需要找到相机矩阵。

这里说你需要找到同形异义词。

这里说你需要找到对极线。

是哪个??(我该怎么做?我读过H&Z 的书,但我不明白。它说我可以“轻松”使用结果 9.14 中的“直接公式”,但结果 9.14 既不容易也不容易理解。)

堆栈溢出需要代码,所以这是我目前所拥有的:

    # let's create some sample data

    Wpts = np.array([[1, 1, 1, 1],  # A Cube in world points
                     [1, 2, 1, 1],
                     [2, 1, 1, 1],
                     [2, 2, 1, 1],
                     [1, 1, 2, 1],
                     [1, 2, 2, 1],
                     [2, 1, 2, 1],
                     [2, 2, 2, 1]])


    Cpts = np.array([[0, 4, 0, 1],  #slightly up
                     [4, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python 3d opencv matrix fundamental-matrix

5
推荐指数
1
解决办法
3238
查看次数