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 网页解析HTMLParse的实例详解
Aug 10 Python
Django的分页器实例(paginator)
Dec 01 Python
详解Python使用tensorflow入门指南
Feb 09 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 Python
python实现智能语音天气预报
Dec 02 Python
pandas中read_csv的缺失值处理方式
Dec 19 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
Python和Bash结合在一起的方法
Nov 13 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
CodeIgniter基本配置详细介绍
2013/11/12 PHP
php中的ini配置原理详解
2014/10/14 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
php实现微信支付之退款功能
2018/05/30 PHP
文本加密解密
2006/06/23 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
js 操作css实现代码
2009/06/11 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
vue之延时刷新实例
2019/11/14 Javascript
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
如何利用cmp命令比较文件
2013/09/23 面试题
装修五一活动策划案
2014/01/23 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
2016年春节慰问信息
2015/03/25 职场文书
升学宴来宾致辞
2015/07/27 职场文书
医学会议开幕词
2016/03/03 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
z-index不起作用
2021/03/31 HTML / CSS
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
Python爬虫基础初探selenium
2021/05/31 Python