我想从两张没有相机内在参数或GCP的图像中获取3D点云,但我不知道如何获得它。像Agisoft或Pix4d这样的软件在没有这些信息的情况下可以获得无标度的点云,但我想通过Matlab获得它。你能帮我吗?
第二项责任;我可以在不知道相机内在参数的情况下从F矩阵到E矩阵吗?
您可以从多个图像中获得合理的 3D 点云。
看看这门课程:
http://3dvision.princeton.edu/courses/SFMedu/
其中包括一些从多个图像生成 SfM 点云的 matlab 代码,以及一些应该回答您的第二个问题的幻灯片。
此 matlab 代码生成稀疏点云。Pix4D和Agisoft对这个稀疏点云进行了致密化作为额外的步骤。
这种致密化是非常昂贵的,我想说尝试在 matlab 中实现它是不切实际的。
但是,有一些开源替代方案可以执行这种致密化:
https://github.com/colmap/colmap
我不确定,但我认为您可以将 matlab SfM 的输出提供给 colmap,然后执行致密化。
colmap 文档还应该帮助您了解 SfM 和多视图立体声的工作原理。