网络编程
位置:首页>> 网络编程>> Python编程>> 用python编写一个图片拼接工具

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

作者:Johnny  发布时间:2023-09-01 18:31:52 

标签:python,图片,拼接

前言

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

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

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

用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, 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编写一个图片拼接工具

来源:https://blog.csdn.net/qq_41866202/article/details/122645045

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com