最近我一直在研究从多个 2d 视图进行 3d 重建。我读过的大部分内容都集中在基本矩阵、极线几何和该主题的其他理论原理上。假设给定两张图像,我知道如何计算每个 2d 点对应的 3d 点。
我的问题是:
- 我应该使用哪些软件或库来显示 3d 模型?
- 我如何表示 3d 模型?
我知道可以使用 MATLAB 或 OpenCV,但我没有找到任何讨论如何使用它的内容。
最近我一直在研究从多个 2d 视图进行 3d 重建。我读过的大部分内容都集中在基本矩阵、极线几何和该主题的其他理论原理上。假设给定两张图像,我知道如何计算每个 2d 点对应的 3d 点。
我的问题是:
我知道可以使用 MATLAB 或 OpenCV,但我没有找到任何讨论如何使用它的内容。
检查 OpenCV 中的视差图。您可以使用生成深度图(类似于您从中获得的深度图 - 比如说 - Kinect,但显然不太准确)。视差图中的每个像素表示到对象的距离,基于用于生成图的两个帧之间的差异。
OpenCV 示例中有一个示例,您可以从中了解它是如何完成的。
至于 3D 数据的表示,我建议使用 PCL(点云库)或任何其他与点云一起工作的库,因为……嗯,这是当今的一种实践。点云允许您对空间数据应用各种算法(包括特征匹配、合并、转换等)以及生成网格的能力。例如,如果我没记错的话,PCL 至少有 3 种从点云生成网格的方法(遗憾的是,NURBS 模块仍处于试验阶段且存在缺陷)。