Morphological Image Processing I Lecture 07 Milan Gavrilovic [email protected]Centre for Image Analysis Uppsala University Computer Assisted Image Analysis 2009-04-20 M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 1 / 39
39
Embed
Morphological Image Processing I - Uppsala University...Morphological Image Processing I Lecture 07 Milan Gavrilovic [email protected] Centre for Image Analysis Uppsala University Computer
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 4 / 39
Some set theory
A is a set in Z2.If a = (a1, a2) is an element in A: a ∈ A.If a = (a1, a2) is not an element in A: a 6∈ A.Empty set: ∅.Set specified using { }, e.g.,C = {w|w = −d, ∀ d ∈ D}.Every element in A is also in B (subset): A ⊆ B.Union of A and B:C = A ∪ B = {c|c ∈ A or c ∈ B}.Intersection of A and B:C = A ∩ B = {c|c ∈ A and c ∈ B}.Disjoint/mutually exclusive: A ∩ B = ∅.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 5 / 39
Some more set theory
Complement of A: AC = {w|w 6∈ A}.Difference of A and B:A− B = {w|w ∈ A, w 6∈ B} = A ∩ BC.Reflection of A: A = {w|w = −a, ∀ a ∈ A}.Translation of A by a point z = (z1, z2):(A)Z = {c|c = a + z, ∀ a ∈ A}.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 6 / 39
Logical operationsPixel-wise combination of images (AND, OR, NOT, XOR)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 7 / 39
Structuring element (SE)
Small set to probe the image under study.For each SE, define an origin:
I SE in point p; origin coincides with p.
Shape and size must be adapted to geometric properties for theobjects.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 8 / 39
Basic idea
In parallel for each pixel in binary image:Check if SE is satisfied.Output pixel is set to 0 or 1 depending on used operation.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 9 / 39
How to describe the SEPossible in many different ways!Information needed:
Position of origin for SE.Position of elements belonging to SE.
N.b.Matlab assumes it’s centre element to be the origin!
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 10 / 39
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 11 / 39
Erosion (shrinking)
Does the structuring element fit the set?
Erosion of a set X by structuring element B, εB(X) : all x in X such thatB is in X when origin of B = x.
εB(X) = {x|Bx ⊆ X}.
Gonzalez-Woods:X B = {x|(B)x ⊆ X}.
Shrink the object.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 12 / 39
Example: erosion (fill in!)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 13 / 39
⊕ Dilation (growing)
Does the structuring element hit the set?
Dilation of a set X by structuring element B, δB(X) : all x in X such thatthe reflection of B hits X when origin of B = x.
δB(X) = {x|(B)x ∩ X 6∈ ∅}.
Gonzalez-Woods:X ⊕ B = {x|(B)x ∩ X 6∈ ∅}.
Grow the object.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 14 / 39
Example: dilation (fill in!)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 15 / 39
Different SE give different results
Set A.Square structuringelement (dot is thecentre).Dilation of A by B,shown shaded.Elongated structuringelement (dot is thecentre).Dilation of A using thiselement.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 16 / 39
Duality
Erosion and dilation are dual with respect to complementation andreflection,
(A B)C = AC ⊕ B.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 17 / 39
Examples
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 18 / 39
UsefulErosionRemoval of structures of certain shape and size, given by SE(structure element).
Example 3× 3 SE
DilationFilling of holes of certain shape and size, given by SE.
Example 3× 3 SEM. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 19 / 39
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 23 / 39
Example opening (fill in!)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 24 / 39
Opening: roll ball (=SE) inside objectSee B as a “rolling ball”
Boundary of A • B are equal to points in B that reaches closest to theboundary A when B is rolled inside A.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 25 / 39
• Closing
Dilation followed by erosion, denoted •.
A • B = (A⊕ B) B
Smooth contour.Fuse narrow breaks and long thin gulfs.Eliminate small holes.Fill gaps in the contour.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 26 / 39
Example closing (fill in!)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 27 / 39
Closing: roll ball (=SE) outside object(Fill in border after closing with ball as SE!)
Boundary of A ◦ B are equal to points in B that reaches closest to theboundary of A when B is rolled outside A.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 28 / 39
⊗ hit-or-miss transformation (⊗ or HMT)
Find location of one shape among a set of shapes (“templatematching”).
A⊗ B = (A B1) ∩ (AC B2)
Composite SE: Object part (B1) and background (B2).
Does B1 fit the object while, simultaneously, B2 misses the object, i.e.,fit the background.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 29 / 39
Hit-or-miss transformation (⊗ or HMT)
Find location of one shape among a set of shapes.
A⊗ B = (A X) ∩(AC (W − X)
)
Alternative:A⊗ B = (A B1) ∩ (AC B2)
= (A B1) ∩ (A⊕ B2)C
= (A B1)− (A⊕ B2)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 30 / 39
Example hit-or-miss transform (fill in!)
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 31 / 39
Basic morphological algorithms
Use erosion, dilation, opening, closing, hit-or-miss transform for
Boundary extraction.Region filling.Extraction of connected components (labeling).Defining the convex hull.Defining the skeleton.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 32 / 39
Boundary extractionby erosion and set difference (boundary of A = β(A))
Extract theboundary of:
β(A) =A− (A B).
8-connected boundaryβ(A) = pixels with edge
neighbour in AC.
4-connected boundaryβ(A) = pixels with edge or
point neighbour in AC.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 33 / 39
Region filling
Fill a region A given its boundary β(A).x = X0 is known and inside β(A).
Xk = (Xk−1 ⊕ B) ∩ AC, k = 1, 2, 3, ...
Continue until Xk = Xk−1.Filled region A ∪ Xk.
Use to fill holes! Conditional dilation!
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 34 / 39
Example of region filling
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 35 / 39
Compare with removing holes using two-pass labelingalgorithmSee segmentation lecture
Connected component labelingLabel the inverse image.Remove connected components touching the image border.Output = holes + original image.
→ 2 scans + 1 scan (straight forward...)
Mathematical morphologyIterate: dilation, set intersection
→ Dependent on size and shape of the hole needed: initialization!
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 36 / 39
Convex hull
Region R is convex ifI For any points x1, x2 ∈ R, straight line between x1 and x2 is in R.
Convex hull H of a region RI Smallest convex set containing R.
Convex deficiency D = H − R.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 37 / 39
Convex hull - alternative approachby Gunilla Borgefors, CBA
Count the number of neighbours ofa pixel, if more than three, mark thepixel! Repeat until none of thepixels has more than threeneighbours.Homework - fill in!
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 38 / 39
Reading InstructionsChapters for tomorrows lecture
Chapter 9.5.7, and 9.6 in Gonzales-Woods.
M. Gavrilovic (Uppsala University) L07 Morphological Image Processing I 2009-04-20 39 / 39