Title: Morphological Image Processing
1Morphological Image Processing
The field of mathematical morphology contributes
a wide range of operators to image processing,
all based around a few simple mathematical
concepts from set theory. The operators are
particularly useful for the analysis of binary
images and common usages include edge detection,
noise removal, image enhancement and image
segmentation.
Morphological techniques typically probe an image
with a small shape or template known as a
structuring element. The structuring element is
positioned at all possible locations in the image
and it is compared with the corresponding
neighborhood of pixels.Morphological operations
differ in how they carry out this comparison.
2Some Basic Concepts from Set Theory
If a(a1,a2) is an element of A, then we write
a? A If a is not an element of A , we write
a? A The set with no elements is called the null
or empty set and is denoted by the symbol ?. If
every element of a set A is also an element of
another set B, then a is said to be a subset of
B, denoted as A ? B The union of two sets A
and B, denoted by CA? B Is the set of all
elements belonging to either A,B or both The
intersection of two sets A and B, denoted by DA
? B Is the set of all elements belonging to both
A and B Two sets A and B are said to be disjoint
or mutually exclusive if they have no common
elements. A ? B ?
3Logical Operation Involving Binary Images
The logical operations just descried have a
one-to one correspondence with the set operations
is set theory ( union , intersection ) with the
limitation that logical operations are restricted
to binary variables.
4Fundamental Definitions
We defined an image as an (amplitude) function of
two, real (coordinate) variables a(x,y) or two,
discrete variables am,n. An alternative
definition of an image can be based on the notion
that an image consists of a set (or collection)
of either continuous or discrete coordinates. In
a sense the set corresponds to the points or
pixels that belong to the objects in the image.
This is illustrated in Figure which contains two
objects or sets A and B. Note that the coordinate
system is required. For the moment we will
consider the pixel values to be binary.
Figure A binary image containing two object
sets A and B.
5Fundamental Definitions
The object A consists of those pixels a that
share some common property
Object -
The background of A is given by Ac (the
complement of A) which is defined as those
elements that are not in A
Background -
6Fundamental Definitions
The fundamental operations associated with an
object are the standard set operations union,
intersection, and complement plus translation
7Fundamental Definitions
The complement of A is the binary image which
interchange the 1s and 0s in A . Thus,
The intersection of any two binary images A and B
, written A ? B, is the binary image which is 1
at all pixels p which are 1 in both A and B The
intersection is computed by applying the rule
The union of A and B, written A?B, is the binary
image which is 1 at all pixels p which are 1 in A
or 1 in B ( or in both)
8Fundamental Definitions
Translation - Given a vector x and a set A, the
translation, A x, is defined as
Note that, since we are dealing with a digital
image composed of pixels at integer coordinate
positions (Z2), this implies restrictions on the
allowable translation vectors x. The basic
Minkowski set operations--addition and
subtraction--can now be defined. First we note
that the individual elements that comprise B are
not only pixels but also vectors as they have a
clear coordinate position with respect to 0,0.
Given two sets A and B
Minkowski addition -
Minkowski subtraction -
9Fundamental Definitions Erosion and Dilation
From these two Minkowski operations we define the
fundamental mathematical morphology operations
dilation and erosion
Dilation -
Erosion -
where
10Fundamental Definitions Erosion and Dilation
While either set A or B can be thought of as an
"image", A is usually considered as the image and
B is called a structuring element. The
structuring element is to mathematical morphology
what the convolution kernel is to linear filter
theory.
Dilation, in general, causes objects to dilate or
grow in size erosion causes objects to shrink.
The amount and the way that they grow or shrink
depend upon the choice of the structuring
element. Dilating or eroding without specifying
the structural element makes no more sense than
trying to lowpass filter an image without
specifying the filter.
11Structuring Elements
The structuring element is sometimes called the
kernel, but we reserve that term for the similar
objects used in convolutions.
The structuring element consists of a pattern
specified as the coordinates of a number of
discrete points relative to some origin. Normally
Cartesian coordinates are used and so a
convenient way of representing the element is as
a small image on a rectangular grid. Figure 1
shows a number of different structuring elements
of various sizes. In each case the origin is
marked by a ring around that point. The origin
does not have to be in the center of the
structuring element, but often it is. As
suggested by the figure, structuring elements
that fit into a 33 grid with its origin at the
center are the most commonly seen type.
12Structuring Elements
Figure 1 Some example structuring elements.
13Sstructuring Element
Note that each point in the structuring element
may have a value. In the simplest structuring
elements used with binary images for operations
such as erosion, the elements only have one
value, conveniently represented as a one. More
complicated elements, such as those used with
thinning or grayscale morphological operations,
may have other pixel values.
The structuring element is already just a set of
point coordinates (although it is often
represented as a binary image). It differs from
the input image coordinate set in that it is
normally much smaller, and its coordinate origin
is often not in a corner, so that some coordinate
elements will have negative values. Note that in
many implementations of morphological operators,
the structuring element is assumed to be a
particular shape (e.g. a 33 square) and so is
hardwired into the algorithm.
14Sstructuring Element
The two most common structuring elements (given a
Cartesian grid) are the 4-connected and
8-connected sets, N4 and N8. They are illustrated
in Figure .
Figure The standard structuring elements N4 and
N8.
15Binary Images
For a binary image, white pixels are normally
taken to represent foreground regions, while
black pixels denote background. (Note that in
some implementations this convention is reversed,
and so it is very important to set up input
images with the correct polarity for the
implementation being used). Then the set of
coordinates corresponding to that image is simply
the set of two-dimensional Euclidean coordinates
of all the foreground pixels in the image, with
an origin normally taken in one of the corners so
that all coordinates have positive elements.
16Gray Scale Images
For a grayscale image, the intensity value is
taken to represent height above a base plane, so
that the grayscale image represents a surface in
three-dimensional Euclidean space. Figure 2 shows
such a surface. Then the set of coordinates
associated with this image surface is simply the
set of three-dimensional Euclidean coordinates of
all the points within this surface and also all
points below the surface, down to the base plane.
Note that even when we are only considering
points with integer coordinates, this is a lot of
points, so usually algorithms are employed that
do not need to consider all the points.
17Fundamental Morphological Operations
Erosion and dilation work (at least conceptually)
by translating the structuring element to various
points in the input image, and examining the
intersection between the translated kernel
coordinates and the input image coordinates. For
instance, in the case of erosion, the output
coordinate set consists of just those points to
which the origin of the structuring element can
be translated, while the element still remains
entirely within' the input image. Virtually all
other mathematical morphology operators can be
defined in terms of combinations of erosion and
dilation along with set operators such as
intersection and union. Some of the more
important are opening, closing and
skeletonization.
18Fitting and Hitting
When we place a structuring element in a binary
image, each of its pixels is associated with the
corresponding pixel of the neighborhood under the
structuring element. In this sense, a
morphological operation resembles a binary
correlation. The operation is logical rather
than arithmetic in nature. The structuring
element is said to fit the image if, for each of
its pixels that is set to 1 , the corresponding
image pixel is also 1. The structuring element is
said to hit, an image if for any of its pixels
that is set to 1, the corresponding image pixel
is also 1.
19Erosion
The basic effect of the operator on a binary
image is to erode away the boundaries of regions
of foreground pixels (i.e. white pixels,
typically). Thus areas of foreground pixels
shrink in size, and holes within those areas
become larger
Figure 2 Effect of erosion using a 33 square
structuring element
Strip away a layer of pixels from an object,
shrinking it in the process.
20Erosion-How It Works
The erosion operator takes two pieces of data as
inputs. The first is the image which is to be
eroded. The second is a (usually small) set of
coordinate points known as a structuring element
(also known as a kernel ). It is this structuring
element that determines the precise effect of the
erosion on the input image. The mathematical
definition of erosion for binary images is as
follows
Suppose that X is the set of Euclidean
coordinates corresponding to the input binary
image, and that K is the set of coordinates for
the structuring element. Let Kx denote the
translation of K so that its origin is at x.
Then the erosion of X by K is simply the set of
all points x such that Kx is a subset of X.
21Erosion-How It Works
As an example of binary erosion, suppose that the
structuring element is a 33 square, with the
origin at its center as shown in Figure 2. Note
that in this and subsequent diagrams, foreground
pixels are represented by 1's and background
pixels by 0's.
Figure 2
The erosion of a binary image A by a binary image
B is 1 at a pixel p if and only if every 1 pixel
in the translation of B to p is also 1 in A.
22Erosion-How It Works
To compute the erosion of a binary input image by
this structuring element, we consider each of the
foreground pixels in the input image in turn. For
each foreground pixel (which we will call the
input pixel) we superimpose the structuring
element on top of the input image so that the
origin of the structuring element coincides with
the input pixel coordinates. If for every pixel
in the structuring element, the corresponding
pixel in the image underneath is a foreground
pixel, then the input pixel is left as it is. If
any of the corresponding pixels in the image are
background, however, the input pixel is also set
to background value. For our example 33
structuring element, the effect of this operation
is to remove any foreground pixel that is not
completely surrounded by other white pixels
(assuming 8-connectedness). Such pixels must lie
at the edges of white regions, and so the
practical upshot is that foreground regions
shrink (and holes inside a region grow).
23Erosion-Guidelines for Use
Most implementations of this operator will expect
the input image to be binary, usually with
foreground pixels at intensity value 255, and
background pixels at intensity value 0. Such an
image can often be produced from a grayscale
image using thresholding. It is important to
check that the polarity of the input image is set
up correctly for the erosion implementation being
used. The structuring element may have to be
supplied as a small binary image, or in a special
matrix format, or it may simply be hardwired into
the implementation, and not require specifying at
all. In this latter case, a 33 square
structuring element is normally assumed which
gives the shrinking effect described above. The
effect of an erosion using this structuring
element on a binary image is shown in Figure 3
24Erosion-Guidelines for Use
The 33 square is probably the most common
structuring element used in erosion operations,
but others can be used. A larger structuring
element produces a more extreme erosion effect,
although usually very similar effects can be
achieved by repeated erosions using a smaller
similarly shaped structuring element.
Erosions can be made directional by using less
symmetrical structuring elements. For example, a
structuring element that is 10 pixels wide and 1
pixel high will erode in a horizontal direction
only. Similarly, a 33 square structuring element
with the origin in the middle of the top row
rather than the center, will erode the bottom of
a region more severely than the top.
25Erosion-Guidelines for Use
This image is the result of eroding four times
with a disk shaped structuring element 11 pixels
in diameter. It shows that the hole in the middle
of the image increases in size as the border
shrinks. Note that the shape of the region has
been quite well preserved due to the use of a
disk shaped structuring element. In general,
erosion using a disk shaped structuring element
will tend to round concave boundaries, but will
preserve the shape of convex boundaries.
26Erosion-Guidelines for Use
There are many specialist uses for erosion. One
of the more common is to separate touching
objects in a binary image so that they can be
counted using a labeling algorithm. The image
shows a number of dark disks (coins in fact)
silhouetted against a light background
The result of thresholding the image at pixel
value 90 yields
It is required to count the coins. However, this
is not going to be easy since the touching coins
form a single fused region of white, and a
counting algorithm would have to first segment
this region into separate coins before counting,
a non-trivial task
27Erosion-Guidelines for Use
.The situation can be much simplified by eroding
the image
The image shows the result of eroding twice using
a disk shaped structuring element 11 pixels in
diameter. All the coins have been separated
neatly and the original shape of the coins has
been largely preserved. At this stage a labeling
algorithm can be used to count the coins. The
relative sizes of the coins can be used to
distinguish the various types by, for example,
measuring the area of each distinct region.
28Erosion-Guidelines for Use
The image is derived from the same input
picture, but a 99 square structuring element is
used instead of a disk (the two structuring
elements have approximately the same area). The
coins have been clearly separated as before, but
the square structuring element has led to
distortion of the shapes, which is some
situations could cause problems in identifying
the regions after erosion.
29Erosion-Guidelines for Use
Erosion can also be used to remove small spurious
bright spots (salt noise ) in images. We can
also use erosion for edge detection by taking the
erosion of an image and then subtracting it away
from the original image, thus highlighting just
those pixels at the edges of objects that were
removed by the erosion. Finally, erosion is also
used as the basis for many other mathematical
morphology operators.
30Dilation
The basic effect of the operator on a binary
image is to gradually enlarge the boundaries of
regions of foreground pixels (i.e. white pixels,
typically). Thus areas of foreground pixels grow
in size while holes within those regions become
smaller.
31Dilation - How It Works
The dilation operator takes two pieces of data as
inputs. The first is the image which is to be
dilated. The second is a (usually small) set of
coordinate points known as a structuring element
(also known as a kernel). It is this structuring
element that determines the precise effect of the
dilation on the input image.
- The mathematical definition of dilation for
binary images is as follows - Suppose that X is the set of Euclidean
coordinates corresponding to the input binary
image, and that K is the set of coordinates for
the structuring element. - Let Kx denote the translation of K so that its
origin is at x. - Then the dilation of X by K is simply the set of
all points x such that the intersection of Kx
with X is non-empty.
32Dilation - How It Works
To compute the dilation of a binary input image
by this structuring element, we consider each of
the background pixels in the input image in turn.
For each background pixel (which we will call the
input pixel) we superimpose the structuring
element on top of the input image so that the
origin of the structuring element coincides with
the input pixel position. If at least one pixel
in the structuring element coincides with a
foreground pixel in the image underneath, then
the input pixel is set to the foreground value.
If all the corresponding pixels in the image are
background, however, the input pixel is left at
the background value. For our example 33
structuring element, the effect of this operation
is to set to the foreground color any background
pixels that have a neighboring foreground pixel
(assuming 8-connectedness). Such pixels must lie
at the edges of white regions, and so the
practical upshot is that foreground regions grow
(and holes inside a region shrink).
33Dilation is the dual of erosion i.e. dilating
foreground pixels is equivalent to eroding the
background pixels
34Guidelines for Use
Most implementations of this operator expect the
input image to be binary, usually with foreground
pixels at pixel value 255, and background pixels
at pixel value 0. Such an image can often be
produced from a grayscale image using
thresholding. It is important to check that the
polarity of the input image is set up correctly
for the dilation implementation being used.
A larger structuring element produces a more
extreme dilation effect, although usually very
similar effects can be achieved by repeated
dilations using a smaller but similarly shaped
structuring element. With larger structuring
elements, it is quite common to use an
approximately disk shaped structuring element, as
opposed to a square one.
35Guidelines for Use
This image was produced by two dilation passes
using a disk shaped structuring element of 11
pixels radius. Note that the corners have been
rounded off. In general, when dilating by a disk
shaped structuring element, convex boundaries
will become rounded, and concave boundaries will
be preserved as they are.
36Guidelines for Use
There are many specialist uses for dilation. For
instance it can be used to fill in small spurious
holes (pepper noise') in images
The image shows the result of dilating this image
with a 33 square structuring element. Note that
although the noise has been effectively removed,
the image has been degraded significantly.
37Guidelines for Use
Dilation can also be used for edge detection by
taking the dilation of an image and then
subtracting away the original image, thus
highlighting just those new pixels at the edges
of objects that were added by the dilation. For
example, starting with
38Effect of Dilation and Erosion
- Original Binary Image Black
- Structure Element Red
- Resultant Image White
b)Erosion
a)Dilation
B) We must imagine that we are sliding the
structuring element around the boundary on the
inside of the object
39The simples dilation and erosion algorithms for
binary images
The processing of boundary pixels instead of
object pixels means that, computational
complexity can be reduced from O(N2) to O(N) for
an N x N image. A number of "fast" algorithms can
be found in the literature that are based on this
result . The simplest dilation and erosion
algorithms are frequently described as follows.
Dilation - Take each binary object pixel (with
value "1") and set all background pixels (with
value "0") that are C-connected to that object
pixel to the value "1". Erosion - Take each
binary object pixel (with value "1") that is
C-connected to a background pixel and set the
object pixel value to "0".
40The simples dilation and erosion algorithms for
binary images
Comparison of these two procedures to eq. where B
NC4 or NC8 shows that they are equivalent to
the formal definitions for dilation and erosion.
The procedure is illustrated for dilation in next
Figure .
(a) B N4 (b) B N8
Figure Illustration of dilation. Original
object pixels are in gray pixels added through
dilation are in black
Thus, dilation and erosion on binary images can
be viewed as a form of convolution over a Boolean
algebra.
41More examples
Finally, dilation is also used as the basis for
many other mathematical morphology operators,
often in combination with some logical operators.
A simple example is region filling which is
illustrated using the image
This image and all the following results were
zoomed with a factor of 16 for a better display,
i.e. each pixel during the processing corresponds
to a 1616 pixel square in the displayed images.
Region filling applies logical NOT, logical AND
and dilation iteratively. The process can be
described by the following formula
where Xk is the region which after convergence
fills the boundary, J is the structuring element
and Anot is the negative of the boundary. This
combination of the dilation operator and a
logical operator is also known as conditional
dilation.
42More examples
Imagine that we know Xo , i.e. one pixel which
lies inside the region shown in the above image,
e.g.
First, we dilate the image containing the single
pixel using a structuring element resulting in
To prevent the growing region from crossing the
boundary, we AND it with
which is the negative of the boundary. Dilating
the resulting image,
43More examples
Repeating these two steps until convergence,
yields
and finally
ORing this image with the initial boundary yields
the final result, as can be seen in
44Opening
The basic effect of an opening is somewhat like
erosion in that it tends to remove some of the
foreground (bright) pixels from the edges of
regions of foreground pixels. However it is less
destructive than erosion in general. As with
other morphological operators, the exact
operation is determined by a structuring element.
The effect of the operator is to preserve
foreground regions that have a similar shape to
this structuring element, or that can completely
contain the structuring element, while
eliminating all other regions of foreground
pixels.
45Opening - How It Works
Very simply, an opening is defined as an erosion
followed by a dilation using the same structuring
element for both operations. The opening operator
therefore requires two inputs an image to be
opened, and a structuring element.
Opening -
Opening is the dual of closing, i.e. opening the
foreground pixels with a particular structuring
element is equivalent to closing the background
pixels with the same element
Closing -
46Opening and Closing - Properties
Duality -
Translation -
For the opening with structuring element B and
images A, A1, and A2, where A1 is a subimage of
A2 (A1 A2)
Antiextensivity -
Increasing monotonicity -
Idempotence -
47Opening and Closing - Properties
For the closing with structuring element B and
images A, A1, and A2, where A1 is a subimage of
A2 (A1 A2)
Extensivity -
Increasing monotonicity -
Idempotence -
Idempotence Some operators have the special
property that applying them more than once to the
same image produces no further change after the
first application. Such operators are said to be
idempotent. Examples include the morphological
operators opening and closing.
48Opening - Guidelines for Use
While erosion can be used to eliminate small
clumps of undesirable foreground pixels, e.g.
salt noise', quite effectively, it has the big
disadvantage that it will affect all regions of
foreground pixels indiscriminately. Opening gets
around this by performing both an erosion and a
dilation on the image. The effect of opening can
be quite easily visualized. Imagine taking the
structuring element and sliding it around inside
each foreground region, without changing its
orientation. All pixels which can be covered by
the structuring element with the structuring
element being entirely within the foreground
region will be preserved. However, all foreground
pixels which cannot be reached by the structuring
element without parts of it moving out of the
foreground region will be eroded away. After the
opening has been carried out, the new boundaries
of foreground regions will all be such that the
structuring element fits inside them, and so
further openings with the same element have no
effect. The property is known as idempotence.
49Opening - Guidelines for Use
Figure Effect of opening using a 33 square
structuring element
As with erosion and dilation, it is very common
to use this 33 structuring element. The effect
in the above figure is rather subtle since the
structuring element is quite compact and so it
fits into the foreground boundaries quite well
even before the opening operation To increase the
effect, multiple erosions are often performed
with this element followed by the same number of
dilations. This effectively performs an opening
with a larger square structuring element.
50Opening - Guidelines for Use
A binary image containing a mixture of circles
and lines. Suppose that we want to separate out
the circles from the lines, so that they can be
counted. Opening with a disk shaped structuring
element 11 pixels in diameter gives
Some of the circles are slightly distorted, but
in general, the lines have been almost completely
removed while the circles remain almost
completely unaffected.
51Opening - Guidelines for Use
Suppose that this time we wish to separately
extract the horizontal and vertical lines.
The result of an opening with a 39 vertically
oriented structuring element is shown in
The image shows what happens if we use a 93
horizontally oriented structuring element
instead. Note that there are a few glitches in
this last image where the diagonal lines cross
vertical lines.
52Opening - Guidelines for Use
As we have seen, opening can be very useful for
separating out particularly shaped objects from
the background, but it is far from being a
universal 2-D object recognizer/segmenter. For
instance if we try and use a long thin
structuring element to locate, say, pencils in
our image, any one such element will only find
pencils at a particular orientation. If it is
necessary to find pencils at other orientations
then differently oriented elements must be used
to look for each desired orientation. It is also
necessary to be very careful that the structuring
element chosen does not eliminate too many
desirable objects, or retain too many undesirable
ones, and sometimes this can be a delicate or
even impossible balance.
53Opening - Guidelines for Use
The image contains two kinds of cell small,
black ones and larger, gray ones. Thresholding
the image at a value of 210 yields
We want to retain only the large cells in the
image, while removing the small ones. This can be
done with straightforward opening. Using a 11
pixel circular structuring element yields
54Closing
Closing is similar in some ways to dilation in
that it tends to enlarge the boundaries of
foreground (bright) regions in an image (and
shrink background color holes in such regions),
but it is less destructive of the original
boundary shape. As with other morphological
operators, the exact operation is determined by a
structuring element. The effect of the operator
is to preserve background regions that have a
similar shape to this structuring element, or
that can completely contain the structuring
element, while eliminating all other regions of
background pixels.
55Closing -How It Works
Closing is opening performed in reverse. It is
defined simply as a dilation followed by an
erosion using the same structuring element for
both operations..The closing operator therefore
requires two inputs an image to be closed and a
structuring element.
Closing -
56 Closing - Guidelines for Use
One of the uses of dilation is to fill in small
background color holes in images, e.g. pepper
noise'. One of the problems with doing this,
however, is that the dilation will also distort
all regions of pixels indiscriminately. By
performing an erosion on the image after the
dilation, i.e. a closing, we reduce some of this
effect. The effect of closing can be quite easily
visualized. Imagine taking the structuring
element and sliding it around outside each
foreground region, without changing its
orientation. For any background boundary point,
if the structuring element can be made to touch
that point, without any part of the element being
inside a foreground region, then that point
remains background. If this is not possible, then
the pixel is set to foreground. After the closing
has been carried out the background region will
be such that the structuring element can be made
to cover any point in the background without any
part of it also covering a foreground point, and
so further closings will have no effect. This
property is known as idempotence
57 Closing - Guidelines for Use
Figure Effect of closing using a 33 square
structuring element
58 Closing - Guidelines for Use
An image containing large holes and small holes.
If it is desired to remove the small holes while
retaining the large holes, then we can simply
perform a closing with a disk-shaped structuring
element with a diameter larger than the smaller
holes, but smaller than the large holes.
The image is the result of a closing with a 22
pixel diameter disk.
59Links
Image Processing Fundamentals - Morphology-based
Operations http//www.mmorph.com/resources.html ht
tp//cmm.ensmp.fr/beucher/wtshed.html http//www.
cwi.nl/projects/morphology/ http//www.ph.tn.tudel
ft.nl/Courses/FIP/noframes/fip-Morpholo.html http
//www.mathworks.com/access/helpdesk/help/toolbox/i
mages/images.shtml http//www-dsv.cea.fr/thema/shf
j/web/demo_extraction/english/cerveau.htm