gpt4 book ai didi

opencv - SolvePnP - 如何使用它?

转载 作者:太空宇宙 更新时间:2023-11-03 21:03:17 26 4
gpt4 key购买 nike

我正在使用运动结构进行多 View 几何重建。到目前为止,我有以下内容

两张图片作为初始输入相机参数和畸变系数初始输入图像的工作校正流水线创建视差图通过遍历视差图并将值作为 z(x 和 y 是视差图中像素的像素坐标)从视差图中创建点云(不起作用的是 reprojectImageTo3D,因为我的 Q 矩阵似乎非常错了,但其他一切正常)这为我提供了一个很好的场景点云。

现在我需要向管道添加 n 个图像。我在谷歌上搜索了很多,发现 solvePnP 方法对我有帮助。

但是现在我很迷茫...

SolvePnP 将获取 3D 点列表和相应的 2D 图像点,并为第三个、第四个相机……重建 R 和 T 向量,依此类推。我读到 tho 向量需要对齐,这意味着第一个向量中的第一个 3D 点对应于第二个向量中的第一个 2D 点。

到目前为止一切顺利。但是我从哪里获取这些信件呢?我可以使用这种方法 reprojectPoints 来获取这两个向量吗???或者我的整个想法使用视差图进行深度重建是错误的吗? (备选方案:triangulatePoints 使用之前找到的良好匹配项)。

有人可以帮我弄清楚吗?我如何使用 solvePnP 添加 n 个摄像机并因此向我的点云添加 3D 点并改进重建结果?

最佳答案

Solve PnP 是一个函数,给定对象的 3D 模型(比方说棋盘)和该对象在现实世界中的 View ,将为您提供相机相对于对象的大致位置和方向.

对象的 3D 模型和 View 是一组对应的 3D 和 2D 点。当您知道对象模型(对象关键点的位置)以及这些关键点在相机图像上的位置时,该功能将更好地工作。

我不是 3D 图像重建方面的专家,但似乎使用包含观察到的场景及其关键点的每张图像中的信息,并从 View 中找到图像上的信息,您应该能够迭代地改进您的模型并改进相机位置的近似值。

由于您有视差图,它显示了从两个不同点观察到的场景关键点的距离,如果您知道确切的视点,使用三角测量确实会更好。或者它们的良好近似值(然后您需要用后续的新 View 改进这些近似值)。

关于opencv - SolvePnP - 如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23493701/

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