Pillow - 合并图像

  • 简述

    Pillow 包允许您将图像粘贴到另一个图像上。merge() 函数接受一个模式和一个图像元组作为参数,并将它们组合成一个图像。

    句法

    
    Image.merge(mode, bands)
    
    参数说明
    • mode− 用于输出图像的模式。
    • bands − 包含输出图像中每个波段的一个单波段图像的序列。所有带必须具有相同的大小。
    • Return value− 一个图像对象。
    使用 merge() 函数,您可以将图像的 RGB 波段合并为 -
    
    from PIL import Image
    image = Image.open("beach1.jpg")
    r, g, b = image.split()
    image.show()
    image = Image.merge("RGB", (b, g, r))
    image.show()
    
    在执行上述代码时,您可以看到原始图像和合并 RGB 波段的图像,如下所示 -
    Input image
    输入图像
    Output image
    输出图像1

    合并两个图像

    同样,要合并两个不同的图像,您需要 -
    • 使用 open() 函数为所需图像创建图像对象。
    • 在合并两个图像时,您需要确保两个图像的大小相同。因此,获取两个图像的每个尺寸,如果需要,相应地调整它们的大小。
    • 使用 Image.new() 函数创建一个空图像。
    • 使用 paste() 函数粘贴图像。
    • 使用 save() 和 show() 函数保存并显示结果图像。

    例子

    以下示例演示了使用 python 枕头合并两个图像 -
    
    from PIL import Image
    #Read the two images
    image1 = Image.open('images/elephant.jpg')
    image1.show()
    image2 = Image.open('images/ladakh.jpg')
    image2.show()
    #resize, first image
    image1 = image1.resize((426, 240))
    image1_size = image1.size
    image2_size = image2.size
    new_image = Image.new('RGB',(2*image1_size[0], image1_size[1]), (250,250,250))
    new_image.paste(image1,(0,0))
    new_image.paste(image2,(image1_size[0],0))
    new_image.save("images/merged_image.jpg","JPEG")
    new_image.show()
    

    输出

    如果将上述程序另存为 Example.py 并执行,它将使用标准 PNG 显示实用程序显示两个输入图像和合并图像,如下所示 -
    Input image1
    输入图像1
    Input image2
    输入图像2
    Merged image
    合并图像