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

 更新时间:2022年01月24日 11:40:09   作者:Johnny An  
大家好,本篇文章主要讲的是用python编写一个图片拼接工具,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

前言

在这里插入图片描述

故事要从上面这张表情包开始讲起,看到这张表情包之后,我突发奇想,觉得可以将室友上班摸鱼的照片拼接起来,做成表情包叫他起床 激励他学习!!!于是我马上行动起来,用 pillow库随便写写仅供娱乐!大佬勿喷!

为了保护室友隐私,将照片用小蓝代替!

在这里插入图片描述

代码展示

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

又是不务正业的一天。。。

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, h1 = img1.size
    w2, h2 = img2.size
    print("原始图片1大小:{} x {}" .format(w1,h1))
    print("原始图片2大小:{} x {}" .format(w2,h2))
    
    # -----resize image with high-quality----- #
    if mode == 'mean':
        width = int((w1 + w2) / 2)
        height = int((h1 + h2) / 2)
        w1 = int(width/2)
        w2 = int(width/2)
    else:
        width = w1 + w2
        height = max(h1,h2)
        
    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)

效果展示

针不戳!希望可以激励室友努力学习,不再偷懒!hhhhhh

在这里插入图片描述

总结

到此这篇关于用python编写一个图片拼接工具的文章就介绍到这了,更多相关python图片拼接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中shutil模块的常用文件操作函数用法示例

    Python中shutil模块的常用文件操作函数用法示例

    shutil模块提供比OS模块更强大的本地文件操作功能,包括文件的压缩和解压缩等,下面我们就来列举Python中shutil模块的常用文件操作函数用法示例:
    2016-07-07
  • python语法 range() 序列类型range

    python语法 range() 序列类型range

    这篇文章主要介绍了python语法 range() 序列类型range,range是一种序列类型,range类型用于表示不可变的整数序列,下面小编整理了简单内容,需要的小伙伴可以参考一下
    2022-01-01
  • python库TextDistance量化文本之间的相似度算法探究

    python库TextDistance量化文本之间的相似度算法探究

    这篇文章主要为大家介绍了python库TextDistance量化文本之间的相似度算法探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python实现线性搜索算法的示例代码

    Python实现线性搜索算法的示例代码

    线性搜索算法,也称为顺序搜索算法,是一种简单但常用的搜索技术,在本文中,将深入研究线性搜索算法,并演示如何在 Python 中实现它,需要的可以参考下
    2024-02-02
  • Django2.1.3 中间件使用详解

    Django2.1.3 中间件使用详解

    这篇文章主要介绍了Django2.1.3 中间件使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • python利用urllib实现爬取京东网站商品图片的爬虫实例

    python利用urllib实现爬取京东网站商品图片的爬虫实例

    下面小编就为大家带来一篇python利用urllib实现爬取京东网站商品图片的爬虫实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • python中取绝对值简单方法总结

    python中取绝对值简单方法总结

    在本篇内容里小编给大家整理的是关于python中取绝对值简单方法,需要的朋友们可以学习下。
    2020-07-07
  • odoo字段访问控制的操作方法

    odoo字段访问控制的操作方法

    在 Odoo 中,可以通过几种方式实现字段的访问控制ÿ0c;包括通过模型安全规则、记录规则和字段属性来限制字段的访问,这篇文章主要介绍了odoo字段访问控制的相关操作,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Python实现批量修改指定目录下图片的大小

    Python实现批量修改指定目录下图片的大小

    批量修改指定目录下图片大小通常是在需要对大量图片进行统一处理的情况下使用的,本文主要为大家详细介绍了如何利用Python实现批量修改图片大小,需要的可以参考下
    2023-10-10
  • Python中extend和append的区别讲解

    Python中extend和append的区别讲解

    今天小编就为大家分享一篇关于Python中extend和append的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论