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 28 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
python多线程并发实例及其优化
Jun 27 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
Python函数基本使用原理详解
Mar 19 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
python 多线程共享全局变量的优劣
Sep 24 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 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
3种平台下安装php4经验点滴
2006/10/09 PHP
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
SVG实现时钟效果
2018/07/17 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python continue继续循环用法总结
2018/06/10 Python
django 外键model的互相读取方法
2018/12/15 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
python map比for循环快在哪
2020/09/21 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
在什么时候需要使用"常引用"
2015/12/31 面试题
社区八一活动方案
2014/02/03 职场文书
教师个人剖析材料
2014/02/05 职场文书
文明村镇申报材料
2014/05/06 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
公司聚餐通知
2015/04/22 职场文书
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python