2

我有两个空间图像,但没有相机校准输入。如何通过使用imread读取两个图像来开发 3D 模型?我也尝试遵循此代码,但这也需要相机参数。

http://in.mathworks.com/discovery/stereo-vision.html

我还尝试提出 3D 稀疏建模,但它不起作用。

http://in.mathworks.com/help/vision/examples/sparse-3-d-reconstruction-from-two-views.html

我可以使用高斯滤波器或类似的东西从立体对输入图像数据,然后将它们匹配以进行深度估计。如果我得到深度,我可以制作 3D 模型。

请建议什么可以快速完成我的时间不多了。

4

2 回答 2

0

首先,您没有确切地说出您在 3D 模型方面需要什么。您是否需要欧几里得模型(即知道所有边的长度?)还是仅用于缩放(度量重建)?

其次,您对图像了解多少?它们是在不同时间点从同一台相机拍摄的吗?不同的相机?摄像机是如何布置的?有一些特殊情况可能会使 3D 恢复更容易,但在一般情况下,如果没有相机校准,您将无法获得度量重建。

话虽如此,您可以尝试阅读有关从消失点或此进行校准的论文

如果您知道相机的类型,则可能有人已经获得了足够好的校准参数 - 捍卫相机的质量。

这背后的几何结构并非微不足道,在推荐解决方案之前我们需要了解更多。

于 2015-06-04T05:42:02.780 回答
0

问题是,根本没有任何校准,你所能得到的只是重建一个未知的投影变换。这意味着您将无法获得对象的绝对大小,并且您的角度将是错误的。最好的办法是校准你的相机。

如果你不能这样做,你可以使用estimateUncalibratedRectificationanddisparity函数来获得一部分。请参阅此示例。一旦你有了视差,你将不得不制作假相机参数,如焦距、光学中心和相机之间的距离,并编写自己的代码来进行重建。同样,这将是一个向上投影的重建。请参阅 Bradsky 和 ​​Kaehler 的“学习 OpenCV”。

于 2015-06-04T13:27:16.653 回答