ImageMorph Module

The ImageMorph module provides morphology operations on images.

  • class PIL.ImageMorph.LutBuilder(patterns=None, op_name=None)[源代码]
  • 基类:object

A class for building a MorphLut from a descriptive language

The input patterns is a list of a strings sequences like these:

  1. 4:(...
  2. .1.
  3. 111)->1

(whitespaces including linebreaks are ignored). The option 4describes a series of symmetry operations (in this case a4-rotation), the pattern is described by:

  • . or X - Ignore
  • 1 - Pixel is on
  • 0 - Pixel is off
    The result of the operation is described after “->” string.

The default is to return the current pixel value, which isreturned if no other match is found.

Operations:

  • 4 - 4 way rotation
  • N - Negate
  • 1 - Dummy op for no other operation (an op must always be given)
  • M - Mirroring
    Example:
  1. lb = LutBuilder(patterns = ["4:(... .1. 111)->1"])
  2. lut = lb.build_lut()

TBD :Build based on (file) morphlut:modify_lut

  • class PIL.ImageMorph.MorphOp(lut=None, op_name=None, patterns=None)[源代码]
  • 基类:object

A class for binary morphological operators

  • apply(image)[源代码]
  • Run a single morphological operation on an image

Returns a tuple of the number of changed pixels and themorphed image

  • geton_pixels(_image)[源代码]
  • Get a list of all turned on pixels in a binary image

Returns a list of tuples of (x,y) coordinatesof all matching pixels.

  • loadlut(_filename)[源代码]
  • Load an operator from an mrl file

  • match(image)[源代码]

  • Get a list of coordinates matching the morphological operation onan image.

Returns a list of tuples of (x,y) coordinatesof all matching pixels.

  • savelut(_filename)[源代码]
  • Save an operator to an mrl file

  • setlut(_lut)[源代码]

  • Set the lut from an external source