Pillow ImageChops模块

2021-07-13 11:37 更新

该​ImageChops​模块包含许多算术图像操作,称为通道运算(“chops”)。这些操作可用于各种目的,包括特殊效果、图像合成、算法绘画等。

有关更多预制操作,请参阅​ImageOps​。

此时,大多数通道操作仅针对 8 位图像(例如“L”和“RGB”)实现。

功能

大多数通道操作采用一个或两个图像参数并返回新图像。除非另有说明,否则通道操作的结果总是被限制在0到max的范围内(对于此模块中操作支持的所有模式,该范围为255)。

PIL.ImageChops.add(image1image2scale=1.0offset=0)

添加两个图像,将结果除以比例并添加偏移量。如果忽略,则比例默认为1.0,偏移为0.0。

out = ((image1 + image2) / scale + offset)
返回类型

Image

PIL.ImageChops.add_modulo(image1image2)

添加两个图像,而不裁剪结果。

out = ((image1 + image2) % MAX)
返回类型

Image

PIL.ImageChops.blend(image1image2alpha)

使用恒定的透明度权重混合图像。又名 PIL.Image.Image.blend() 。

返回类型

Image

PIL.ImageChops.composite(image1image2mask)

使用透明蒙版创建合成。Alias PIL.Image.Image.composite() .

返回类型

Image

PIL.ImageChops.constant(imagevalue)

用给定的灰度填充通道。

返回类型

Image

PIL.ImageChops.darker(image1image2)

逐像素比较两个图像,并返回包含较暗值的新图像。

out = min(image1, image2)
返回类型

Image

PIL.ImageChops.difference(image1image2)

返回两个图像之间逐像素差的绝对值。

out = abs(image1 - image2)
返回类型

Image

PIL.ImageChops.duplicate(image)

复制频道。又名 PIL.Image.Image.copy() .

返回类型

Image

PIL.ImageChops.invert(image)

反转图像(通道)。

out = MAX - image
返回类型

Image

PIL.ImageChops.lighter(image1image2)

逐像素比较两个图像,并返回一个包含较亮值的新图像。

out = max(image1, image2)
返回类型

Image

PIL.ImageChops.logical_and(image1image2)

两个映像之间的逻辑AND。

两个图像都必须具有模式“1”。如果要对模式不是“1”的映像执行逻辑与运算,请尝试 multiply() 使用黑白蒙版作为第二张图片。

out = ((image1 and image2) % MAX)
返回类型

Image

PIL.ImageChops.logical_or(image1image2)

两个图像之间的逻辑或。

两个图像都必须具有模式“1”。

out = ((image1 or image2) % MAX)
返回类型

Image

PIL.ImageChops.logical_xor(image1image2)

两个映像之间的逻辑异或。

两个图像都必须具有模式“1”。

out = ((bool(image1) != bool(image2)) % MAX)
返回类型

Image

PIL.ImageChops.multiply(image1image2)

将两个图像叠加在一起。

如果将图像与实心黑色图像相乘,则结果为黑色。如果用纯白图像相乘,图像不受影响。

out = image1 * image2 / MAX
返回类型

Image

PIL.ImageChops.soft_light(image1image2)

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

返回类型

Image

PIL.ImageChops.hard_light(image1image2)

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

返回类型

Image

PIL.ImageChops.overlay(image1image2)

使用叠加算法将两个图像叠加在一起

返回类型

Image

PIL.ImageChops.offset(imagexoffsetyoffset=None)

返回数据被给定距离偏移的图像的副本。数据环绕边缘。如果 ​yoffset ​省略,则假定等于 ​xoffset​。

参数
  • xoffset -- 水平距离。

  • yoffset -- 垂直距离。如果省略,则两个距离都设置为相同的值。

返回类型

Image.

PIL.ImageChops.screen(image1image2)

将两个倒置的图像叠加在一起。

out = MAX - ((MAX - image1) * (MAX - image2) / MAX)
返回类型

Image

PIL.ImageChops.subtract(image1image2scale=1.0offset=0)

减去两个图像,将结果除以比例并添加偏移量。如果忽略,则比例默认为1.0,偏移为0.0。

out = ((image1 - image2) / scale + offset)
返回类型

Image

PIL.ImageChops.subtract_modulo(image1image2)

减去两个图像,而不裁剪结果。

out = ((image1 - image2) % MAX)
返回类型

Image


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号