python 处理图片

1. 图片上添加文字

1.1 代码部分

代码原理: 创建与原图同等大小的一张图片, 设置透明度为 0, 将两张同大小的图片重叠

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 = "xxx"

date_today = "2020-04-28"

a = """

亲爱的{0}:

叮。

确认收货:专属生日祝福!

快乐属于您,幸福属于您!

温馨属于您,好运属于您!

工作在忙碌,本能照顾您!

\r\r\r\r分行工会

\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")

1.2 效果展示

1.2.1 原图展示

1.2.2 处理之后图片展示

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

2.1 代码部分

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("图片保存完成")

2.2 效果展示

2.2.1 原图展示

2.2.2 处理之后图片展示

3. 图片数据保存的方式

3.1 matplotlib模块

该模块是 pandas 安装包下的模块, 在RPA设计器中可能会因为设计器的 python 包下不存在该模块包产生错误, 慎用!!!

import cv2

import matplotlib.pyplot as plt

ret = cv2.cvtColor(add_img,cv2.COLOR_BGR2RGB)

plt.imsave("./完整图.png",ret)

3.2 PIL

from PIL import Image

# ret 参数为读取到的图片数据,数据类型为dateframe

im = Image.fromarray(ret)

# path 参数为图片保存的路径

im.save(path)

3.3 cv2

import cv2

import numpy as np

cv2.imwrite("filename.png", np.zeros((10,10)))

3.4 scipy.misc

import scipy.misc

misc.imsave('out.jpg', image_array)

上面的 scipy 版本会标准化所有图像,以便 min(数据) 变成黑色,max(数据) 变成白色。如果数据应该是精确的灰度级或准确的 RGB 通道,则解决方案为:

import scipy.misc

misc.toimage(image_array, cmin=0.0, cmax=...).save('outfile.jpg')

python制作生日祝福_【中信项目案例分享】python 实现自动生成个性化生日贺卡...相关推荐

  1. python RTL自动生成_「中信RPA项目案例分享」python 实现自动生成个性化生日贺卡

    python 处理图片 1. 图片上添加文字 1.1 代码部分 代码原理: 创建与原图同等大小的一张图片, 设置透明度为 0, 将两张同大小的图片重叠 from PIL import Image,Im ...

  2. python半圆代码_趣味项目:用Python代码做个月饼送给你!

    所用工具 1.Python中的turtle包 2.对Python似火的热情 先来介绍一番 Turtle作图又叫海龟作图,是Python中比较有趣的一个模块,功能强大,使用方便.简单来说,比如有一块空地 ...

  3. python制作统计图_刻意练习11:Python描述统计、简单统计图形

    学习计划 MyPlan11 主题:Python描述统计.简单统计图形 时间:8.5-8.11周内完成 参考资料:新书<谁说菜鸟不会数据分析python篇> 各位星友们,在这个星球里每个人都 ...

  4. python制作鬼畜_视频剪辑什么鬼?Python 带你高效创作短视频

    近两年,抖音.快手将短视频推到风口浪尖上,要生产出高质量的视频,离不开视频剪辑这一环节;在全民剪片浪潮中,大众使用最多的剪辑软件如:Pr.FCPX.剪印.Vue 等. 之前有两篇文章分别是实现了制作卡 ...

  5. python制作恶搞_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    为提高大家对"Python"编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代码,感兴趣的小伙伴可以跟着学习借鉴哦!进群:839383 765可以获取Python学习资 ...

  6. 程序员简历项目经历怎么写 ?三条原则不可忽视 【项目案例分享】

    程序员简历项目经历怎么写 ?三条原则不可忽视 [项目案例分享] 作为一个程序员,想必大家曾经都做过一些项目,可能现在手头上也还有一些项目. 不过还是有很多学生朋友来问我"没有项目怎么办&qu ...

  7. Python制作七夕表白实例项目-让你的情人心动起来

    文章目录 Python制作七夕表白实例项目-让你的情人心动起来 前言 一.记录一起走过的那些日子 二.创意代码表白 2.1.效果演示 2.2.制作步过程 2.2.1.清屏函数 2.2.2.重定位海龟的 ...

  8. 【原创】2009年8月18日老谷项目管理MSN群专题—项目案例分享文字实录

    2009年8月18日老谷"项目管理MSN群"专题-项目案例分享文字实录 不胜人生一场醉(亲亲我的宝贝!) 说: 先说下项目背景 项目背景 某公司为了解决各部门信息孤岛效应,为了向客 ...

  9. ctypes安装_用python amp; bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本

    2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...

最新文章

  1. ORB特征提取算法分析与实现,算法分解
  2. camera摄像原理之三:色温和自动白平衡【转】
  3. 单片机中的ROM,RAM和FLASH的作用
  4. html三个div相同高度,如何使用jquery保持多个div的高度相同?
  5. psfaddtable - 添加一个Unicode字符表到控制台字体中
  6. 计划学习研究模板引擎。学习stringtemplate先
  7. Python中文处理(转)
  8. Qt学习笔记之国际化
  9. HDU 1728 逃离迷宫【BFS】
  10. java jvm对象_Java对象在JVM中长啥样
  11. java吃货联盟app讲解_吃货联盟订餐系统——JAVA实现
  12. 老机型能更新鸿蒙,华为和荣耀老机型用户有福:确定能批量升级到鸿蒙系统!...
  13. MySQL 主从复制 复制过滤
  14. ios sandbox
  15. 通过Telnet查询注册服务
  16. mysql 保存富文本的类型_富文本编辑器内容在mysql数据库以什么类型保..._网络编辑_帮考网...
  17. BREDR之inquiry及page
  18. H3C 路由器设置基本配置
  19. 台式计算机怎么加一个硬盘,台式电脑增加硬盘_台式电脑增加硬盘图解
  20. 性能测试ftp服务器,linux测试ftp服务器

热门文章

  1. 中国最大AI预训练模型发布:113亿参数!北京智源研究院、阿里、清华等联手打造...
  2. 这本1900页的机器学习数学全书火了!完整版开放下载
  3. 5G到底有多块?刚刚5G商用牌照正式发布,一共 4 张!
  4. 【每日一算法】1比特与2比特字符
  5. celery的使用(最新详细解析)
  6. Linux下对MySQL数据库的常见操作【创建】【删除】【导入数据库】
  7. 复习计算机网络基础 day5--物理层
  8. ACMNO.44 C语言-平均分 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
  9. 无人驾驶 | 为什么双目自动驾驶系统难以普及?
  10. 收藏 | 各种 Optimizer 梯度下降优化算法回顾和总结