PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了简介简介,PIL功能非常强大,但API却非常简单易用。
pillow 库包含基本的图像处理功能,包括点操作,使用一组内置卷积内核进行过滤以及颜色空间转换。
pillow 库还支持图像大小调整,旋转和任意仿射变换等。
$ pip install pillow
最常见的图像缩放操作,只需三四行代码:
from PIL import Image
# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 获得图像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 缩放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('test.jpg', 'jpeg')
其他功能如切片、旋转、滤镜、输出文字、调色板等都可以支持。
from PIL import Image, ImageFilter
# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('src.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('dst.jpg', 'jpeg')
#!/usr/bin/env python2.7
# coding=utf-8
from PIL import Image,ImageDraw,ImageFont
# 添加本地字体路径或者系统字体的路径
font = ImageFont.truetype('test.ttf',24)
img = Image.new('RGBA',(300,200),(255,0,0,128))
draw = ImageDraw.Draw(img)
draw.text((0,50),'test',(0,0,0),font=font)
img.save('test.png')
# -*- coding: utf-8 -*-
from PIL import Image
fp = open("test.raw", "r")
fp.seek(0, 2)
size = fp.tell()
fp.seek(0, 0)
buf = fp.read(size)
fp.close()
image = Image.frombytes("RGBA",(1000,1000),buf)
image.save("testyy.png","png")
要详细了解PIL的强大功能,请请参考Pillow官方文档:
https://pillow.readthedocs.org/
相关函数参考:
https://pillow.readthedocs.io/en/latest/reference/index.html