Uploaded by malll almal

4 14755 CS213 20172018 1 2 1 Lecture 5

advertisement
Digital Image Processing
Lecture 5
Morphological Image Processing
Remember
GRAY LEVEL THRESHOLDING
Objects
Set threshold
here
BINARY IMAGE
Problem here
How do we fill “missing pixels”?
Mathematic Morphology
mathematical framework used for:
• pre-processing
– noise filtering, shape simplification, ...
• enhancing object structure
– skeletonization, convex hull...
• Segmentation
– watershed,…
• quantitative description
– area, perimeter, ...
4
Z2 and Z3
• set in mathematic morphology represent
objects in an image
– binary image (0 = white, 1 = black) : the element
of the set is the coordinates (x,y) of pixel belong to
the object  Z2
• gray-scaled image : the element of the set is the
coordinates (x,y) of pixel belong to the object and
the gray levels  Z3
5
Basic Set Theory
6
Reflection and Translation
Bˆ  {w | w  b, for b  B}
( A) z  {c | c  a  z, for a  A}
7
Example
8
Structuring element (SE)
 small set to probe the image under study
 for each SE, define origo
 shape and size must be adapted to geometric
properties for the objects
9
Examples: Structuring Elements
origin
10
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
11
Example
Origin of B visits every
element of A
At each location of the origin of
B, if B is completely contained in
A, then the location is a member
of the new set, otherwise it is not
a member of the new set.
12
Basic morphological operations
• Erosion
• Dilation
• combine to
– Opening
– Closening
keep general shape but
smooth with respect to
object
background
13
Erosion
• Does the structuring element fit the set?
erosion of a set A by structuring element B: all z
in A such that B is in A when origin of B=z
shrink the object
14
Erosion
15
Erosion
16
Erosion
17
Erosion
A  B  {z|(B)z  A}
18
Dilation
• Does the structuring element hit the set?
• the dilation of A by B can be understood as the
locus of the points covered by B when the
center of B moves inside A.
A  B  {z|( Bˆ )z  A  Φ}
• grow the object
19
Dilation
20
Dilation
21
Dilation
22
Dilation
B = structuring element
A  B  {z|( Bˆ )z  A  Φ}
23
Dilation : Bridging gaps
24
25
26
27
28
useful
• erosion
– removal of structures of certain shape and size,
given by SE
• Dilation
– filling of holes of certain shape and size, given by
SE
29
Combining erosion and dilation
• WANTED:
– remove structures / fill holes
– without affecting remaining parts
• SOLUTION:
• combine erosion and dilation
• (using same SE)
30
Erosion : eliminating irrelevant detail
structuring element B = 13x13 pixels of gray level 1
31
Opening
erosion followed by dilation, denoted ∘
A  B  ( A  B)  B
• eliminates protrusions
• breaks necks
• smoothes contour
32
Opening
33
Opening
34
Opening
A  B  ( A  B)  B
A  B  {( B) z | ( B) z  A}
35
Opening example
Opening with a 11 pixel diameter disc:
3x9 and 9x3 Structuring Element
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
37
Closing
38
Closing
39
Closing
A  B  ( A  B)  B
40
Another closing example
Closing operation with a 22 pixel disc, closes small holes in
the foreground.
And another…
Threshold, closing with disc of size 20.
Note that 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.
Properties
Opening
(i) AB is a subset (subimage) of A
(ii) If C is a subset of D, then C B is a subset of D B
(iii) (A B) B = A B
Closing
(i) A is a subset (subimage) of AB
(ii) If C is a subset of D, then C B is a subset of D B
(iii) (A B) B = A B
Note: repeated openings/closings has no effect!
43
46
Useful: open & close
47
APPLICATIONS
48
Application: filtering
49
Hit-and-miss transform *
 Used to look for particular patterns of foreground and
background pixels
 Very simple object recognition
 Example for a Hit-and-miss Structuring Element: Contains
0s, 1s and don’t care’s.
 Similar to Pattern Matching:
 If foreground and background pixels in the structuring
element exactly match foreground and background pixels
in the image, then the pixel underneath the origin of the
structuring element is set to the foreground colour.
Hit-and-miss example: corner detection
 Structuring Elements representing four corners.
 Apply each Structuring Element.
 Use OR operation to combine the four results.
Boundary Extraction
 ( A)  A  ( A  B)
52
Example
53
Region Filling
X k  ( X k 1  B)  A
c
k  1,2,3,...
54
Region Filling Algorithm
55
Example
56
Thinning
A  B  A  ( A  B)
 A  ( A  B)
c
57
Thickening
•The thickening operation is calculated by translating the origin of the structuring element to each possible pixel
position in the image, and at each such position comparing it with the underlying image pixels. If the foreground
and background pixels in the structuring element exactly match foreground and background pixels in the image,
then the image pixel underneath the origin of the structuring element is set to foreground (one). Otherwise it is left
unchanged. Note that the structuring element must always have a zero or a blank at its origin if it is to have any
effect.
A  B  A  ( A  B)
Alternatively,
based on
Thining
58
Download