python图片拼接
Johnny An 人气:0前言
故事要从上面这张表情包开始讲起,看到这张表情包之后,我突发奇想,觉得可以将室友上班摸鱼的照片拼接起来,做成表情包叫他起床 激励他学习!!!于是我马上行动起来,用 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
总结
加载全部内容