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读取json文件并将数据插入到mongodb的方法
Mar 23 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 Python
python 执行终端/控制台命令的例子
Jul 12 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 Python
Python页面加载的等待方式总结
Feb 28 Python
pandas中DataFrame检测重复值的实现
May 26 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运行环境教程
2015/02/12 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
学习Node.js模块机制
2016/10/17 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python求绝对值的三种方法小结
2019/12/04 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Python colormap库的安装和使用详情
2020/10/06 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
旅游管理专业学生求职信
2013/09/28 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python