python 对图片进行简单的处理


Posted in Python onJune 23, 2021
目录
  • 安装Pillow包
  • 图片划线
  • 图片写字
  • 图片加图片水印
  • 图片模糊
  • 图片截取
  • 总结

 

安装Pillow包

pip install Pillow

 

图片划线

from PIL import Image, ImageDraw
im = Image.open("blur.jpg")
draw = ImageDraw.Draw(im)
draw.line((0, 0) + im.size, fill=128)
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw
# write to stdout
im.save("blur.jpg", "PNG")

 

图片写字

有的时候我们可能需要往图片上写一些文字,比如说水印什么的,只要选择好我们本地的字体文件,直接就可以在图片上写字了

from PIL import ImageFont, ImageDraw,Image, ImageDraw
image = Image.open("image.png").convert('RGBA')
txt=Image.new('RGBA', image.size, (0,0,0,0))
font=ImageFont.truetype("c:/Windows/fonts/Tahoma.ttf", 20)
draw=ImageDraw.Draw(txt)
draw.text((txt.size[0]-100, txt.size[1]-30), "linshiyingdi", font=font)
out=Image.alpha_composite(image, txt)
out.save("imageWithText.png", "png")
out.show()

 

图片加图片水印

文字水印有时候不好看,想改成图片水印,也是可以的

from PIL import ImageFont, ImageDraw, Image, ImageDraw

image = Image.open("image.png")
logo = Image.open("logo.png")
layer = Image.new('RGBA', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = Image.composite(layer, image, layer)
out.save("imageWithLogo.png", "png")
out.show()

如果水印图片过大时,可以直接缩小点,直接使用图片自带的thumbnail方法就行

from PIL import ImageFont, ImageDraw, Image, ImageDraw

image = Image.open("image.png")
logo = Image.open("logo.png")
logo.thumbnail((200, 100))
layer = Image.new('RGBA', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = Image.composite(layer, image, layer)
out.save("imageWithLogo.png", "png")
out.show()

如下图,我们的水印图片放到了左上角,大小也非常合适。

python 对图片进行简单的处理

 

图片模糊

from PIL import Image, ImageFilter
# 打开一个jpg图像文件,直接放到当前路径下方便点:
im = Image.open('2822.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')

 

图片截取

from PIL import Image
img = Image.open("image.png")
print(img.size)
cropped = img.crop((0, 0, 1303, 734))  # (left, upper, right, lower)
cropped.save("imageCropped.png")

可以看到的是如果这个图片的长度和宽度比1303和734小的时候会有透明的填充,感觉很难看,可以将对应的长度和宽度和这两个数字做个判断

from PIL import Image

img = Image.open("image.png")
print(img.size)
right = 1303
lower = 734
if img.size[0] < 1303:
    right = img.size[0]
if img.size[1] < 734:
    lower = img.size[1]
cropped = img.crop((0, 0, right, lower))  # (left, upper, right, lower)
cropped.save("imageCropped.png")

这样白边就被干掉了

 

总结

人生苦短,我用 Python,在强大的Pillow帮助下,我们只需几行代码就可以实现图片的各种处理。

以上就是python 对图片进行简单的处理的详细内容,更多关于python 图片处理的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现排序算法
Feb 14 Python
python调用新浪微博API项目实践
Jul 28 Python
Python验证码识别处理实例
Dec 28 Python
python+django快速实现文件上传
Oct 24 Python
python 读取文件并把矩阵转成numpy的两种方法
Feb 12 Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 Python
pygame实现打字游戏
Feb 19 Python
Django分组聚合查询实例分享
Apr 29 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
May 27 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
pandas将list数据拆分成行或列的实现
Dec 13 Python
Python一行代码实现自动发邮件功能
May 30 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
浅析Python中的套接字编程
Python中使用ipython的详细教程
详解Python类和对象内容
python析构函数用法及注意事项
Jun 22 #Python
Python自动化测试PO模型封装过程详解
python中的class_static的@classmethod的巧妙用法
Jun 22 #Python
You might like
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
Prototype Array对象 学习
2009/07/19 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
javascript常用函数(2)
2015/11/05 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
微信上传视频文件提示(推荐)
2018/11/22 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
财务部岗位职责
2013/11/19 职场文书
服装机修工岗位职责
2013/12/26 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
党员民主评议个人总结
2014/10/20 职场文书
2014年手术室工作总结
2014/11/26 职场文书
任命书标准格式
2015/03/02 职场文书
放假通知范文
2015/04/14 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
企业法人任命书
2015/09/21 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python