【问题标题】:Matlab 3D reconstructionMatlab 3D重建
【发布时间】:2014-05-25 00:39:32
【问题描述】:

最近,我必须在这 2 周内做一个多视图 3D 扫描的项目,我搜索了所有的书籍、期刊和网站以进行 3D 重建,包括 Mathworks 示例等。我编写了一个编码来跟踪两个图像之间的匹配点并将它们重建为 3D 图。然而,尽管使用了 detectSURFFeatures() 和 extractFeatures() 函数,仍然有一些对象点没有被跟踪。我怎样才能在我的 3D 模型中重建它们?

【问题讨论】:

  • 我可以知道如何将密集重建与仅使用 1 个网络摄像头的 3D 多视图扫描联系起来吗?您发布的网站使用立体视觉相机,但我所做的是使用 SfM,因为它可以计算物体的 3D 坐标而不限制相机方向。
  • 如果您希望我看到您的评论,请将其作为对我的回答的评论,而不是对您的问题的评论。 :) 看看这个例子:mathworks.com/help/vision/ug/…

标签: matlab 3d computer-vision matlab-cvst


【解决方案1】:

您正在寻找的内容称为“密集重建”。最好的方法是使用经过校准的相机。然后您可以校正图像,计算每个像素的视差(理论上),然后获取每个像素的 3D 世界坐标。请查看此Stereo Calibration and Scene Reconstruction 示例。

【讨论】:

    【解决方案2】:

    您使用的跟踪方法很好,但只会得到稀疏的对应关系。这个想法是您将使用其中最好的方法来尝试确定两个图像之间相机方向的差异。然后,您可以使用相机方向来获得更好的匹配,并最终生成可用于生成深度图像的密集匹配。

    逐帧跟踪图像中的每个点很难(称为场景流),您无法通过识别单个特征(如 SURF、ORB、Freak、SIFT 等)来实现.) 因为这些特征在定义上是“特殊的”,因为它们可以在图像之间清楚地识别出来。

    【讨论】:

      【解决方案3】:

      如果您可以访问 Matlab 的计算机视觉工具箱,则可以使用它们的匹配功能。 例如,您可以通过查看这篇关于 disparity 和相关 matlab 函数的文章开始。

      此外,您还可以阅读不同的匹配技术,例如块匹配、半全局块匹配和全局优化过程。仅举几个关键字。但请注意,立体匹配的话题很大。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多