python Pillow图像处理方法汇总

yipeiwu_com6年前Python基础

这篇文章主要介绍了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 PyQt4实现QQ抽屉效果

Python PyQt4实现QQ抽屉效果

本文实例为大家分享了Python PyQt4实现QQ抽屉效果展示的具体代码,供大家参考,具体内容如下 先看截图效果: 主要是使用了QT的QTabWidget、QToolBox多页窗口部...

python中的yield使用方法

今天在看其他同事的代码时,发现一个没使用过的python关键字 :yield       先问了一下同事,听他说了几句,有个模糊的印象,...

python通过cookie模拟已登录状态的初步研究

python通过cookie模拟已登录状态的初步研究

对于那些需要在登录环境下进行的爬虫操作,模拟登陆或伪装已登录状态是一个刚需。 分析了网上关于模拟登录的例子,很多都基于用户名/密码发起一个post请求,遇到有图片验证码的,比较理想的方法...

用openCV和Python 实现图片对比,并标识出不同点的方式

用openCV和Python 实现图片对比,并标识出不同点的方式

最近项目中需要实现两组图片对比,并能将两者的区别标识出来。 在网上搜索一大堆找到一篇大神的文章,最终实现该功能,在这里记录下: 想要实现此demo,首先我们得确保电脑上已安装 openC...

Python3 无重复字符的最长子串的实现

Python3 无重复字符的最长子串的实现

题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例: 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”...