Mathematical Morphology Lecture 14 Course book reading: GW 9.1-4 Lucia Ballerini Digital Image...

Preview:

Citation preview

Mathematical Morphology

Lecture 14

Course book reading: GW 9.1-4Course book reading: GW 9.1-4

Lucia Ballerini

Digital Image Processing

Mathematical MorphologyMathematical Morphology

mathematical framework used for: • pre-processing

• noise filtering, shape simplification, ...• enhancing object structure

• skeletonization, convex hull...• segmentation

•watershed,…• quantitative description

• area, perimeter, ...

Set theory Set theory

A is a set in Z2

a=(a1,a2) is an element in A: aA

a=(a1,a2) is not an element in A: aA

empty set:

set specified using { }, e.g., C={w|w=-d, for dD}

every element in A is also in B (subset): AB

Set theory Set theory

union of A and B: C=AB={c|cA or cB}

intersection of A and B: C=AB={c|cA and cB}

disjoint/mutually exclusive: AB=

AB

AB

Set theory Set theory

complement of A: AC={w|wA}

difference of A and B: A-B={w|wA,wB}=ABC

AC

A-B

Set theory Set theory

reflection of A: Â={w|w=-a, for aA}

translation of A by a point z=(z1,z2): (A)z={c|c=a+c, for aA}

Â

(A)z

Logical operationsLogical operations

►pixelwise combination of imagespixelwise combination of images►AND, OR, NOTAND, OR, NOT

pp qq p AND qp AND q

(p(pq, pq, pq)q)p OR qp OR q

(p+q, p(p+q, pq)q)NOT pNOT p

((pp,,p)p)

00 00 00 00 11

00 11 00 11 11

11 00 00 11 00

11 11 11 11 00

A B

NOT A A AND B

A OR B A XOR B

Structuring element (SE)Structuring element (SE)

►small set to probe the image under studysmall set to probe the image under study►for each SE, define origofor each SE, define origo

SE in point p: origo coincides with pSE in point p: origo coincides with p

►shape and size must be adapted to shape and size must be adapted to geometric properties for the objectsgeometric properties for the objects

Basic ideaBasic idea

► in parallel for each pixel in binary image: in parallel for each pixel in binary image: check if SE is ”satisfied”check if SE is ”satisfied” output pixel is set to 0 or 1 depending on output pixel is set to 0 or 1 depending on

used operationused operation

pixels in output image if check is:

SE fits

How to describe SEHow to describe SEmany different ways!

information needed:• position of origo for SE• positions of elements belonging to SE

line segment

pair of points(separated by one pixel)

line segment(origo is not in SE)

origo

line segment(origo is not in SE)

Basic morphological operationsBasic morphological operations

►erosion erosion

►dilation dilation

►combine tocombine to openingopening closeningclosening

keep general shape but smooth with respect to• object• background

ErosionErosion

•Does the structuring element fit the set?

shrink the object

erosion of a set A by structuring element B:all z in A such that B is in A when origin of B=z

ABzBA z |

ErosionErosion

SE=

ErosionErosion

SE=

DilationDilation

•Does the structuring element hit the set?

grow the object

dilation of a set A by structuring element B:all z in A such that B hits A when origin of B=z

0ˆ| ABzBA z

DilationDilation

SE=

DilationDilation

SE=

notationnotation

BB

if SE is symmetric with respect to its origin

(almost) only symmetric SEs in GW!!

BABA CC ˆ

DualityDuality

erosion and dilation are dual with respect to complementation and

reflection

note! the operations are not self dual

A A⊖B (A⊖B)C

AC AC⊕B

BB ˆ

usefuluseful

►erosionerosion removal of structures of certain shape and removal of structures of certain shape and

size, given by SEsize, given by SE

►dilationdilation filling of holes of certain shape and size, filling of holes of certain shape and size,

given by SEgiven by SE

Combining erosion and dilationCombining erosion and dilation

WANTED:remove structures / fill holes without affecting remaining parts

SOLUTION:combine erosion and dilation (using same SE)

input:squares of size 1x1, 3x3, 5x5, 7x7, 9x9, and 15x15 pixels

erosion:SE=square of size 13x13

dilation:SE=square of size 13x13

OpeningOpening

erosion followed by dilation, denoted ∘

• eliminates protrusions• breaks necks• smoothes contour

BBABA

OpeningOpening B=

A A⊖B A∘B

OpeningOpening B=

A A⊖B A∘B

Opening: roll ball(=SE) inside objectOpening: roll ball(=SE) inside object

ABBBA zz |

see B as a ”rolling ball”

boundary of A∘B = points in B that reaches farthest into A when B is rolled inside A

ClosingClosing

dilation followed by erosion, denoted

• smooth contour• fuse narrow breaks and long thin gulfs• eliminate small holes• fill gaps in the contour

BBABA

ClosingClosing B=

A A⊕B A B

ClosingClosing B=

A A⊕B A B

Closing: roll ball(=SE) outside objectClosing: roll ball(=SE) outside object

0,| ABBwwBA zz

see B as a ”rolling ball”

boundary of AB = points in B that reaches farthest into A when B is rolled outside A

PropertiesProperties

►openingopening A∘B subset/image of AA∘B subset/image of A CCD D C∘B C∘B D∘B D∘B (A∘B)∘B= A∘B(A∘B)∘B= A∘B

►closingclosing A subset/image of AA subset/image of ABB CCD D C CB B D DBB (A(AB)B)B= AB= ABB

Note: idempotent repeated openings/closings has no effect!

DualityDuality

opening and closing are dual with respect to complementation and

reflection

BABA CC ˆ

A A∘B (A∘B)C

ACBAC

BB ˆ

Uselful: open & closeUselful: open & close

A

opening of Aremoval of small protrusions,

thin connections, …

closing of A removal of holes

Application:Application:filteringfiltering

1. erodeA⊖B

2. dilate(A⊖B)B= A∘B

4. erode((A∘B)B)⊖B=(A∘B)B

3. dilate(A∘B)B

Hit-or-Miss Transformation Hit-or-Miss Transformation ⊛ ⊛ (HMT)(HMT)

find location of one shape among a set of shapes

”template matching”

composite SE: object part (B1) and background part (B2)

does B1 fits the object while, simultaneously,

B2 misses the object, i.e., fits the background?

A=XY ZY

X

Z

W W-X

A⊖X

AC⊖(W-X)

A⊛X=(A⊖B1)(Ac⊖B2)

Hit-or-Miss Transformation Hit-or-Miss Transformation ⊛ ⊛ (HMT)(HMT)

find location of one shape among a set of shapes

W W-X

B=(B1,B2)B1=XB2=W-X

21 BABABA C

XWAXABA C

21 B̂ABABA

use HMTuse HMT

endpoints

isolated pointsB1 B2

B1

B2 B2 B2B2

Recommended