Morphology
https://en.wikipedia.org/wiki/Mathematical_morphology
Morphological Image Processing
Quick Overview: Morphological Image Processing
Morphological Image Processing
Binary images may contain numerous imperfections. In particular, the binary regions produced by simple thresholding are distorted by noise and texture. Morphological image processing pursues the goals of removing these imperfections by accounting for the form and structure of the image. These techniques can be extended to greyscale images.
Basic concepts
Morphological image processing is a collection of non-linear operations related to the shape or morphology of features in an image. According to Wikipedia, morphological operations rely only on the relative ordering of pixel values, not on their numerical values, and therefore are especially suited to the processing of binary images. Morphological operations can also be applied to greyscale images such that their light transfer functions are unknown and therefore their absolute pixel values are of no or minor interest.
Morphological techniques probe an image with a small shape or template called a structuring element. The structuring element is positioned at all possible locations in the image and it is compared with the corresponding neighbourhood of pixels. Some operations test whether the element "fits" within the neighbourhood, while others test whether it "hits" or intersects the neighbourhood:
A morphological operation on a binary image creates a new binary image in which the pixel has a non-zero value only if the test is successful at that location in the input image.
Probing of an image with a structuring element
(white and grey pixels have zero and non-zero values, respectively).==> compare to filter then activation
The structuring element is a small binary image, i.e. a small matrix of pixels, each with a value of zero or one:
- The matrix dimensions specify the size of the structuring element.
- The pattern of ones and zeros specifies the shape of the structuring element.
- An origin of the structuring element is usually one of its pixels, although generally the origin can be outside the structuring element.
A common practice is to have odd dimensions of the structuring matrix and the origin defined as the centre of the matrix. Stucturing elements play in moprphological image processing the same role as convolution kernels in linear image filtering.
Examples of simple structuring elements.When a structuring element is placed in a binary image, each of its pixels is associated with the corresponding pixel of the neighbourhood under the structuring element. The structuring element is said to fit the image if, for each of its pixels set to 1, the corresponding image pixel is also 1. Similarly, a structuring element is said to hit, or intersect, an image if, at least for one of its pixels set to 1 the corresponding image pixel is also 1.
Zero-valued pixels of the structuring element are ignored, i.e. indicate points where the corresponding image value is irrelevant .
Fitting and hitting of a binary image with structuring elements s1 and s2.Fundamental operations
More formal descriptions and examples of how basic morphological operations work are given in the Hypermedia Image Processing Reference (HIPR) developed by Dr. R. Fisher et al. at the Department of Artificial Intelligence in the University of Edinburgh, Scotland, UK.Erosion and dilation
The erosion of a binary image f by a structuring element s (denoted f
s) produces a new binary image g = f
s with ones in all locations (x,y) of a structuring element's origin at which that structuring element s (represented by its origin in the image) fits the input image f, i.e. g(x,y) = 1 if s fits f and 0 otherwise, repeating for all pixel coordinates (x,y).
Erosion with small (e.g. 2×2 - 5×5) square structuring elements shrinks an image by stripping away a layer of pixels from both the inner and outer boundaries of regions. The holes and gaps between different regions become larger, and small details are eliminated :
Greyscale image Binary image by thresholding Erosion: a 2×2 square structuring element http://documents.wolfram.com/applications/digitalimage/UsersGuide/Morphology/ImageProcessing6.3.html
Erosion: a 3×3 square structuring element
Larger structuring elements have a more pronounced effect, the result of erosion with a large structuring element being similar to the result obtained by iterated erosion using a smaller structuring element of the same shape. If s1 and s2 are a pair of structuring elements identical in shape, with s2 twice the size of s1 , then
(www.cs.princeton.edu/~pshilane/class/mosaic/).Erosion removes small-scale details from a binary image but simultaneously reduces the size of regions of interest, too. By subtracting the eroded image from the original image, boundaries of each region can be found : b = f − (f
s) where f is an image of the regions, s is a 3×3 structuring element, and b is an image of the region boundaries.
The dilation of an image f by a structuring element s (denoted f
s) produces a new binary image g = f
s with ones in all locations (x,y) of a structuring element's origin at which that structuring element s hits the the input image f, i.e. g(x,y) = 1 if s hits f and 0 otherwise, repeating for all pixel coordinates (x,y). Dilation has the opposite effect to erosion -- it adds a layer of pixels to both the inner and outer boundaries of regions.
The holes enclosed by a single region and gaps between different regions become smaller, and small intrusions into boundaries of a region are filled in:
Binary image Dilation: a 2×2 square structuring element http://documents.wolfram.com/applications/digitalimage/UsersGuide/Morphology/ImageProcessing6.3.html
Dilation: a 3×3 square structuring element
Results of dilation or erosion are influenced both by the size and shape of a structuring element. Dilation and erosion are dual operations in that they have opposite effects. Let fc denote the complement of an image f , i.e., the image produced by replacing 1 with 0 and vice versa. Formally, the duality is written as
(www.cs.princeton.edu/~pshilane/class/mosaic/).
![]()
where s_rot is the structuring element s rotated by 180 deg. . If a structuring element is symmetrical with respect to rotation, then srot does not differ from s . If a binary image is considered to be a collection of connected regions of pixels set to 1 on a background of pixels set to 0, then erosion is the fitting of a structuring element to these regions and dilation is the fitting of a structuring element (rotated if necessary) into the background, followed by inversion of the result.Compound operations
Many morphological operations are represented as combinations of erosion, dilation, and simple set-theoretic operations such as the complement of a binary image:
f c(x,y) = 1 if f(x,y) = 0, and f c(x,y) = 0 if f(x,y) = 1,
the intersection h = f ∩ g of two binary images f and g :h(x,y) = 1 if f(x,y) = 1 and g(x,y) = 1, and h(x,y) = 0 otherwise,
and the union h = f ∪ g of two binary images f and g :h(x,y) = 1 if f(x,y) = 1 or g(x,y) = 1, and h(x,y) = 0 otherwise:
Set operations on binary images: from left to right: a binary image f,
The opening of an image f by a structuring element s (denoted by f
a binary image g, the complement f c of f, the intersection f ∩ g, and the union f ∪ g.s ) is an erosion followed by a dilation:
Opening is so called because it can open up a gap between objects connected by a thin bridge of pixels . Any regions that have survived the erosion are restored to their original size by the dilation:
Binary image Opening: a 2×2 square structuring element http://documents.wolfram.com/applications/digitalimage/UsersGuide/Morphology/ImageProcessing6.3.html
Binary image f f s (5×5 square)
f s (9×9 square)
Results of opening with a square structuring element (www.mmorph.com/html/morph/mmopen.html/). Opening is an idempotent operation: once an image has been opened, subsequent openings with the same structuring element have no further effect on that image:
In this case, the dilation and erosion should be performed with a rotated by 180 structuring element. Typically, the latter is symmetrical, so that the rotated and initial versions of it do not differ.
Binary image Closing: a 2×2 square structuring element http://documents.wolfram.com/applications/digitalimage/UsersGuide/Morphology/ImageProcessing6.3.html
Closing with a 3×3 square structuring element
(www.cs.princeton.edu/~pshilane/class/mosaic/).Closing is so called because it can fill holes in the regions while keeping the initial region sizes. Like opening, closing is idempotent: (f • s) • s = f • s, and it is dual operation of opening (just as opening is the dual operation of closing):
![]()
In other words, closing (opening) of a binary image can be performed by taking the complement of that image, opening (closing) with the structuring element, and taking the complement of the result.The hit and miss transform (see also HIPS2 web page) allows to derive information on how objects in a binary image are related to their surroundings. The operation requires a matched pair of structuring elements, {s1, s2}, that probe the inside and outside, respectively, of objects in the image:
![]()
A pixel belonging to an object is preserved by the hit and miss transform if and only if s1 translated to that pixel fits inside the object AND s2 translated to that pixel fits outside the object. It is assumed that s1 and s2 do not intersect, otherwise it would be impossible for both fits to occur simultaneously.
Binary image Hit and miss transform:
an elongated 2×5 structuring elementhttp://documents.wolfram.com/applications/digitalimage/UsersGuide/Morphology/ImageProcessing6.3.html It is easier to describe it by considering s1 and s2 as a single structuring element with 1s for pixels of s1 and 0s for pixels of s2; in this case the hit-and-miss transform assigns 1 to an output pixel only if the object (with the value of 1) and background (with the value of 0) pixels in the structuring element exactly match object (1) and background (0) pixels in the input image. Oterwise that pixel is set to the background value (0).
The hit and miss transform can be used for detecting specific shapes (spatial arrangements of object and background pixel values) if the two structuring elements present the desired shape, as well as for thinning or thickening of object linear elements.
Morphological filtering
of a binary image is conducted by considering compound operations like opening and closing as filters. They may act as filters of shape. For example, opening with a disc structuring element smooths corners from the inside, and closing with a disc smooths corners from the outside. But also these operations can filter out from an image any details that are smaller in size than the structuring element, e.g. opening is filtering the binary image at a scale defined by the size of the structuring element. Only those portions of the image that fit the structuring element are passed by the filter; smaller structures are blocked and excluded from the output image. The size of the structuring element is most important to eliminate noisy details but not to damage objects of interest.
References
These lecture notes follow Chapter 11 "Morphological image processing" of the textbook
with extra examples and teaching materials taken mostly, with corresponding references, from the Web.
- Nick Efford. Digital Image Processing: A Practical Introduction Using JavaTM. Pearson Education, 2000.
Detailed: https://web.stanford.edu/class/ee368/Handouts/Lectures/2019_Winter/7-Morphological.pdf
Morphological Operations
matlab: 形态学运算的类型- MATLAB & Simulink- MathWorks 中国
python-scikit Module: morphology — skimage v0.19.0.dev0 docs
Dilation
https://en.wikipedia.org/wiki/Dilation_(morphology)