我正在使用 OpenCV 从多个视图(图像)中提取 3D 模型。我进入了一个阶段,输入是两个图像,结果是重建 3D 模型的 3D 点。
我想组合两个以上的图像,以便从所有视图中进行完全重建。所以我有一个描述图像 1-2 的 3D 点和描述图像 2-3 的 3D 点。如何将两个 3D 点数组合并为一个完整的 3D 模型。
有什么建议么?
我正在使用 OpenCV 从多个视图(图像)中提取 3D 模型。我进入了一个阶段,输入是两个图像,结果是重建 3D 模型的 3D 点。
我想组合两个以上的图像,以便从所有视图中进行完全重建。所以我有一个描述图像 1-2 的 3D 点和描述图像 2-3 的 3D 点。如何将两个 3D 点数组合并为一个完整的 3D 模型。
有什么建议么?
这并不像将第二个 pc 转换为第一个所在的帧那么简单,因为这两个帧是独立的。存在尺度模糊性。如果你足够幸运,你可能会在一些捆绑调整后看到合并工作正常。
假设您正在使用立体匹配算法进行 3D 重建,图像 1-2 之间的 3D 重建会在图像 1 的坐标系中产生 3D 点。同样,图像 2-3 之间的 3D 重建会在坐标系中产生 3D 点图2系统。
因此,您只需将第二个点云的 3D 坐标系从图像 2 的一个更改为图像 1 的一个。这利用了图像 1-2 之间的旋转矩阵 R 和平移向量 T。
编辑:请注意,这种合并两个点云的方法非常基本,您可以通过一次使用图像 1-2-3 进行联合 3D 重建(例如束调整)来提高准确性。我不认为这种方法在 OpenCV 中可用。