matlab - 如何实现 3d 重建算法

标签 matlab opencv graphics 3d projective-geometry

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




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

我的问题是:

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

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

    最佳答案

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

    有一个example in the OpenCV samples在那里你可以了解它是如何完成的。

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

    关于matlab - 如何实现 3d 重建算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095303/

    相关文章:

    python - 无法在virtualenv中导入opencv

    c++ - 将图像的区域复制到另一个图像中的另一个区域

    ruby-on-rails - Ruby 图形库

    c++ - vtkAppendPolyData 中的多种颜色

    matlab - 如何使用 `datenum` 处理空字符串

    matlab - 在 matlab 函数中控制冗长的想法/最佳实践

    matlab - 在 MATLAB 中获取最接近的数据点的索引到 Kmeans 聚类中的质心

    matlab - MATLAB 中的最大数组大小?

    c++ - openCV 中用于颜色识别的 HSV 图像

    command-line - 将灰度图像转换为具有可定义阈值的 1 位黑白图像,并保持透明度?