gpt4 book ai didi

algorithm - 运动结构 : Implementing Triangulation

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:00:28 25 4
gpt4 key购买 nike

用例:


给定一个已知的(模拟的)3D 场景,并且:

  1. 对应 2D 点 V、V' 的 2 个向量,其中 V' 表示 3D 点的投影,包括相对变换(使用 5 点算法提取)。
  2. 相机内在矩阵‘K’
  3. 相对相机旋转矩阵‘R’
  4. 相对相机平移“t”(达到一定比例)

计算三角化的 3D 点位置(达到一定比例)实现:

  1. 对于每个相机,使用
    提取从相机转换并通过 3D 点的光线[RayV] = [Vx, Vy, 0] * K.inv()
    [RayV'] = [V'x, V'y, 0] * K.inv()
  2. 将相对旋转添加到 [RayV'](影响光线方向)
    [RayV'] = [RayV'] * [R]
  3. 形成两条射线的 3D 线方程
    L = [0, 0, 0] + [RayV](第一条射线与原点 0, 0, 0 相交)
    L'=[t] + [RayV'](添加相对相机平移)
  4. 根据以下公式找到空间中使两条射线之间的距离最小的点: https://www.youtube.com/watch?v=HC5YikQxwZA


问题:


导出的相机光线在 Z 坐标中偏差很大,而 X、Y 偏差很小,生成的三角点与生成它的场景不对应。

我在这里做错了什么?
上面的数学是否正确?
射线计算和射线公式推导是否正确?

最佳答案

要从 2D 点创建齐次坐标,您必须将射线计算中的 0 替换为 1。

关于algorithm - 运动结构 : Implementing Triangulation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24571359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com