怎么用python编写一个图片拼接工具

发布时间:2022-01-24 15:34:39 作者:zzz
来源:亿速云 阅读:125

本文小编为大家详细介绍“怎么用python编写一个图片拼接工具”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用python编写一个图片拼接工具”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

代码展示

这里写了两种拼接方式,可以根据图像比例自行调整。

又是不务正业的一天。

from PIL import Image
import matplotlib.pyplot as plt

def SpliceImage(img_1, img_2, save_img, mode=None):
    '''
    把两张图片左右拼接
    
    img_1   : 输入图片1(左)的路径
    img_2   : 输入图片2(右)的路径
    save_img: 保存图片的路径
    mode    : 默认为 None ,宽度保持不变,高度取最大值
              可设为'mean',宽度与高度均取两张图片的平均值
    '''
    # -----get width and height of the Images----- #
    img1 = Image.open(img_1)
    img2 = Image.open(img_2)
    w1, h2 = img1.size
    w2, h3 = img2.size
    print("原始图片1大小:{} x {}" .format(w1,h2))
    print("原始图片2大小:{} x {}" .format(w2,h3))
    
    # -----resize image with high-quality----- #
    if mode == 'mean':
        width = int((w1 + w2) / 2)
        height = int((h2 + h3) / 2)
        w1 = int(width/2)
        w2 = int(width/2)
    else:
        width = w1 + w2
        height = max(h2,h3)
        
    img1 = img1.resize((w1, height), Image.ANTIALIAS) 
    img2 = img2.resize((w2, height), Image.ANTIALIAS) 
    
    # -----create a new image-----#
    img = Image.new("RGB", (width, height), (0,0,0))
    img.paste(img1, (0,0))
    img.paste(img2, (w1,0))
    img.save(save_img)
    print("输出图片大小:{} x {}" .format(width,height))
    
    return img

if __name__ == '__main__':
    img_1 = r'.\img\sleeper.PNG'
    img_2 = r'.\img\dog.PNG'
    save_img = r'.\img\getup.jpg'
    try:
        img = SpliceImage(img_1, img_2, save_img, mode='mean')
    except:
        print('Image file error!')
    plt.imshow(img)

读到这里,这篇“怎么用python编写一个图片拼接工具”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 用python编写一个高效搜索代码工具
  2. python实现横向拼接图片

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:vi package manager有什么功能

下一篇:Linux系统中怎么安装SQL server

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》