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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
python简单实现操作Mysql数据库
Jan 29 Python
python中的闭包函数
Feb 09 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
详解Python的三种拷贝方式
Feb 11 Python
pycharm 复制代码出现空格的解决方式
Jan 15 Python
用Python爬取某乎手机APP数据
Jun 15 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 默默经典版本
2009/08/04 PHP
php zip文件解压类代码
2009/12/02 PHP
php 文件上传实例代码
2012/04/19 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
功能强大的php分页函数
2016/07/20 PHP
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
python实现redis三种cas事务操作
2017/12/19 Python
python逆向入门教程
2018/01/15 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
Python多线程的退出控制实现
2020/08/10 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
什么是接口(Interface)?
2013/02/01 面试题
在C#中如何实现多态
2014/07/02 面试题
校长创先争优承诺书
2014/08/30 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS