Dilation - grow image regions

Erosion - shrink image regions

Opening - structured removal of image region boundary pixels

Closing - structured filling in of image region boundary pixels

Hit and Miss Transform - image pattern matching and marking

Thinning - structured erosion using image pattern matching

Thickening - structured dilation using image pattern matching

Skeletonization/Medial Axis Transform - finding skeletons of binary regions

Morphological operators often take a binary image and a structuring element as input and combine them using a set operator (intersection, union, inclusion, complement). They process objects in the input image based on characteristics of its shape, which are encoded in the structuring element. The mathematical details are explained in Mathematical Morphology.

Usually, the structuring element is sized 3×3 and has its origin
at the center pixel. It is shifted over the image and at each pixel of
the image its elements are compared with the set of the underlying
pixels. If the two sets of elements match the condition defined by the
set operator (*e.g.* if the set of pixels in the structuring element is a
subset of the underlying image pixels), the pixel underneath the
origin of the structuring element is set to a pre-defined value (0 or
1 for binary images). A morphological operator is therefore defined by
its structuring element and the applied set operator.

For the basic morphological operators the structuring element contains only foreground pixels (*i.e.* ones) and `don't care's'. These operators, which are all a combination of erosion and dilation, are often used to select or suppress features of a certain shape, *e.g.* removing noise from images or selecting objects with a particular direction.

The more sophisticated operators take zeros as well as ones and `don't
care's' in the structuring element. The most general operator is the
hit and miss, in fact, all the other morphological
operators can be deduced from it. Its variations are often used to
simplify the representation of objects in a (binary) image while
preserving their structure, *e.g.* producing a skeleton of an object
using skeletonization and tidying up the result using
thinning.

Morphological operators can also be applied to graylevel images, *e.g.* to
reduce noise or to brighten the image. However, for many applications,
other methods like a more general spatial filter produces better
results.