ImageChops (“Channel Operations”) Module

The ImageChops module contains a number of arithmetical imageoperations, called channel operations (“chops”). These can be used for variouspurposes, 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 newimage. Unless otherwise noted, the result of a channel operation is alwaysclipped to the range 0 to MAX (which is 255 for all modes supported by theoperations in this module).

  • PIL.ImageChops.add(image1, image2, scale=1.0, offset=0)[源代码]
  • Adds two images, dividing the result by scale and adding theoffset. If omitted, scale defaults to 1.0, and offset to 0.0.
  1. out = ((image1 + image2) / scale + offset)

返回类型:Image

  • PIL.ImageChops.addmodulo(_image1, image2)[源代码]
  • Add two images, without clipping the result.
  1. out = ((image1 + image2) % MAX)

返回类型:Image

  • PIL.ImageChops.blend(image1, image2, alpha)[源代码]
  • Blend images using constant transparency weight. Alias forPIL.Image.Image.blend().

返回类型:Image

  • PIL.ImageChops.composite(image1, image2, mask)[源代码]
  • Create composite using transparency mask. Alias forPIL.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 imagecontaining the darker values.
  1. out = min(image1, image2)

返回类型:Image

  • PIL.ImageChops.difference(image1, image2)[源代码]
  • Returns the absolute value of the pixel-by-pixel difference between the twoimages.
  1. out = abs(image1 - image2)

返回类型:Image

返回类型:Image

  • PIL.ImageChops.invert(image)[源代码]
  • Invert an image (channel).
  1. out = MAX - image

返回类型:Image

  • PIL.ImageChops.lighter(image1, image2)[源代码]
  • Compares the two images, pixel by pixel, and returns a new image containingthe lighter values.
  1. out = max(image1, image2)

返回类型:Image

  • PIL.ImageChops.logicaland(_image1, image2)[源代码]
  • Logical AND between two images.
  1. out = ((image1 and image2) % MAX)

返回类型:Image

  • PIL.ImageChops.logicalor(_image1, image2)[源代码]
  • Logical OR between two images.
  1. out = ((image1 or 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. Ifyou multiply with a solid white image, the image is unaffected.

  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 givendistances. Data wraps around the edges. If yoffset is omitted, itis assumed to be equal to xoffset.

参数:

  • xoffset – The horizontal distance.
  • yoffset – The vertical distance. If omitted, bothdistances are set to the same value.返回类型:
    Image
  • PIL.ImageChops.screen(image1, image2)[源代码]
  • Superimposes two inverted images on top of each other.
  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 theoffset. If omitted, scale defaults to 1.0, and offset to 0.0.
  1. out = ((image1 - image2) / scale + offset)

返回类型:Image

  • PIL.ImageChops.subtractmodulo(_image1, image2)[源代码]
  • Subtract two images, without clipping the result.
  1. out = ((image1 - image2) % MAX)

返回类型:Image