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 相关文章推荐
Python2.x版本中cmp()方法的使用教程
May 14 Python
Python中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
使用numba对Python运算加速的方法
Oct 15 Python
python对矩阵进行转置的2种处理方法
Jul 17 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
python装饰器使用实例详解
Dec 14 Python
python2和python3哪个使用率高
Jun 23 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
Python eval函数介绍及用法
Nov 09 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
python的setattr函数实例用法
Dec 16 Python
python palywright库基本使用
Jan 21 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
浅析Python中的套接字编程
Python中使用ipython的详细教程
详解Python类和对象内容
python析构函数用法及注意事项
Jun 22 #Python
Python自动化测试PO模型封装过程详解
python中的class_static的@classmethod的巧妙用法
Jun 22 #Python
You might like
PHP中,文件上传
2006/12/06 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
php实现的农历算法实例
2015/08/11 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
Python itertools模块详解
2015/05/09 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
测绘工程个人的自我评价
2013/11/10 职场文书
营销总经理岗位职责
2014/02/02 职场文书
《母鸡》教学反思
2014/02/25 职场文书
应届生面试求职信
2014/07/02 职场文书
追悼会悼词大全
2015/06/23 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python