ImageMorph Module
The ImageMorph
module provides morphology operations on images.
- class
PIL.ImageMorph.
LutBuilder
(patterns=None, op_name=None)[source] - Bases:
object
A class for building a MorphLut from a descriptive language
The input patterns is a list of a strings sequences like these:
- 4:(...
- .1.
- 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:
- lb = LutBuilder(patterns = ["4:(... .1. 111)->1"])
- lut = lb.build_lut()
addpatterns
(_patterns)[source]build_default_lut
()[source]build_lut
()[source]- Compile all patterns into a morphology lut.
TBD :Build based on (file) morphlut:modify_lut
get_lut
()[source]
- class
PIL.ImageMorph.
MorphOp
(lut=None, op_name=None, patterns=None)[source] - Bases:
object
A class for binary morphological operators
apply
(image)[source]- Run a single morphological operation on an image
Returns a tuple of the number of changed pixels and themorphed image
geton_pixels
(_image)[source]- Get a list of all turned on pixels in a binary image
Returns a list of tuples of (x,y) coordinatesof all matching pixels. See Coordinate System.
loadlut
(_filename)[source]Load an operator from an mrl file
match
(image)[source]- Get a list of coordinates matching the morphological operation onan image.
Returns a list of tuples of (x,y) coordinatesof all matching pixels. See Coordinate System.