【问题标题】:How to implement 3d reconstruction algorithms [closed]如何实现 3d 重建算法 [关闭]
【发布时间】:2016-07-05 20:27:33
【问题描述】:

我最近一直在研究从多个 2d 视图进行 3d 重建。我读过的大部分内容都集中在基本矩阵、极线几何和该主题的其他理论原理上。假设给定两张图像,我知道如何计算每个 2d 点对应的 3d 点。

我的问题是:

  1. 我应该使用哪些软件或库来显示 3d 模型?
  2. 如何表示 3d 模型?

我知道可以使用 MATLAB 或 OpenCV,但我没有找到任何讨论如何使用它的内容。

【问题讨论】:

标签: matlab opencv graphics 3d projective-geometry


【解决方案1】:

检查 OpenCV 中的disparity map。您可以使用生成深度图(类似于您从中获得的深度图 - 比如说 - Kinect,但显然不太准确)。视差图中的每个像素都表示基于用于生成地图的两帧之间的差异到对象的距离。

有一个example in the OpenCV samples,您可以在其中了解它是如何完成的。

至于 3D 数据的表示,我建议使用 PCL(点云库)或任何其他与点云一起工作的库,因为...嗯,这是当今的一种实践。点云允许您对空间数据应用各种算法(包括特征匹配、合并、转换等)以及生成网格的能力。例如,如果我没记错的话,PCL 至少有 3 种从点云生成网格的方法(遗憾的是,NURBS 模块仍处于试验阶段且存在缺陷)。

【讨论】:

  • 如果我必须从头实现自己的算法,我该如何使用它?
  • 实现自己的东西的最佳方法可能是阅读一些论文(当算法基于此类材料时,OpenCV 文档中通常会提到一些论文)并查看源代码开放式简历。毕竟它是开源的。 :3
猜你喜欢
  • 2011-01-09
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
相关资源
最近更新 更多