ImageChops (“Channel Operations”) Module

The ImageChops module contains a number of arithmetical image operations, called channel operations (“chops”). These can be used for various purposes, including special effects, image compositions, algorithmic painting, and more.

For more pre-made operations, see ImageOps.

At this time, most channel operations are only implemented for 8-bit images (e.g. “L” and “RGB”).

Functions

Most channel operations take one or two image arguments and returns a new image. Unless otherwise noted, the result of a channel operation is always clipped to the range 0 to MAX (which is 255 for all modes supported by the operations in this module).

PIL.ImageChops.add(image1, image2, scale=1.0, offset=0)[源代码]

Adds two images, dividing the result by scale and adding the offset. If omitted, scale defaults to 1.0, and offset to 0.0. At least one of the images must have mode “1”.

out = ((image1 + image2) / scale + offset)
返回类型:Image
PIL.ImageChops.add_modulo(image1, image2)[源代码]

Add two images, without clipping the result. At least one of the images must have mode “1”.

out = ((image1 + image2) % MAX)
返回类型:Image
PIL.ImageChops.blend(image1, image2, alpha)[源代码]

Blend images using constant transparency weight. Alias for PIL.Image.Image.blend().

返回类型:Image
PIL.ImageChops.composite(image1, image2, mask)[源代码]

Create composite using transparency mask. Alias for PIL.Image.Image.composite().

返回类型:Image
PIL.ImageChops.constant(image, value)[源代码]

Fill a channel with a given grey level.

返回类型:Image
PIL.ImageChops.darker(image1, image2)[源代码]

Compares the two images, pixel by pixel, and returns a new image containing the darker values. At least one of the images must have mode “1”.

out = min(image1, image2)
返回类型:Image
PIL.ImageChops.difference(image1, image2)[源代码]

Returns the absolute value of the pixel-by-pixel difference between the two images. At least one of the images must have mode “1”.

out = abs(image1 - image2)
返回类型:Image
PIL.ImageChops.duplicate(image)[源代码]

Copy a channel. Alias for PIL.Image.Image.copy().

返回类型:Image
PIL.ImageChops.invert(image)[源代码]

Invert an image (channel).

out = MAX - image
返回类型:Image
PIL.ImageChops.lighter(image1, image2)[源代码]

Compares the two images, pixel by pixel, and returns a new image containing the lighter values. At least one of the images must have mode “1”.

out = max(image1, image2)
返回类型:Image
PIL.ImageChops.logical_and(image1, image2)[源代码]

Logical AND between two images. At least one of the images must have mode “1”.

out = ((image1 and image2) % MAX)
返回类型:Image
PIL.ImageChops.logical_or(image1, image2)[源代码]

Logical OR between two images. At least one of the images must have mode “1”.

out = ((image1 or image2) % MAX)
返回类型:Image
PIL.ImageChops.logical_xor(image1, image2)[源代码]

Logical XOR between two images. At least one of the images must have mode “1”.

out = ((bool(image1) != bool(image2)) % MAX)
返回类型:Image
PIL.ImageChops.multiply(image1, image2)[源代码]

Superimposes two images on top of each other.

If you multiply an image with a solid black image, the result is black. If you multiply with a solid white image, the image is unaffected. At least one of the images must have mode “1”.

out = image1 * image2 / MAX
返回类型:Image
PIL.ImageChops.offset(image, xoffset, yoffset=None)

Returns a copy of the image where data has been offset by the given distances. Data wraps around the edges. If yoffset is omitted, it is assumed to be equal to xoffset.

PIL.ImageChops.screen(image1, image2)[源代码]

Superimposes two inverted images on top of each other. At least one of the images must have mode “1”.

out = MAX - ((MAX - image1) * (MAX - image2) / MAX)
返回类型:Image
PIL.ImageChops.subtract(image1, image2, scale=1.0, offset=0)[源代码]

Subtracts two images, dividing the result by scale and adding the offset. If omitted, scale defaults to 1.0, and offset to 0.0. At least one of the images must have mode “1”.

out = ((image1 - image2) / scale + offset)
返回类型:Image
PIL.ImageChops.subtract_modulo(image1, image2)[源代码]

Subtract two images, without clipping the result. At least one of the images must have mode “1”.

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