CVR-Lib last update 20 Sep 2009

Segmentation Overview

Segmentation is a complex task, and the number of functors in the CVR-Lib that deal with segmentation grows.

.. A few extra-notes are required.

There are two sorts of segmentation functors. Traditional "complete" algorithms and "blocks", with which you can build your own segmentation approach. There are also tools to convert the results from one representation to another.

Complete Algorithms

The complete algorithms are:

Functional Blocks

There are several blocks, that can be used as part of a more complex segmentation approach.

Tools for segmentation

Segmentation algorithms produce usually so called "masks", i.e. channels, where each pixel contains a label value. These masks can be considered for two classes problems, where only values of zero and not-zero will be differentiated, and "labeled" masks, where each value is considered as a different object. To extract the position of each single object in the image in an efficient way the functor cvr::objectsFromMask should be used. Sometimes the cvr::fastRelabeling functor provides all functionality required for this task.

The cvr::boundingBox functor can use one of the pointLists extracted with cvr::objectsFromMask to produce a new image with only one object.

It is useful sometimes to generate a color image, where each label found in the segmentation is replaced by its mean color, producing an color quantized image. Here, the functors cvr::usePalette and cvr::computePalette are helpful.


Generated on Sun Sep 20 22:08:32 2009 for CVR-Lib by Doxygen 1.5.8