Dilation
CIS 467 Prof. Li Shen Oxana Lapteva
Description Basic operator in the area of mathematical morphology Binary images Gradually enlarge the boundaries of regions of foreground pixels
How it works Two pieces of data as input: ¾ image to be dilated ¾ structuring element (a kernel)
How it works contd. A ⊕ B - the dilation of an image A by structuring element B
) A ⊕ B = {z | ( B) z ∩ A ≠ φ} ) A ⊕ B = {z | [(B) z ∩ A] ⊆ A} ¾ Obtaining the reflection of B about its origin ¾ Shifting the reflection by z
How it works contd. 0100 0110
0110
11
0111
1000
1100
0000
0000
Structuring element Consists of a pattern specified as the coordinates of a number of discrete points relative to some origin Origin does not have to be in the center of the structuring element, but often is May have to be supplied as a small binary image, or in a special matrix format, or it may simply be hardwired into the implementation
Structuring Element
Binary Image Dilation Original binary image
Dilated binary image
Binary Image Dilation Original binary image
Dilated binary image
Effect of Structuring Element 3×3 square structuring element
Grayscale Image Dilation A convolution-like operation Tends to grow the white regions of an image The resulting image tends to be brighter.
Grayscale Image Dilation
The maximum value inside the structuring element is then set as the output.
Implementation Pepper noise Edge detection Mathematical morphology operators (logical operators)
Binary Image Result of dilation process using kernel 5
Result of dilation process using kernel 3
Matlab: imdilate(im,se) Original image
50
50
100
100
150
150
200
200
50 250
250 50
100
150
50
200
100
150
200
100 Result of dilation process using kernel 7
Result of dilation process using kernel 9
150 50
50
100
100
150
150
200
200
250
250
200
250 50
100
150
200
50
100
150
200
50
100
150
200
Pepper Noise Dilate
se = strel('line',5,5);
Pepper Noise 11x11 square
45 deg line len 10
Disk, radius 3
Ball, radius 15, height 5
Matlab se1 = strel('square',11); se2 = strel('line',10,45); se3 = strel('disk',3); se4 = strel('ball',15,5); Idilate1 = imdilate(I,se1); Idilate2 = imdilate(I,se2); Idilate3 = imdilate(I,se3); Idilate4 = imdilate(I,se4);
Edge Detection Dilation using 3×3 square structuring element Subtract away the original image to leave just the edge of the object
References Gonzalez and Woods, Digital Image Processing 2nd Edition, Prentice Hall 2002 http://www.bath.ac.uk/eleceng/pages/sipg/research/morphology/morpho logy.htm http://www.cee.hw.ac.uk/hipr/html/dilate.html John C. Russ, The Image Processing 4th Edition. Handbook