【问题标题】:Stack two images to obtain a single image on Python在 Python 上堆叠两个图像以获得单个图像
【发布时间】:2021-03-30 04:58:04
【问题描述】:

我一直在尝试堆叠两张图片。

最终结果将用作我的卷积神经网络的输入。

现在我尝试使用dstack,我还尝试通过导入Image.blend 来使用PIL,但我似乎无法达到我想要的结果。

如果有人有任何我可以使用的想法,我将不胜感激。

【问题讨论】:

  • 请在代码中包含您尝试过的内容。
  • 你从枕头上粘贴

标签: python image-processing stack


【解决方案1】:

这可以帮助你。

from PIL import Image

image1 = Image.open("img1.jpg")
image2 = Image.open("img2.jpg")
image1 = image1.resize((224, 224))
image1_size = image1.size
image2_size = image2.size
new_image = Image.new('RGB',(2*image1_size[0], image1_size[1]), (250,250,250))

【讨论】:

  • 我通过以下方式修改了代码:image1 = H image2 = T_resized image1 = np.resize(image1,(224, 224)) image1_size = image1.size image2_size = image2.size new_image = Image.new('RGB',(2*image1_size[0], image1_size[1]), (250,250,250)) 但是在最后一行我得到一个错误:'int' object is not subscriptable [Sorry can't figure out how to do linebreaks]
  • 这是因为numpy数组的size方法和PIL的size方法不同。如果你使用 numpy,你应该应用 .shape 方法而不是 .size。 Size 给出了一个整数,表示数组占据了多少空间。
【解决方案2】:

调整它们的大小,使其大小相同,然后使用 np.stack 和 axis=3(如果您使用的是多通道图像。否则,使用 axis=2。

或者您想将它们组合成一张图片?如果是这样,怎么做?掩码,加减法?

【讨论】:

    猜你喜欢
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    相关资源
    最近更新 更多