python Pillow图像处理方法汇总


Posted in Python onOctober 16, 2019

这篇文章主要介绍了python Pillow图像处理方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Pillow中文文档:https://pillow-cn.readthedocs.io/zh_CN/latest/handbook/tutorial.html

安装:pip install pillow

操作图像:

#!/usr/bin/env python3
# _*_ coding utf-8 _*_

__author__ = 'nxz'

from PIL import Image, ImageFilter
from time import sleep

# 打开一个jpg图像文件
im = Image.open('test.jpg')
w, h = im.size #
print('图片的宽:%s,和高:%s' % (w, h))

# 图片缩放
im.thumbnail((w // 2, h // 2))
w, h = im.size
print(w, h)

# 缩放之后的图片重新保存
im.save('thumbnail.jpg', 'jpeg')

# 其他功能:切片、旋转、滤镜、输出文字、调色板

# 模糊效果
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg','jpeg')

截屏:

from PIL import ImageGrab
from time import sleep

m = int(input("请输入想截屏多少次:"))
n = 1
while n <= m:
  sleep(0.02)
  im = ImageGrab.grab()
  local = (r'%s.jpg' % (n))
  im.save(local, 'jpeg')
  n = n + 1

转换文件到JPEG:

'''
将指定路径下的图片后缀改为 “.jpg” 格式
'''

from PIL import Image
import os, sys

for infile in sys.argv[1:]:
  f, e = os.path.splitext(infile)
  outfile = f + '.jpg'
  if infile != outfile:
    try:
      Image.open(infile).save(outfile)
    except Exception as exc:
      print(exc)

GIF动图:

"""
GIf动图
"""

from PIL import Image

im = Image.open('test.jpg')
images = []
images.append(Image.open('blur.png'))
images.append(Image.open('test.jpg'))
im.save('gif.gif', save_all=True, append_image=images, loop=1, duration=1, comment=b'aaaabbb')

几何变换:

#简单的集合变换
out = im.resize((128, 128))

#旋转图像
out = im.transpose(Image.FLIP_LEFT_RIGHT) #翻转
out = im.transpose(Image.FLIP_TOP_BOTTOM)
out = im.transpose(Image.ROTATE_90)
out = im.transpose(Image.ROTATE_180) #旋转180°
out = im.transpose(Image.ROTATE_270) #旋转270°

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的并发编程实例
Jul 07 Python
python中执行shell命令的几个方法小结
Sep 18 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
python3.7 sys模块的具体使用
Jul 22 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
Python concurrent.futures模块使用实例
Dec 24 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
python使用自定义钉钉机器人的示例代码
Jun 24 Python
浅析Python的命名空间与作用域
Nov 25 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 #Python
500行代码使用python写个微信小游戏飞机大战游戏
Oct 16 #Python
python提取xml里面的链接源码详解
Oct 15 #Python
python yield关键词案例测试
Oct 15 #Python
python 发送json数据操作实例分析
Oct 15 #Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 #Python
PYTHON绘制雷达图代码实例
Oct 15 #Python
You might like
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
Python 多进程原理及实现
2020/12/21 Python
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
向领导表决心的话
2014/03/11 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
小学大队长竞选稿
2015/11/20 职场文书
趣味运动会口号
2015/12/24 职场文书
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript