zhzhx 发表于 2022-12-29 14:04

python实现两张图片横向和纵向拼接

本文实例为大家分享了python实现图片横向和纵向拼接的具体代码,

这里主要用Python扩展库pillow中Image对象的paste()方法把两张图片拼接起来供大家参考,具体内容如下:

一、代码:

from PIL import Image


def join(png1, png2, flag='horizontal'):
    """
    :param png1: path
    :param png2: path
    :param flag: horizontal or vertical
    :return:
    """
    img1, img2 = Image.open(png1), Image.open(png2)
    # 统一图片尺寸,可以自定义设置(宽,高)
    img1 = img1.resize((1500, 1000), Image.ANTIALIAS)
    img2 = img2.resize((1500, 1000), Image.ANTIALIAS)
    size1, size2 = img1.size, img2.size
    if flag == 'horizontal':
      joint = Image.new('RGB', (size1 + size2, size1))
      loc1, loc2 = (0, 0), (size1, 0)
      joint.paste(img1, loc1)
      joint.paste(img2, loc2)
      joint.save('horizontal.png')
    elif flag == 'vertical':
      joint = Image.new('RGB', (size1, size1 + size2))
      loc1, loc2 = (0, 0), (0, size1)
      joint.paste(img1, loc1)
      joint.paste(img2, loc2)
      joint.save('vertical.png')


if __name__ == '__main__':
    # 两张图片地址:
    png1 = r"C:\Desktop\img\15.jpg"
    png2 = r"C:\Desktop\img\01.jpg"
    # 横向拼接
    join(png1, png2, flag='horizontal')

    # 纵向拼接
    # join(png1, png2, flag='vertical')

nitian0963 发表于 2022-12-29 14:42

谢谢分享!

lengkeyu 发表于 2022-12-29 15:06

不错,谢谢!学习

rhci 发表于 2022-12-29 15:19

感谢分享,学习中。

ysjd22 发表于 2022-12-29 16:01

学习了。谢谢分享

chenxk 发表于 2022-12-29 16:35

有个软件PicMerger也挺好用的

xueyi 发表于 2022-12-30 15:02

from PIL import Image

# 打开图片文件
image1 = Image.open("image1.jpg")
image2 = Image.open("image2.jpg")

# 获取图片的宽度和高度
width1, height1 = image1.size
width2, height2 = image2.size

# 创建一个新图片,宽度为两张图片宽度之和,高度为两张图片高度的最大值
result = Image.new("RGB", (width1 + width2, max(height1, height2)))

# 将两张图片横向拼接在一起
result.paste(image1, (0, 0))
result.paste(image2, (width1, 0))

# 保存拼接后的图片
result.save("result.jpg")
页: [1]
查看完整版本: python实现两张图片横向和纵向拼接