使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)


Posted in Python onApril 30, 2020

1.业务需求背景

业务提供一张底层图片1以及需要在底层图片上添加的图片2,两张图片大小不一致,将小图2添加到底图1中,并在其他的空白部分添加个性化的文本信息

2.图片处理逻辑

在底层图片上添加文本信息,图片另存到一个新的路径,命名为图3
将图3和图2合并,处理位置信息,透明率等,将处理完成之后的图片另存到新的路径,命名为图4

3.代码处理部分

3.1 图片上添加文本信息

from PIL import Image,ImageDraw,ImageFont
# 底图添加字体文本

im = Image.open("./底图.png").convert('RGBA')

# 查看原图的大小
print(im.mode,im.size) 
# 生成与原图大小完全一致的新图片,设定为完全透明
txt=Image.new('RGBA', im.size, (0,0,0,0)) 
# 设置字体,字号
fnt=ImageFont.truetype(r"C:\Windows\Fonts\STXINWEI.TTF", 50)
d=ImageDraw.Draw(txt)
# 拼接需要在图片上填写的文本
name = "李敏"
date_today = "2020-04-28"
a = """
  亲爱的{0}:
      叮。
      确认收货:专属生日祝福!
      快乐属于您,幸福属于您!
      温馨属于您,好运属于您!
      工作在忙碌,本能照顾您!
                
                \r\r\r\rXX部门
                \r\r\r\r{1}          
""".format(name,date_today)
# 设置字体信息所在的位置,写入的信息,颜色
d.text((txt.size[0]-950,txt.size[1]-1300),a,font=fnt,fill=(28,28,28,255))
# 保存新的图片
out=Image.alpha_composite(im,txt)
out.save(r"NEW-1.png")

3.2 两张大小不一致的图片重叠

import cv2
import numpy as np
import matplotlib.pyplot as plt
import os
from PIL import Image,ImageDraw,ImageFont
# 读取两张图片信息
os.chdir('E:\RPA\生日贺卡')
bear = cv2.imread('./baiyang+gou.png')
sky = cv2.imread('./NEW-1.png')
"""
bear 小图
sky  大图
"""
# 根据小图像的大小,在大图像上创建感兴趣区域roi(放置位置任意取)
rows, cols = bear.shape[:2] #获取bear的高度、宽度
roi = sky[0:rows, 0:cols]

dst = cv2.addWeighted(bear,1,roi,0,0) #图像融合,设置透明度,大小等
add_img = sky.copy() #对原图像进行拷贝
add_img[800:rows+800, 75:cols+75] = dst # 将融合后的区域放进原图,可通过改数值修改位置
# 读取融合之后的图片数据(数据类型为dateframe对象)
ret = cv2.cvtColor(add_img,cv2.COLOR_BGR2RGB)

im = Image.fromarray(ret)
im.save("./完整图.png")
print("图片保存完成")

到此这篇关于使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)的文章就介绍到这了,更多相关Python合成图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
python2.7实现FTP文件下载功能
Apr 15 Python
多个应用共存的Django配置方法
May 30 Python
python计算日期之间的放假日期
Jun 05 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
Django中信号signals的简单使用方法
Jul 04 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
python绘制雪景图
Dec 16 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
Python实现密钥密码(加解密)实例详解
Apr 26 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 Python
python爬取某网站原图作为壁纸
Jun 02 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 #Python
Pytorch高阶OP操作where,gather原理
Apr 30 #Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 #Python
Python闭包与装饰器原理及实例解析
Apr 30 #Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 #Python
Pycharm连接远程服务器过程图解
Apr 30 #Python
python3发送request请求及查看返回结果实例
Apr 30 #Python
You might like
PHP中文汉字验证码
2007/04/08 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
php生成excel文件的简单方法
2014/02/08 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
python制作最美应用的爬虫
2015/10/28 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
美国内衣品牌:Leonisa
2016/08/14 全球购物
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
校企合作协议书
2014/04/16 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
维稳工作承诺书
2015/01/20 职场文书
司机个人年终总结
2015/03/03 职场文书
2016特色励志班级口号
2015/12/24 职场文书