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写入CSV文件的方法
Jul 08 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
python如何查看微信消息撤回
Nov 27 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
Python安装selenium包详细过程
Jul 23 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
浅析Python中的套接字编程
Python中使用ipython的详细教程
详解Python类和对象内容
python析构函数用法及注意事项
Jun 22 #Python
Python自动化测试PO模型封装过程详解
python中的class_static的@classmethod的巧妙用法
Jun 22 #Python
You might like
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
PHP如何读取由JavaScript设置的Cookie
2017/03/22 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
python解释器spython使用及原理解析
2019/08/24 Python
python实现名片管理器的示例代码
2019/12/17 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
python如何将图片转换素描画
2020/09/08 Python
Python 操作 MySQL数据库
2020/09/18 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
业务经理岗位职责
2013/11/11 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
朋友离别感言
2015/08/04 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
Mysql案例刨析事务隔离级别
2021/09/25 MySQL