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字典操作简明总结
Apr 13 Python
Python base64编码解码实例
Jun 21 Python
深入浅析Python中的yield关键字
Jan 24 Python
python如何统计序列中元素
Jul 31 Python
Python实现的文本对比报告生成工具示例
May 22 Python
python爬虫超时的处理的实例
Dec 19 Python
Django的models模型的具体使用
Jul 15 Python
Python秒算24点实现及原理详解
Jul 29 Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 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
PHP数组实例总结与说明
2011/08/23 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
2017/06/11 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Python Trie树实现字典排序
2014/03/28 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
学校节能减排倡议书
2014/05/16 职场文书
中标通知书格式
2015/04/17 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
Python 可迭代对象 iterable的具体使用
2021/08/07 Python