Python Pillow 函数参考



Python Pillow 是一个强大的图像处理库,它提供了广泛的模块和功能来执行各种图像相关任务。从基本操作(如通道操作)到高级功能(如生成图形和评估图像上的数学表达式)。下面,您将找到 Pillow 提供的模块概述以及有关其方法的详细信息。

ImageChops(“通道操作”)模块

ImageChops 模块,称为“通道操作”或“chops”,提供了一系列可对图像执行的操作,主要用于执行数学图像操作,例如增强特效、创建合成图像、算法绘画等等。这些操作对于图像增强、混合和创建效果非常有用。

需要注意的是,目前大多数通道操作仅适用于 8 位图像,例如“L”和“RGB”。

函数

通道操作通常接受一个或两个图像输入,并生成一个新的图像作为输出。除非另有说明,否则通道操作的结果始终限制在 0 到 MAX 范围内。对于此模块中支持的模式,MAX 设置为 255。

以下是此模块中可用的方法:

序号 方法及描述
1

ImageChops.add()

将两张图像相加,并将结果除以指定的比例,然后添加偏移量。

2

ImageChops.subtract()

从另一张图像中减去一张图像,并将结果除以指定的比例,然后添加偏移量。

3

ImageChops.add_modulo()

将两张图像相加,不裁剪结果。

4

ImageChops.subtract_modulo()

将两张图像相减,不裁剪结果。

5

ImageChops.composite()

使用蒙版混合两张图像。

6

ImageChops.duplicate()

返回图像的副本。

7

ImageChops.darker()

比较两张图像,并为每个像素返回较暗的像素值。

8

ImageChops.constant()

通过用给定的灰度级填充图像的通道来创建一个新图像。

9

ImageChops.difference()

计算两张图像之间的绝对差值。

10

ImageChops.invert()

反转图像的像素值。

11

ImageChops.lighter()

比较两张图像,并为每个像素返回较亮的像素值。

12

ImageChops.logical_and()

执行两张图像之间的逻辑与运算。

13

ImageChops.logical_or()

执行两张图像之间的逻辑或运算。

14

ImageChops.logical_xor()

执行两张图像之间的逻辑异或运算。

15

ImageChops.multiply()

将两张图像相乘。

16

ImageChops.soft_light()

使用柔光算法将两张图像叠加在一起。

17

ImageChops.hard_light()

使用强光算法将两张图像叠加在一起。

18

ImageChops.overlay()

在两张图像之间应用叠加混合模式。

19

ImageChops.offset()

按给定的偏移量移动图像。

20

ImageChops.screen()

使用屏幕混合模式将两张反转的图像叠加在一起。

ImageOps 模块

ImageOps 模块提供了一组现成的图像处理操作。以下是此模块中可用的方法列表。让我们探索并了解每种方法的基本功能。

序号 方法及描述
1

ImageOps.autocontrast()

自动增强图像的对比度。

2

ImageOps.colorize()

将灰度图像着色。

3

ImageOps.scale()

按给定比例缩放图像。

4

ImageOps.equalize()

均衡图像的直方图。

5

ImageOps.grayscale()

将图像转换为灰度。

6

ImageOps.posterize()

减少每个颜色通道的位数。

7

ImageOps.solarize()

反转所有高于阈值的像素值。

ImageDraw 模块

ImageDraw 模块为创建新图像、添加形状和绘制文本提供简单的二维图形支持。它通常用于动态生成图形和注释图像。

以下是此模块中可用的方法列表。让我们探索并了解每种方法的基本功能:

序号 方法及描述
1

ImageDraw.arc()

在指定的边界框内绘制一条弧线。

2

ImageDraw.chord()

在边界框内绘制一条弦(圆的一部分)。

3

ImageDraw.pieslice()

在边界框内绘制一个填充的扇形。

4

ImageDraw.point()

在图像上的指定坐标处绘制点(单个像素)。

5

ImageDraw.regular_polygon()

绘制具有给定边界圆的正多边形。

6

ImageDraw.rounded_rectangle()

绘制一个圆角矩形。

7

ImageDraw.multiline_text()

在图像上的指定位置绘制多行文本。

ImageGrab 模块

ImageGrab 模块提供用于将屏幕或屏幕一部分的内容捕获到 PIL Image 内存中的函数。它可用于截取屏幕截图或从剪贴板捕获图像。让我们探索并了解此模块中每个函数的基本功能:

序号 方法及描述
1

ImageGrab.grab()

捕获屏幕快照。

2

ImageGrab.grabclipboard()

捕获剪贴板图像的快照。

ImageMath 模块

ImageMath 模块允许您评估图像表达式。您可以对图像执行运算,例如算术运算、按位运算和逻辑运算。让我们探索并了解该方法的基本功能:

序号 方法及描述
1

ImageMath.eval()

评估图像上的数学表达式。

广告