0% found this document useful (0 votes)
87 views30 pages

Lecture11 PDF

This document discusses morphological operations that can be performed on binary and grayscale images using structuring elements. It describes common morphological operations like erosion, dilation, opening, and closing. It provides definitions and examples of these operations. Algorithms for performing dilation and erosion are presented. Properties of dilation and erosion like commutativity and associativity are also covered. The document discusses using morphological operations to improve image segmentations by removing noise and filling holes. It also describes how to find the outline and skeleton of objects in an image. Finally, it notes how morphological operations can be extended to grayscale images.

Uploaded by

xribene
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views30 pages

Lecture11 PDF

This document discusses morphological operations that can be performed on binary and grayscale images using structuring elements. It describes common morphological operations like erosion, dilation, opening, and closing. It provides definitions and examples of these operations. Algorithms for performing dilation and erosion are presented. Properties of dilation and erosion like commutativity and associativity are also covered. The document discusses using morphological operations to improve image segmentations by removing noise and filling holes. It also describes how to find the outline and skeleton of objects in an image. Finally, it notes how morphological operations can be extended to grayscale images.

Uploaded by

xribene
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Morphological Operators

CS/BIOEN 4640: Image Processing Basics

February 23, 2012

Common Morphological Operations

Shrinking the foreground (erosion)

Expanding the foreground (dilation)

Removing holes in the foreground (closing)

Removing stray foreground pixels in background


(opening)

Finding the outline of the foreground

Finding the skeleton of the foreground

Pixel Neighborhoods
Remember the two definitions of neighbors that weve
discussed:

4 Neighborhood

8 Neighborhood

Erosion Example

Change a foreground pixel to background if it has a


background pixel as a 4-neighbor.

Dilation Example

Change a background pixel to foreground if it has a


foreground pixel as a 4-neighbor.

Structuring Element
Definition
A structuring element is simply a binary image (or
mask) that allows us to define arbitrary neighborhood
structures.
Example:

This is the structuring element for the 4-neighborhood.

Binary Images as Sets


We can think of a binary image I(u, v) as the set of all
pixel locations in the foreground:

QI = {(u, v) | I(u, v) = 1}
To simplify notation, well use a single variable for a
coordinate pair, p = (u, v). So,

QI = {p | I(p) = 1}

Set Operations = Point Operations


I

Complement = Inversion
Let I denote image inversion (pointwise NOT)

QI = QI = {p Z2 | p
/ QI }
I

Union = OR
Let I1 I2 be pointwise OR operation

QI1 I2 = QI1 QI2


I

Intersection = AND
Let I1 I2 be pointwise AND operation

QI1 I2 = QI1 QI2

More Image Operations


(Instead of QI , well just use I to denote the set)
I

Translation: Let d Z2

Id = {(p + d) | p I}
I

Reflection:

I = {p | p I}

Dilation
Definition
A dilation of an image I by the structure element H is
given by the set operation

I H = {(p + q) | p I, q H}
Alternative definition: Take the union of copies of the
structuring element, Hp , centered at every pixel location
p in the foreground:

IH =

[
pI

Hp

Dilation Algorithm
Uses equivalent formula I H =

qH

Input: Image I , structuring element H


Output: Image I 0 = I H
1. Start with all-zero image I 0
2. Loop over all q H
3.

Compute shifted image Iq

4.

Update I 0 = I 0 Iq

Iq :

Erosion
Definition
A erosion of an image I by the structure element H is
given by the set operation

I H = {p Z2 | (p + q) I, for every q H}
Alternative definition: Keep only pixels p I such that
Hp fits inside I :

I H = {p | Hp I}

Duality of Erosion and Dilation

Erosion can be computed as a dilation of the


background:

I H = (I H )
Same duality for dilation:

I H = (I H )

Erosion Algorithm

Uses dual, I H = (I H )
Input: Image I , structuring element H
Output: Image I 0 = I H
1. Start with inversion, I 0 = I
2. Dilate I 0 with reflected structure element, H
3. Invert I 0

Properties of Dilation
Similar to convolution properties, we need to assume the
image domains are large enough that operations dont
fall off the edges.
Commutativity:

IH =HI
Means we can switch the roles of the structuring element
and the image

Properties of Dilation
Associativity:

I1 (I2 I3 ) = (I1 I2 ) I3
Means that we can sometimes break up a big structuring
element into smaller ones:
That is, if H = H1 H2 . . . Hn , then

I H = (((I H1 ) H2 ) . . . Hn )

Properties of Erosion

It is NOT commutative:

I H 6= H I
I

It is NOT associative, but:

(I H1 ) H2 = I (H1 H2 )

Some Particular Dilation Operators

Identity: id = {(0, 0)}

I id = id I = I
I

Shift by k pixels in x: Sx = {(k, 0)}

Shift by k pixels in y: Sy = {(0, k)}

Opening

Opening operation is an erosion followed by a dilation:

I H = (I H) H
Stray foreground structures that are smaller than the H
structure element will disappear. Larger structures will
remain.

Closing

Closing operation is a dilation followed by an erosion:

I H = (I H) H
Holes in the foreground that are smaller than H will be
filled.

Improving a Segmentation

Original image

Initial threshold

Improving a Segmentation

Original image

After opening

Improving a Segmentation

Original image

After closing

Outline

The outline image B(u, v) of a binary object can be


computed using a dilation followed by a subtraction (or
XOR operation):

I0 = I H
B(u, v) = XOR(I 0 (u, v), I(u, v))

Outline

Outline Example

Binary segmentation

After outline operation

Skeletonize

Repeatedly run erosion, stop when 1-pixel thick

Grayscale Morphology

We can also apply morphological operators to


grayscale images.

Now our structuring elements are real-valued


H(i, j) R. That is, they are grayscale images.

Need to make a distinction between 0 and dont


care entries.

Grayscale Morphology
Dilation:

(I H)(u, v) = max {I(u + i, v + j) + H(i, j)}


(i,j)H

Erosion:

(I H)(u, v) = min {I(u + i, v + j) + H(i, j)}


(i,j)H

Link to ImageJ Morphology Package

http://rsbweb.nih.gov/ij/plugins/
gray-morphology.html

You might also like