大视差拼接

大视差拼接

我需要将 5 个摄像头拍摄的图像拼接在一起。这些摄像头安装在水下遥控机器人的侧面。它基本上是一个杯形物体,尺寸为 2.1mx 1.3mx 1.85m。这些摄像头安装在这个杯形物体的侧面。因此,一个摄像头在前面,一个在后面,一个在右侧,一个在左侧,一个在底部朝下。所有摄像头都配有视角为 180° 或更大的鱼眼镜头,分辨率为 4k。目标是实时拼接图像并使用 VR 耳机查看结果。

我尝试过一种纯几何方法,其中只使用相机的位置和参数。这种方法效果不错,但图像之间的接缝仅在特定的观看距离内有效。否则接缝非常明显,我只能拼接水平相机,而无法拼接底部相机。

我也尝试过 NVidia 的 vrWorks 360,但它只适用于水平对齐的摄像头,因此底部摄像头被忽略。而且水平摄像头的拼接效果非常糟糕。

我也偶然发现了容忍视差的图像拼接此实现。但它也只适用于水平对齐的图像并且不允许使用鱼眼镜头。

我的最后一个方法是使用校准网页浏览器并使用此校准缝接它曾经是一款商业拼接软件,但现在是开源的。到目前为止,它提供了最好的结果。但仍然存在一些对齐错误,并且只有在几乎没有近距离物体的情况下才能正常工作。

我也尝试过直接使用 openCV,但是这对我来说太难了,因为有太多选项可以使用 api,还有太多模块需要配置。

有人知道我该如何有效地将这些图像拼接在一起吗?我更喜欢免费的开源解决方案,但如果能完成工作,付费的闭源应用程序也是可以接受的。

答案1

我猜你所说的“实时”是指拼接时的快速图像处理。如果是这样,请看一下这个开源解决方案,它具有大量控制、选项、GPU 处理功能,并且能够使用底部图像创建全景图:

如果您指的是真正的“实时”,那么您可能需要使用 OpenCV 的临时系统,并且实时处理可能取决于速度分辨率权衡。以下是基本示例的链接:

干杯!

相关内容