简介:PIL库中Image库封装了很多对图片处理的函数,支持对图片进行合成等操作。
相关攻略:
python: ocr简单示例 - 识别验证码
python:彩色照转黑白照
python:个性签名
Python:利用cv2模块对图片进行灰度转换
Python:实现朋友圈照片九宫格
安装:
pip install Pillow
a1.png
a2.png
合成效果:output.png
案例源码:
# -*- coding: utf-8 -*-
# time: 2022/06/01 15:50
# file: pic.py
# author: tom
# 公众号: 玩转测试开发
from PIL import Imagedef composite_picture(base_pic, fill_pic):# 加载底图base_img = Image.open(base_pic)box = (100, 100, 200, 200) # 底图上需要P掉的区域 长,高,长,高# 加载需要P上去的图片tmp_img = Image.open(fill_pic)region = tmp_img # 或者使用整张图片 # region = tmp_img.crop((0,0,100,100)) # 选择一块区域# 使用 paste(region, box) 方法将图片粘贴到另一种图片上去.# 注意,region的大小必须和box的大小完全匹配。但是两张图片的mode可以不同,合并的时候回自动转化。# 如果需要保留透明度,则使用RGMA mode# 提前将图片进行缩放,以适应box区域大小# region = region.rotate(180) # 对图片进行旋转region = region.resize((box[2] - box[0], box[3] - box[1]))base_img.paste(region, box)# base_img.show() # 查看合成的图片new_pic = 'output.png'base_img.save(new_pic) # 保存图片print(f"合成图片成功,新图片:{new_pic}")if __name__ == '__main__':composite_picture("a1.png", "a2.png")
微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!