MSC DIP 5th 6th Lecture
MSC DIP 5th 6th Lecture
Morphological Processing
1
Remember?
2
Morphological Processing
Shape and
Size
Structuring Element
Shape
1) Square
Structuring Element
2) Diamond
Structuring Element
3) Disk
Structuring Element
4) Cross
Structuring Element
5) Rectangle
Structuring Element
6) Irregular
Morphological Operation
Characteristics of Erosion
Characteristics of Erosion
Characteristics of Dilation
Characteristics of Dilation
Rules to follow:
1) Fully match 1
2) Some match 0
3) No match 0
Let’s solve this for Erosion using 3 x 3 square Structuring element
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
1 1 1
0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0
1 1 1
0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0
0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0
0 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Red 0’s are used as zero padding
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
001111 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
001111 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000111 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
001111 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
001111 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
001111 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
001111 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
001111 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000110 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000001 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000000 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000011 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000000 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000000 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000000 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000001 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000011 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000000 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000001 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000000 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000001 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000000 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000001 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000000 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Red 0’s are used as zero padding
0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 00 0 0
000010 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 00 0 0
000110 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 11 0 0
000000 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 11 0 0
000000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 11 0 0
000000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 0 0
000000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0
000000 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 00 0 0
000000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 00 0 0
000000 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 00 0 0
000001 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000000 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 00 0 0
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
Erosion
Let’s check the result
000000 0 0 0 0 0 0 0 0 0 0
000000 0 0 0 0 0 0 0 0 0 0
000000 0 0 0 0 0 0 0 0 0 0
000010 0 0 0 0 0 0 0 0 0 0
000110 0 0 0 0 0 0 0 0 0 0
000000 0 0 0 0 0 0 1 0 0 0
000000 0 0 0 0 0 1 0 0 0 0
000000 0 0 0 0 1 0 0 0 0 0
000000 0 0 0 1 0 0 0 0 0 0
000000 0 0 1 0 0 0 0 0 0 0
000000 0 1 0 0 0 0 0 0 0 0
000000 1 1 0 0 0 0 0 0 0 0
000001 1 1 0 0 0 0 0 0 0 0
000000 1 1 1 1 0 0 0 0 0 0
000000 0 0 0 0 0 0 0 0 0 0
000000 0 0 0 0 0 0 0 0 0 0
Erosion
0 0 0 0 0 0
1
0 0 1 1 0 0
1
0 1 1 1 1 0
1
0 0 1 1 0 0
Structuring Element
0 0 0 0 0 0
Test Image
Erosion
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Erosion
0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 0 1 1 0 0
0 0 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Erosion
Simple and easy way to solve
Rules:
1) Use zero ( 0 ) padding for each side.
2) Place the Structuring element and get the result straightway
Using the neighbors and erosion rule.
3) Make sure you only update values for origin only.
1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 0 0 0 0 1 1 0 0
0 0 0 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Red 0’s are used as zero padding
1 1 1 000000000000000000
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 000000000000000000
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 000000000000000000
000111 0 0 0 0 0 0 0 0 0 0 000011100000000000
001111 1 0 0 0 0 0 0 0 0 0 000111110000000000
001111 1 0 0 0 0 1 1 1 0 0 000111110000111000
001111 0 0 0 0 1 1 1 1 0 0 000111100001111000
000110 0 0 0 1 1 1 1 1 0 0 000011000011111000
000000 0 0 1 1 1 1 1 0 0 0 000000000111110000
000000 0 1 1 1 1 1 0 0 0 0 000000001111100000
000000 1 1 1 1 1 0 0 0 0 0 000000011111000000
000001 1 1 1 1 0 0 0 0 0 0 000000111110000000
000011 1 1 1 0 0 0 0 0 0 0 000001111100000000
000011 1 1 1 1 1 1 0 0 0 0 000001111111100000
000011 1 1 1 1 1 1 0 0 0 0 000001111111100000
000001 1 1 1 1 1 0 0 0 0 0 000000111111000000
000000 0 0 0 0 0 0 0 0 0 0 000000000000000000
000000000000000000
Red 0’s are used as zero padding
1 1 1 000000000000000000
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 000000000000000000
000000 0 0 0 0 0 0 0 0 0 0 1 1 1 000000000000000000
000000 0 0 0 0 0 0 0 0 0 0 000011100000000000
000010 0 0 0 0 0 0 0 0 0 0 000111110000000000
000110 0 0 0 0 0 0 0 0 0 0 000111110000111000
000000 0 0 0 0 0 0 1 0 0 0 000111100001111000
000000 0 0 0 0 0 1 0 0 0 0 000011000011111000
000000 0 0 0 0 1 0 0 0 0 0 000000000111110000
000000 0 0 0 1 0 0 0 0 0 0 000000001111100000
000000 0 0 1 0 0 0 0 0 0 0 000000011111000000
000000 0 1 0 0 0 0 0 0 0 0 000000111110000000
000000 1 1 0 0 0 0 0 0 0 0 000001111100000000
000001 1 1 0 0 0 0 0 0 0 0 000001111111100000
000000 1 1 1 1 0 0 0 0 0 0 000001111111100000
000000 0 0 0 0 0 0 0 0 0 0 000000111111000000
000000 0 0 0 0 0 0 0 0 0 0 000000000000000000
000000000000000000
Erosion
1) clc,
2) close all;
3) clear all;
4)
5) I = imread('D:\matlab_folder\week_9.png');
6) figure, imshow(I);
7) SE = strel('square',5);
8)
9) J = imerode(I,SE);
10) figure, imshow(J);
Erosion
Erosion
Just change line number 7 for the previous slide and play with
different shapes of structuring element
-> SE = strel(‘diamond’,5);
OR -> SE = strel(‘disk’,5);
OR -> SE = strel(‘octagon’,5);
OR -> SE = strel(‘line’,len,deg); %len =lenth , deg = degree
OR -> SE = strel(‘rectangle’,[m n]);
OR -> SE = strel(‘cube’,5);
OR -> SE = strel('square',5);
Erosion
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('rectangle',[4 8]);
J = imerode(I,SE);
%J = imerode(J,SE);
figure, imshow(J);
Erosion
Erosion
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('rectangle',[4 4]);
J = imerode(I,SE);
J = imerode(J,SE);
figure, imshow(J);
Erosion
Erosion
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('rectangle',[4 4]);
J = imerode(I,SE);
figure, imshow(J);
K = I - J;
figure, imshow(K);
Erosion
Dilation
The dilation of an image f by a structuring
element s (denoted f s) produces a new binary
image g = f s with ones in all locations (x,y) of a
structuring element's origin at which that structuring
element s hits the input image f,
i.e. g(x,y) = 1 if s hits f
and
0 otherwise, repeating for all pixel
coordinates (x,y).
f s = f c Ɵ srot
Dilation and Erosion relation
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('square',7);
J = imdilate(I,SE);
figure, imshow(J);
Dilation and Erosion relation
Dilation and Erosion relation
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
I1 = imcomplement(I);
figure, imshow(I);
SE = strel('square',7);
J = imerode(I1,SE);
J = imcomplement(J);
figure, imshow(J);
Dilation and Erosion relation
Dilation
1) Fully match 1
2) Some match 1
3) No match 0
Let’s try this with 3 x 3 matrix for Dilation
0000000000000000
0000000000000000
0001110000000000 1 1 1
0011111000000000 1 1 1
0011111000011100 1 1 1
0011110000111100
0001100001111100
0000000011111000
1 1 1
0000000000000000
1 1 1 0000000000000000
0000000000000000 1 1 1 0000000000000000
0001110000000000 0001110000000000
0011111000000000 0011111000000000
0011111000011100 0011111000011100
0011110000111100 0011110000111100
0001100001111100 0001100001111100
0000000011111000 0000000011111000
0000000000000000
1 1 1 0000000000000000
0000000000000000
1 1 1 0011111000000000
0001110000000000
1 1 1 0001110000000000
0011111000000000 0011111000000000
0011111000011100 0011111000011100
0011110000111100 0011110000111100
0001100001111100 0001100001111100
0000000011111000 0000000011111000
0000000000000000 0000000000000000
0000000000000000
1 1 1 0011111000000000
0001110000000000 1 1 1 0111111100000000
0011111000000000 1 1 1 0011111000000000
0011111000011100 0011111000011100
0011110000111100 0011110000111100
0001100001111100 0001100001111100
0000000011111000 0000000011111000
0000000000000000 0000000000000000
0000000000000000 0011111000000000
0001110000000000
1 1 1 0111111100000000
0011111000000000
1 1 1 0111111100111100
0011111000011100
1 1 1 0011111000011100
0011110000111100 0011110000111100
0001100001111100 0001100001111100
0000000011111000 0000000011111000
0000000000000000 0000000000000000
0000000000000000 0011111000000000
0001110000000000 0111111100000000
0011111000000000 1 1 1 0111111100111100
0011111000011100 1 1 1 0111111101111110
0011110000111100 1 1 1 0011110000111100
0001100001111100 0001100001111100
0000000011111000 0000000011111000
0000000000000000 0000000000000000
0000000000000000 0011111000000000
0001110000000000 0111111100000000
0011111000000000 0111111100111100
0011111000011100 1 1 1 0111111101111110
0011110000111100 1 1 1 0111111111111110
0001100001111100 1 1 1 0001100001111100
0000000011111000 0000000011111000
0000000000000000 0000000000000000
0000000000000000 0011111000000000
0001110000000000 0111111100000000
0011111000000000 0111111100111100
0011111000011100 0111111101111110
0011110000111100 1 1 1 0111111111111110
0001100001111100 1 1 1 0111111111111110
0000000011111000 1 1 1 0000000011111000
0000000000000000 0000000000000000
0000000000000000 0011111000000000
0001110000000000 0111111100000000
0011111000000000 0111111100111110
0011111000011100 0111111101111110
0011110000111100 0111111111111110
0001100001111100 1 1 1 0111111111111110
0000000011111000 1 1 1 0011110111111110
1 1 1
0000000000000000 0000000000000000
0000000000000000 0011111000000000
0001110000000000 0111111100000000
0011111000000000 0111111100111110
0011111000011100 0111111101111110
0011110000111100 0111111111111110
0001100001111100 0111111111111110
0000000011111000 0011110111111110
Dilation
0 0 0 0 0 0
1
0 0 1 1 0 0
1
0 1 1 1 1 0
1
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 1 1 1 1 0
0 1 1 1 1 0
0 0 1 1 0 0
Dilation
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 1 0
0 1 1 1 1 0
0 1 1 1 1 0
0 1 1 1 1 0
Dilation
0 0 0 0 0 0 0 0 1 1 0 0
0 0 1 1 0 0 0 1 1 1 1 0
0 1 1 1 1 0 0 1 1 1 1 0
0 0 1 1 0 0 0 1 1 1 1 0
0 0 0 0 0 0 0 0 1 1 0 0
Dilation
Simple and easy way to solve
Rules:
1) Use zero ( 0 ) padding for each side.
2) Place the Structuring element and get the result straightway
Using the neighbors and dilation rule.
3) Make sure you only update values for origin only.
1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 1 1 0 0
0 0 1 1 1 1 0 0 0 1 1 1 1 0
0 0 0 1 1 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 1 1 000000000000000000
0000000000000000 1 1 1 000000000000000000
0011111000000000 1 1 1 000000000000000000
0111111100000000 000011100000000000
0111111100111110 000111110000000000
0111111101111110 000111110000111000
0111111111111110 000111100001111000
0111111111111110 000011000011111000
0011110111111110 000000000111110000
000000000000000000
0000000000000000
0011111000000000
0111111100000000
0111111100111110
0111111101111110 1 1 1 000000000000000000
0111111111111110 1 1 1 000000000000000000
1 1 1 000000000000000000
0111111111111110
0011110111111110 000011100000000000
000111110000000000
0000000000000000 000111110000111000
0011111000000000 000111100001111000
0111111100000000 000011000011111000
0111111100111110 000000000111110000
0111111101111110 000000000000000000
0111111111111110
0111111111111110
0011110111111110
Morphological Opening
f s = ( f s) s
Morphological Opening
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('square',5);
J = imopen(I,SE);
figure, imshow(J);
Morphological Opening
Morphological Opening
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('square',5);
J = imerode(I,SE);
J = imdilate(J,SE);
figure, imshow(J);
Morphological Opening
Morphological Closing
f • s = ( f srot) srot
Morphological Closing
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('square',5);
J = imclose(I,SE);
figure, imshow(J);
Morphological Closing
Morphological Closing
clc,
%close all;
clear all;
I = imread('D:\matlab_folder\2.jpg');
figure, imshow(I);
SE = strel('square',11);
J= imdilate(I,SE);
J = imerode(J,SE);
figure, imshow(J);
Morphological Closing
Morphological Filtering
1) Top-hat filtering
2) Bottom-hat filtering
Morphological Filtering
Top-hat filtering:
clc,
close all;
clear all;
I = imread('D:\matlab_folder\Dip1.png');
figure, imshow(I);
SE = strel('square',11);
J = imtophat(I,SE);
figure, imshow(J);
Morphological Filtering
Morphological Filtering
Bottom-hat filtering:
clc,
close all;
clear all;
I = imread('D:\matlab_folder\Dip1.png');
figure, imshow(I);
SE = strel('square',5);
J = imbothat(I,SE);
figure, imshow(J);
Morphological Filtering
Thanks !!!