将图像堆叠在一起 opencv python

时间:2021-05-15 18:03:56

标签: python opencv

所以我试图从这 4 个从 4 个不同相机拍摄的鸟瞰图像中制作一个自上而下的视图,在进行透视变换后,我只需要将 4 个梯形堆叠在一起(没有绿色部分,即墙壁).

四张图

enter image description here

我想要实现的示例

enter image description here

1 个答案:

答案 0 :(得分:0)

首先通过在保持它们的位置的同时用 0 填充它们来使您的 4 个图像具有相同的大小。 让我们假设顶部和底部图像是 150x50,左右图像是 50x100。因此,您的最终输出图像大小将为 150x50+100+50=150x200。现在计算一下,找出在何处填充每个图像以保持其位置。

现在我们需要移除每张图片中的墙壁,只保留地板,您有两个选择:

选项 1: 为每个图像创建一个新的黑色“蒙版”图像(相同尺寸 150x200)。现在您可以手动获取地板像素的位置或使用颜色,并将蒙版中的地板像素设置为 255。

现在您已经为每个图像设置了地板像素掩码,您需要将这些地板像素复制到最终输出图像中。因此,为每个蒙版创建一个新的黑色图像,获取非零像素的位置并将像素值从相应图像复制到您的输出图像

选项 2: 找到图像中的墙壁像素并将它们设置为 0,然后将图像添加在一起。