7.2 Image Segmentation

Dividing an image into relatively homogeneous regions or blocks.

1. Thresholding - Global operation

Multilevel thresholding

where n is the code of segments

N is the maximum grey level value

e.g.

 

I(i,j) =

2 3 5 7
1 4 6 1
2 2 3 2
1 3 3 2

when threshold T = 4, the resultant thresholded image is:

 

0 0 1 1
0 1 1 0
0 0 0 0
0 0 0 0

Normally T is determined from the histogram of an image as shown in the following example.

2. Region-growing - local operation

I0

I1

I2

I7

I

I3

I6

I5

I4

 

(1) Suppose I as a seed (starting point) is of Label K, then Ii will also belong to K, if |Ii - I| < .

where is a small tolerance number, and i = 0, 1, 2, ...., 7.

Create a mean m based on the second point that is assigned to K.


(2) If the second point is not found in the local neighbourhood, then remove the label K from the seed point I.

(3) If the second point is found, then operate (1) with the second point using m1. If a third point I is found, a new m2 will be generated based on m1 an Ij.

(4) Gradually growing a local area by using the criterion in (1). If an nth point is found, the mn-1 is adjusted to the group mean

(5) Repeat (1) to (4) with different seeds and s. Thresholding is faster, however, it is not adaptive to local properties. e.g. if a neighbourhood is as following

5

7

6

4

2

5

7

6

5

 

For thresholding with a threshold of 4 the results will be

1 1 1
1 0 1
1 1 1

while with the region-growing technique, if the seed I = 2 and = 1, 2 will not be assigned to a segment label because no neighbourhood pixel will meet the criterion in (4).

Image segmentation can also be done using clustering algorithms. Segmentation is usually used as the first step in image analysis. Once an image is properly segmented, the following operation can be performed: classification, morphological operation, and image understanding through knowledge-based or more advanced computation.