ImageChops
(“通道操作”)模块¶
ImageChops
模块包含许多算术图像操作,称为通道操作(“chops”)。这些操作可用于各种目的,包括特殊效果、图像合成、算法绘画等等。
有关更多预制操作,请参阅 ImageOps
.
目前,大多数通道操作仅针对 8 位图像(例如“L”和“RGB”)实现。
函数¶
大多数通道操作接受一个或两个图像参数,并返回一个新图像。除非另有说明,否则通道操作的结果始终被剪切到 0 到 MAX 的范围(对于此模块中支持的所有模式,MAX 为 255)。
- PIL.ImageChops.add(image1: Image, image2: Image, scale: float = 1.0, offset: float = 0) Image [source]¶
将两个图像相加,将结果除以 scale 并加上 offset。如果省略,scale 默认为 1.0,offset 默认为 0.0。
out = ((image1 + image2) / scale + offset)
- 返回值类型:
- PIL.ImageChops.add_modulo(image1: Image, image2: Image) Image [source]¶
将两个图像相加,不剪切结果。
out = ((image1 + image2) % MAX)
- 返回值类型:
- PIL.ImageChops.blend(image1: Image, image2: Image, alpha: float) Image [source]¶
使用恒定透明度权重混合图像。它是
PIL.Image.blend()
的别名。- 返回值类型:
- PIL.ImageChops.composite(image1: Image, image2: Image, mask: Image) Image [source]¶
使用透明度蒙版创建合成图像。它是
PIL.Image.composite()
的别名。- 返回值类型:
- PIL.ImageChops.darker(image1: Image, image2: Image) Image [source]¶
逐像素比较两个图像,并返回一个包含较暗值的新图像。
out = min(image1, image2)
- 返回值类型:
- PIL.ImageChops.difference(image1: Image, image2: Image) Image [source]¶
返回两个图像逐像素差的绝对值。
out = abs(image1 - image2)
- 返回值类型:
- PIL.ImageChops.duplicate(image: Image) Image [source]¶
复制一个通道。等效于
PIL.Image.Image.copy()
.- 返回值类型:
- PIL.ImageChops.lighter(image1: Image, image2: Image) Image [source]¶
逐像素比较两个图像,并返回一个包含较亮值的新图像。
out = max(image1, image2)
- 返回值类型:
- PIL.ImageChops.logical_and(image1: Image, image2: Image) Image [source]¶
两个图像之间的逻辑 AND 操作。
两个图像必须都为“1”模式。如果您想对非“1”模式的图像执行逻辑 AND 操作,请尝试使用
multiply()
,使用黑白蒙版作为第二个图像。out = ((image1 and image2) % MAX)
- 返回值类型:
- PIL.ImageChops.logical_or(image1: Image, image2: Image) Image [source]¶
两个图像之间的逻辑 OR 操作。
两个图像必须都为“1”模式。
out = ((image1 or image2) % MAX)
- 返回值类型:
- PIL.ImageChops.logical_xor(image1: Image, image2: Image) Image [source]¶
两个图像之间的逻辑 XOR 操作。
两个图像必须都为“1”模式。
out = ((bool(image1) != bool(image2)) % MAX)
- 返回值类型:
- PIL.ImageChops.multiply(image1: Image, image2: Image) Image [source]¶
将两个图像叠加在一起。
如果将图像与纯黑色图像相乘,结果为黑色。如果与纯白色图像相乘,图像不会受到影响。
out = image1 * image2 / MAX
- 返回值类型:
- PIL.ImageChops.offset(image: Image, xoffset: int, yoffset: int | None = None) Image [source]¶
返回图像的副本,其中数据已根据给定的距离偏移。数据在边缘处环绕。如果省略了
yoffset
,则假定它等于xoffset
。- 参数:
image – 输入图像。
xoffset – 水平距离。
yoffset – 垂直距离。如果省略,则两个距离都设置为相同的值。
- 返回值类型:
- PIL.ImageChops.screen(image1: Image, image2: Image) Image [source]¶
将两张反转的图像叠加在一起。
out = MAX - ((MAX - image1) * (MAX - image2) / MAX)
- 返回值类型: