当前位置:   article > 正文

Pillow的使用-Image篇_pillow image

pillow image

安装Pillow

pip install pillow
  • 1

构建图像

  • Image.open(fp, mode =’r’ ):打开图片文件,返回一个Image对象
    • fp:图片路径
    • mode:模式。如果给出,必须是r
from PIL import Image
im = Image.open(path)
  • 1
  • 2
  • Image.alpha_composite(im1, im2):在im1对象上的透明层复合im2,返回一个Image对象
    • im1:Image对象1
    • im2:Image对象2
from PIL import Image
im1 = Image.open(path1)
im2 = Image.open(path2)
im3 = Image.alpha_composite(im1,im2)
  • 1
  • 2
  • 3
  • 4
  • Image.blend(im1, im2, alpha):在两个图片对象之间进行插值,返回一个Image对象
    • im1:Image对象1
    • im2:Image对象2
    • alpha:透明图

如果alpha为0.0,则返回第一个图像的副本。如果alpha为1.0,则返回第二个图像的副本,基本的算法如下:

out  =  image1  *  (1.0  -  alpha ) +  image2  *  alpha
  • 1
  • Image.eval(image, *args):将函数应用于给定图像的中每一个像素。请注意,该函数对每个可能的像素值都进行一次评估,因此您不能使用随机组件或其他生成器。返回一个Image对象
    • image:Image对象
    • args:一个函数对象和该函数的一个取整参数
from PIL import Image

def func(a):
    return a

im1 = Image.open(path1)
img = Image.eval(img1,func,1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • Image.merge(mode, bands):将一组单波段图像合并成为一个多波段图像。返回一个Image对象
    • mode:用于输出图像的模式。支持的模式请看下方Pillow支持的模式表
    • bands:输出图像中每个波段包含一个单波段图像的序列
  • Image.new(mode, size, color=0):根据模式、大小和颜色创建一个新的Image对象。烦会一个Image对象
    • mode:用于新图像的模式。支持的模式请看下方Pillow支持的模式表
    • size: 大小,元组类型,包含宽度与高度
    • color:用于新图像的颜色。传入一个整数的单波段模式,或传入一个元组的多波段模式,或者传入一个ImageColor对象
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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

从上面代码运行结果显示是一个红色,1024*768的图像

图像对象

  • alpha_composite(im, dest=(0,0), source=(0,0)):在Image对象中符合im,效果与类方法alpha_composite相似。无返回值

    • im:Image对象
    • dest:指定此(目标)图像左上角的可选的长度为2的元组(左,上)
    • source:盖源图像中左上角的长度为2的元组(左,上)或源矩形边界的长度为4的元组(左,上,右,下)
  • copy():复制此图片

from PIL import Image

img = Image.new("RGBA",(1024,768),215)
img_copy = img.copy()
  • 1
  • 2
  • 3
  • 4
  • 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))
  • 1
  • 2
  • 3
  • 4
  • draft(mode, size):配置图像文件加载器,以便返回尽可能接近给定模式和大小的图像版本,无返回值

    • mode:模式
    • size:大小
  • filter(filter):使用给定的过滤器过滤此图像,返回一个Image对象

    • filter:过滤器
  • getbands():获取此图像中每个波段名称的元组。返回一个tuple

from PIL import Image

img = Image.new("RGBA",(1024,768)
  • 1
  • 2
  • 3
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号