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°