具有立体 3D 重建的 OpenCV

Posted

技术标签:

【中文标题】具有立体 3D 重建的 OpenCV【英文标题】:OpenCV with stereo 3D reconstruction 【发布时间】:2011-12-30 02:36:38 【问题描述】:

假设我计划使用 OpenCV 使用立体方法进行 3D 重建......我没有任何特殊的立体相机,只有网络摄像头。

1.)如何使用一组网络摄像头构建便宜的立体声设置? 2.)是否可以使用网络摄像头拍摄两张图像并使用 openCV API 将它们转换为立体图像?

我将使用下面链接中的立体算法 Stereo vision with OpenCV

使用这种方法,我想创建室内环境的详细映射。 (我不想使用像 Insight3D 这样的项目,如果不分发源代码就不能用于商业目的)

【问题讨论】:

[刚刚意识到这个线程有多老...] 在这里无法给出一个简洁明确的答案。但我会指出你必须注意的一件事。您需要确保可以完全同时从两个网络摄像头捕获图像。否则,如果您的装备在移动,您将无法获得正确的立体图像。也就是说,如果图像是在不同时间拍摄的,您将不再有“立体”相机,只有两个独立的相机。 一种使用 findHomography 和两个流中的特征来使图片相似的方法。并使用来自 opencv 的立体声校准来避免失真。当我使用立体声时,我已经尝试过了。我的结果不是很好,但令人满意 PS 对不起,我的写作错误。英语不是我的母语 【参考方案1】:

你可以在这里找到很多资源,包括tutorials and stereo vision cameras

【讨论】:

【参考方案2】:

首先,确保您的网络摄像头没有任何内置自动对焦技术。因为相机应该有固定的焦距。

1) 使用不同的基线距离以规范配置对齐相机。然后使用 opencv 的 stereo_calib.cpp 程序校准它们。通常,距离为 20-60 厘米。对于某些网络摄像头,即使 10 厘米也会给您带来更好的效果。如果 rms 误差和重投影误差小于 0.5,那么您可以认为立体声设置已准备就绪。

2) 是的,可以从我刚才提到的设置中捕获立体图像。查看此link 以从相机捕获图像。

OpenCV 提供了更好的算法,人们可以利用这些算法在 3D 视觉中创造奇迹。

立体声更适合室内环境,因为它对光线变化非常敏感。

【讨论】:

以上是关于具有立体 3D 重建的 OpenCV的主要内容,如果未能解决你的问题,请参考以下文章

ECCV2020优秀论文汇总|涉及点云处理3D检测识别三维重建立体视觉姿态估计深度估计SFM等方向

COLMAP简介及通过2D序列图像进行3D重建操作流程

从多个 2D 点重建 3D 点?

从两个 2D 点重建一个 3D 点?

Discovery直播 | 3D“模”术师,还原立体世界——探秘3D建模服务

Discovery直播 | 3D“模”术师,还原立体世界——探秘3D建模服务