知识点

  • 图像模块 (Image.Image)

    • Image模块的性能
    • Image模块的办法
  • ImageChops模块
  • ImageColor模块

根底应用

图像模块 Image.Image

加载图像对象,旋转90度并显示

from PIL import Image#显示图像im = Image.open('background.jpg')im.show()# 转换图像90度im.rotate(90).show()

创立缩略图 128x128

from PIL import Imageimport glob, ossize = 128, 128for infile in glob.glob('D:\code\gitee\pydata\python3-example\pillow_demo\*.jpg'):    print(infile)    filename = os.path.split(infile)[-1]    im = Image.open(infile)    im.thumbnail(size, Image.ANTIALIAS)    im.save("D:\code\gitee\pydata\python3-example\pillow_demo\\" + filename)

创立一个新图像, 分辨率为1920*1080

from PIL import Imageim = Image.new('RGB', (1920, 1080), (255, 0, 0))im1 = Image.new('RGB', (1920, 1080), 'red')im2 = Image.new('RGB', (1920, 1080), '#FF0000')im2.show()

将图像转换为PNG

im = Image.open('background.jpg', 'r')im.save('background.png')im.show()im_png = Image.open('background.png', 'r')print(im_png.format)

ImageChops模块

ImageChops模块蕴含多个算术图像的操作,称为通道操作,它们能够实现,特殊效果,图像合成,算法绘画等

它的性能大多数通道操作都是采纳一个或两个图像参数比拟来返回一个新图像,上面只列出一些罕用的办法:

IC.lighter(image1,image2):一一像素地比拟两个图像,并返回蕴含较亮值的新图像

from PIL import Imagefrom PIL import ImageChopsim1=Image.open('1.jpg')im2=Image.open('2.jpg')IC_image=ImageChops.lighter(im1,im2)IC_image.show()

ImageColor模块

ImageColor模块用来实现RGB色彩表转换,它反对是色彩格局包含:

  • 十六进制色彩说明符,例如,#ff0000指定纯红色
  • RGB函数,以“rgb(红色,绿色,蓝色)”给出,其中色彩值是0到255范畴内的整数,如,“rgb(255,0,0)”和“rgb(100%,0%,0%)
  • 常见的HTML色彩名称,例如,“red”指定纯红色

    getrgb(color):将色彩字符串转换为RGB元组

from PIL import ImageColorIC_image=ImageColor.getrgb('red')print(IC_image)#(255, 0, 0)