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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
python实现在sqlite动态创建表的方法
May 08 Python
python获取元素在数组中索引号的方法
Jul 15 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
Python代码实现KNN算法
Dec 20 Python
Python实现的简单计算器功能详解
Aug 25 Python
python 3.6.2 安装配置方法图文教程
Sep 18 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
Django自关联实现多级联动查询实例
May 19 Python
Python数据分析之pandas函数详解
Apr 21 Python
Python数据分析入门之数据读取与存储
May 13 Python
Python答题卡识别并给出分数的实现代码
Jun 22 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中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
解析strtr函数的效率问题
2013/06/26 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
图解js图片轮播效果
2015/12/20 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python发送email的3种方法
2015/04/28 Python
Python自动登录126邮箱的方法
2015/07/10 Python
Python 功能和特点(新手必学)
2015/12/30 Python
使用python爬取B站千万级数据
2018/06/08 Python
python实现彩票系统
2020/06/28 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Python解析json代码实例解析
2019/11/25 Python
python实现实时视频流播放代码实例
2020/01/11 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
交通事故赔偿起诉书
2015/05/20 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis