【发布时间】:2015-05-05 03:47:13
【问题描述】:
我的目标是基于 2 对图像(AB、BC)及其投影矩阵创建单个 3D 点云。每张图片都来自具有 3 个不同位置的同一个摄像头(不是视频)。
我使用“标准流程”:点匹配(筛选或冲浪)、仅保留内点、查找位置、进行捆绑调整...图像校正。到目前为止一切正常。
接下来,我使用 Matlab 函数“disparity”创建 2 个视差图,每对图像一个。 接下来,我使用投影矩阵创建 2 个分离的 3d 点云,每对图像一个。
但是,我如何合并来自 AB 和 BC 的 2 个点云。显然,3D坐标取决于函数视差的“DisparityRange”参数。
我是否错过了过程中的一个步骤?
提前感谢您的帮助 阿尔瓦罗
【问题讨论】:
-
你刚才说你创建3D点!为什么你对如何做有疑问?它并不安静。如果您想使用相关单位了解 3D 中的点,则需要相机的外在参数和内在参数。否则你可以编造它们
-
我可以为每对图像创建点云。但是当我合并 2 个点云时,结果并不好。
-
您使用哪种方法从 2D 创建 3D 点?你看过这篇文章:stackoverflow.com/questions/16295551/… 吗?主要看2D匹配点和投影矩阵获取3D点的方法
-
在 Matlab 上我使用的是 vgg_X_from_xP_nonlin.m 函数。作为输入,它采用 2 个投影矩阵和 2 个点的坐标(每个图像一个)。从图像匹配和相机矩阵估计 3D 点,非线性。
-
我将函数 vgg_X_from_xP_nonlin.m 与另一种密集匹配方法一起使用,效果很好。
标签: matlab matlab-cvst vision 3d-reconstruction