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