OpenCv 3d 拼接全景图

2023-12-04

我有 7 张来自 gopro 的图像(装备中有 5 个摄像头,一个用于顶部,一个用于底部,它们都是 gopro 相机)。我想将所有这些图像拼接在一起以创建 3D 全景图。我已经能够使用 opencv stitching_detailed.cpp 在 Rig 中拼接 5 个图像。文件链接:

https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/stitching_detailed.cpp

但我不确定如何缝合顶部和底部(对我来说,现在底部并不那么重要,但我必须对顶部做一些事情)。知道如何做到这一点吗?请告诉我是否可以使用相同的 stitching_detailed.cpp 来缝合顶部。

以下链接包含我正在使用的图像。它还包含我在装备中拼接图像得到的结果。


因此,首先您需要了解 stitching_detailed.cpp 的工作原理。 1.使用SURF/ORB/SIFT等在每张图像中检测特征关键点。然后对于每个图像对,找到最佳特征匹配并计算单应矩阵并获得每对图像的内点数

(*finder)(img, features[i]); 


 BestOf2NearestMatcher matcher(try_cuda, match_conf);
 matcher(features, pairwise_matches);
  1. 所有这些对都被传递到离开最大组件以获得属于全景图的最大图像集。

  2. 相机参数或每个图像是根据上面获得的集合计算的,并完成扭曲和混合。

步骤 1 将找到每对的单应性并生成内点数。步骤 2 将删除所有置信因子(内点数量)小于阈值的图像对。由于 cam7 img 的特征较少,并且几乎没有与任何其他图像重叠的区域,因此它将在 leftbiggestcomponent 步骤中被拒绝。

你可以在这个链接中看到功能和匹配(我已经使用过或功能)

https://drive.google.com/open?id=0B2wDitsftUG9QnhCWFIybENkbDA

另外,我没有改变图像大小,但我想稍微减小图像大小(可能减半)会产生更多特征点

您可以做的就是减少拍摄帧进行拼接的时间间隔。为了获得好的结果,图像之间必须有至少 40% 的重叠区域。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCv 3d 拼接全景图 的相关文章

随机推荐