跳到主要内容

Pillow

图像处理模块的基本使用

基本使用 简单绘图操作

  • 图像处理:图像基本处理、像素处理、颜色处理
  • 图像进行批处理、生成图像预览、图像原格式转换
  • 其他操作:屏幕捕获、图像滤镜等

模块

ImageDraw 装饰 ImageFilter 预定好过滤器、滤镜 ImageChops 算术操作 ImageEnhance 增强 ImageWin windows ImageOps 操作方法

图像操作

PIL.Image.open(img) 图像读取 PIL.image.eval(image, *args) 图像处理 PIL.image.new(mode, size, color=0) 创建图像 PIL.Image.merge(mode, images) 合并图像

图像操作对象

img.format 查看图像格式 img.size 查看图像尺寸 img.mode 查看图像色彩空间 img.thumbnail(size, resample=0) 缩放图像 img.show() 显示展示 img.save(file, format=None) 保存图像 img.transpose 图像翻转 img.crop(box) 图像切割 img.rotate 图像逆时针旋转 img.resize 重置图片尺寸

ImageOps

ImageOps.autocontrast(image, cutoff=0) 自动调节图像对比度,最大化标准化 ImageOps.crop(image, box) 图像切割,四个侧面移除下同数量的像素 ImageOps.deform(image, deformer) 图像变形 ImageOps.expand(image, xmargin, ymargin=None, fill=0) 图像扩展,为图像添加边框,填充 ImageOps.fit(image, size, method=Image.NEAREST, bleed=0.0, centering=(0.5, 0.5)) 图像缩放,裁剪为指定尺寸,不能超过 0.5 ImageOps.flip(image, horizontal=0, vertical=0) 图像翻转,崔志翻转图像,从上到下 grayscale(image) 图像灰度化 mirror(image) 水平翻转,从左到右 solarize(image, threshold=128) 图像阳光化,将图像中的黑色转换为白色,翻转高于阈值的颜色 invert(image) 图像反转,将图像中的黑色转换为白色,图像取反

ImageFilter

BoxBlur(radius) 模糊,通过将每个像素设置为在每个方向上延伸半径像素的方框中的像素的平均值来模糊图像 GaussianBlur 高斯模糊滤镜 Kernel(size, kernel, scale=None, offset=0) 创建一个卷积核 MedianFilter(size) 创建中值滤波器,在给定大小的窗口中选取中值像素值 MinFilter(size) 创建最小值滤波器,在给定大小的窗口中选取最小像素值 MaxFilter(size) 创建最大值滤波器,在给定大小的窗口中选取最大像素值

ImageEnhance

ImageEnhance.Color(image) 创建颜色增强器 Contrast 对比度 Brightness 亮度 Sharpness 清晰度

绘图 PIL.ImageDraw

画图 ImageDraw.Draw(image) 创建一个画笔

绘制椭圆 ImageDraw.ellipse(xy, fill=None, outline=None) 直线 ImageDraw.line(xy, fill=None, width=1, joint=None) 多边形 ImageDraw.polygon(xy, fill=None, outline=None)

参考