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 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
python三元运算符实现方法
Dec 17 Python
在python的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
Django app配置多个数据库代码实例
Dec 17 Python
python实现指定ip端口扫描方式
Dec 17 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
python 正则表达式参数替换实例详解
Jan 17 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 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入门源程序
2006/10/09 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
python元组操作实例解析
2014/09/23 Python
python实现的希尔排序算法实例
2015/07/01 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
详解python中docx库的安装过程
2019/11/08 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
校园环保标语
2014/06/13 职场文书
收银员岗位职责
2015/02/03 职场文书
秋菊打官司观后感
2015/06/03 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
小学大队委竞选口号
2015/12/25 职场文书
小学四年级作文之写景
2019/08/23 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
python垃圾回收机制原理分析
2022/04/13 Python