吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1285|回复: 6
收起左侧

[学习记录] python实现两张图片横向和纵向拼接

[复制链接]
zhzhx 发表于 2022-12-29 14:04
本文实例为大家分享了python实现图片横向和纵向拼接的具体代码,

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

一、代码:

[Python] 纯文本查看 复制代码
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[0] + size2[0], size1[1]))
        loc1, loc2 = (0, 0), (size1[0], 0)
        joint.paste(img1, loc1)
        joint.paste(img2, loc2)
        joint.save('horizontal.png')
    elif flag == 'vertical':
        joint = Image.new('RGB', (size1[0], size1[1] + size2[1]))
        loc1, loc2 = (0, 0), (0, size1[1])
        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')


免费评分

参与人数 2热心值 +2 收起 理由
zhaoqingdz + 1 谢谢@Thanks!
14foto + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
[Python] 纯文本查看 复制代码
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")
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表