关于python:python3pillow库基础使用

9次阅读

共计 1388 个字符,预计需要花费 4 分钟才能阅读完成。

知识点

  • 图像模块 (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()

创立缩略图 128×128

from PIL import Image
import glob, os
size = 128, 128
for 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 Image
im = 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 Image
from PIL import ImageChops
im1=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 ImageColor
IC_image=ImageColor.getrgb('red')
print(IC_image)

#
(255, 0, 0)
正文完
 0