Direct Graphical Models  v.1.7.0
FEX Module
Collaboration diagram for FEX Module:


 Local Features Extraction
 Global Features Extraction


class  DirectGraphicalModels::fex::CCommonFeatureExtractor
 Common class, which unites feature extraction algorithms. More...
class  DirectGraphicalModels::fex::IFeatureExtractor
 Interface class for feature extraction algorithms. More...

Detailed Description

Feature Extraction Module

allows for extracting various descriptors from images, which are useful for classification.

For the practical application, the original input data is preprocessed to transform it into some new space of descriptors (features) where, it is hoped, the classification problem will be easier to solve. The main idea of this preprocessing is to reduce the variability of input data for each class, and thus to make it much easier for a subsequent classification algorithm to distinguish between the different classes. This preprocessing stage is also called feature extraction. Note that new test data must be preprocessed using the same steps as the training data.

This module consists of local-features and global-features extractors. The local features are extracted for every pixel of an image, whereas the global features - for the whole image. There are 3 ways of using the feature extraction module in your code. Let us cosider the extraction of a local feature coordinate.

The first way is to declare the correspondig class and call its method DirectGraphicalModels::fex::ILocalFeatureExtractor::get() :

CCoordinate cfExtractor(img)
Mat coordinatate = cfExtractor.get();

Alternatively one may call the corresponding static function, without declring the class instance:

Mat coordinatate = CCoordinate::get(img);

The third way is to use the common feature extracton interface DirectGraphicalModels::fex::CCommonFeatureExtractor, which supports fluent interface. Please see also the class documentation for more details:

CCommonFeatureExtractor fExtractor(img);
Mat coordinatate = fExtractor.getCoordinate().get(); // local feature
size_t numLines = fExtractor.toGlobal().getNumLines(); // global feature

Please see also our tutorial: Demo Feature Extraction.

Sergey G. Kosov,