Image Processing Reference
in the list. This is continued until all pixels in the list have been investigated. The
algorithm then continues following the scan path in Fig. 4.28 until it meets the next
object pixel, which is then labeled 2, and starts a new grass-fire.
Extracting the BLOBs is the first step when confronted with examples like those
presented in Fig. 7.1 . The next step is now to classify the different BLOBs. For the
example with the circles, we want to classify each BLOB as either a circle or not
a circle, and, for the other example, human vs. non-human BLOBs. The classifi-
cation process consists of two steps. First, each BLOB is represented by a number
of characteristics, denoted features , and second, some matching method is applied
to compare the features of each BLOB with the features of the type of object we
are looking for. For example, to find circles we could calculate the circularity of
each BLOB and compare that to the circularity of a perfect circle. Below we will
present how we can extract different features and in the next section then show how
to compare features.
Feature extraction is a matter of converting each BLOB into a few representative
numbers. That is, keep the relevant information and ignore the rest. But before cal-
culating any features we first want to exclude every BLOB which is connected to
the border of the image. The reason is that we in general have no information about
the part of the object outside the image. For example, the semi-circle to the right of
the human in Fig. 7.1 might look like a circle, but it might as well be the top of the
head of a person lying down! Therefore, exclude all such BLOBs.
Having done so, a number of features can be calculated for each BLOB. Here
follows a description of the most common features, but many others exist and new
ones can be defined. 1
Area of a BLOB is the number of pixels the BLOB consists of. This feature is often
used to remove BLOBs that are too small or too big from the image. For example,
in Fig. 7.1 (right) the human can be segmented by simply saying that all BLOBs
with an area smaller than a certain value are ignored.
Bounding box of a BLOB is the minimum rectangle which contains the BLOB,
see Fig. 7.5 . It is defined by going through all pixels for a BLOB and finding the
four pixels with the minimum x-value, maximum x-value, minimum y-value and
maximum y-value, respectively. From these values the width of the bounding box
is given as x max −
x min and the height as y max −
y min . A bounding box can be used
as a ROI.
Bounding circle of a BLOB is the minimum circle which contains the BLOB, see
Fig. 7.5 . It is found by first locating the center of the BLOB with one of the methods
describe below. Next we search from the center and outwards in one direction until
we find the point where the BLOB ends. The distance between this point and the
1 In Sect. 9.3.1 features based on texture or color are described.