安装Pillow
pip install pillow
构建图像
- Image.open(fp, mode =’r’ ):打开图片文件,返回一个
Image
对象
- fp:图片路径
- mode:模式。如果给出,必须是
r
from PIL import Image
im = Image.open(path)
- Image.alpha_composite(im1, im2):在im1对象上的透明层复合im2,返回一个
Image
对象
- im1:
Image
对象1 - im2:
Image
对象2
- im1:
from PIL import Image
im1 = Image.open(path1)
im2 = Image.open(path2)
im3 = Image.alpha_composite(im1,im2)
- Image.blend(im1, im2, alpha):在两个图片对象之间进行插值,返回一个
Image
对象
- im1:
Image
对象1 - im2:
Image
对象2 - alpha:透明图
- im1:
如果alpha为0.0,则返回第一个图像的副本。如果alpha为1.0,则返回第二个图像的副本,基本的算法如下:
out = image1 * (1.0 - alpha ) + image2 * alpha
- Image.eval(image, *args):将函数应用于给定图像的中每一个像素。请注意,该函数对每个可能的像素值都进行一次评估,因此您不能使用随机组件或其他生成器。返回一个
Image
对象
- image:
Image
对象 - args:一个函数对象和该函数的一个取整参数
- image:
from PIL import Image
def func(a):
return a
im1 = Image.open(path1)
img = Image.eval(img1,func,1)
- Image.merge(mode, bands):将一组单波段图像合并成为一个多波段图像。返回一个
Image
对象
- mode:用于输出图像的模式。支持的模式请看下方
Pillow支持的模式表
- bands:输出图像中每个波段包含一个单波段图像的序列
- mode:用于输出图像的模式。支持的模式请看下方
- Image.new(mode, size, color=0):根据模式、大小和颜色创建一个新的
Image
对象。烦会一个Image
对象
- mode:用于新图像的模式。支持的模式请看下方
Pillow支持的模式表
- size: 大小,元组类型,包含宽度与高度
- color:用于新图像的颜色。传入一个整数的单波段模式,或传入一个元组的多波段模式,或者传入一个
ImageColor
对象
- mode:用于新图像的模式。支持的模式请看下方
from PIL import Image
# 单个整数值
img = Image.new("RGBA",(1024,768),215)
# 元组
img = Image.new("RGBA",(1024,768),(215,0,0)
# ImageColor
from PIL import ImageColor
color = ImageColor.getrgb("#FF0000")
img = Image.new("RGBA",(1024,768),color)
img.show()
从上面代码运行结果显示是一个红色,1024*768的图像
图像对象
alpha_composite(im, dest=(0,0), source=(0,0)):在
Image
对象中符合im
,效果与类方法alpha_composite
相似。无返回值- im:
Image
对象 - dest:指定此(目标)图像左上角的可选的长度为2的元组(左,上)
- source:盖源图像中左上角的长度为2的元组(左,上)或源矩形边界的长度为4的元组(左,上,右,下)
- im:
copy():复制此图片
from PIL import Image
img = Image.new("RGBA",(1024,768),215)
img_copy = img.copy()
- crop(box=None):返回此图像的一个矩形区域,为一个
Image
对象
- box:裁剪矩形,为一个长度为4的元组(左,上,右,下)
from PIL import Image
img = Image.new("RGBA",(1024,768),215)
img_copy = img.crop(box=(0,0,500,500))
draft(mode, size):配置图像文件加载器,以便返回尽可能接近给定模式和大小的图像版本,无返回值
- mode:模式
- size:大小
filter(filter):使用给定的过滤器过滤此图像,返回一个
Image
对象- filter:过滤器
getbands():获取此图像中每个波段名称的元组。返回一个
tuple
from PIL import Image
img = Image.new("RGBA",(1024,768)