| OpenCV 3.4.8 Open Source Computer Vision

Static Public Member Functions | List of all members
cv::face::EigenFaceRecognizer Class Reference
Face Analysis

`#include <opencv2/face/facerec.hpp>`

Inheritance diagram for cv::face::EigenFaceRecognizer:

## Static Public Member Functions
static Ptr< EigenFaceRecognizer > | create (int num_components=0, double threshold=DBL_MAX)
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file. More...
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node. More...

## Additional Inherited Members
Public Member Functions inherited from cv::face::BasicFaceRecognizer
virtual bool | empty () const CV_OVERRIDE
cv::Mat | getEigenValues () const
cv::Mat | getEigenVectors () const
cv::Mat | getLabels () const
cv::Mat | getMean () const
int | getNumComponents () const
std::vector< cv::Mat > | getProjections () const
double | getThreshold () const CV_OVERRIDE
virtual void | read (const FileNode &fn) CV_OVERRIDE
void | setNumComponents (int val)
void | setThreshold (double val) CV_OVERRIDE
virtual void | write (FileStorage &fs) const CV_OVERRIDE
Public Member Functions inherited from cv::face::FaceRecognizer
virtual String | getLabelInfo (int label) const
| Gets string information by label. More...
virtual std::vector< int > | getLabelsByString (const String &str) const
| Gets vector of labels by string. More...
int | predict (InputArray src) const
void | predict (InputArray src, int &label, double &confidence) const
| Predicts a label and associated confidence (e.g. distance) for a given input image. More...
virtual void | predict (InputArray src, Ptr< PredictCollector > collector) const =0
| if implemented - send all result of prediction to collector that can be used for somehow custom result handling More...
virtual void | read (const String &filename)
| Loads a FaceRecognizer and its model state. More...
virtual void | setLabelInfo (int label, const String &strInfo)
| Sets string info for the specified model's label. More...
virtual void | train (InputArrayOfArrays src, InputArray labels)=0
| Trains a FaceRecognizer with given data and associated labels. More...
virtual void | update (InputArrayOfArrays src, InputArray labels)
| Updates a FaceRecognizer with given data and associated labels. More...
virtual void | write (const String &filename) const
| Saves a FaceRecognizer and its model state. More...
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state. More...
virtual String | getDefaultName () const
virtual void | save (const String &filename) const
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
| simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const
Protected Attributes inherited from cv::face::BasicFaceRecognizer
Mat | _eigenvalues
Mat | _eigenvectors
Mat | _labels
Mat | _mean
int | _num_components
std::vector< Mat > | _projections
double | _threshold
Protected Attributes inherited from cv::face::FaceRecognizer
std::map< int, String > | _labelsInfo

## Member Function Documentation

## § create()

static Ptr<EigenFaceRecognizer> cv::face::EigenFaceRecognizer::create | ( | int | num_components = `0`,
|  | double | threshold = `DBL_MAX`
| ) |  |
| static

Python:
| retval | = | cv.face.EigenFaceRecognizer_create( | [, num_components[, threshold]] | )

Parameters

  num_components | The number of components (read: Eigenfaces) kept for this Principal Component Analysis. As a hint: There's no rule how many components (read: Eigenfaces) should be kept for good reconstruction capabilities. It is based on your input data, so experiment with the number. Keeping 80 components should almost always be sufficient.
  threshold | The threshold applied in the prediction.

### Notes:

- Training and prediction must be done on grayscale images, use cvtColor to convert between the color spaces.
- THE EIGENFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. (caps-lock, because I got so many mails asking for this). You have to make sure your input data has the correct shape, else a meaningful exception is thrown. Use resize to resize the images.
- This model does not support updating.

### Model internal data:

- num_components see EigenFaceRecognizer::create.
- threshold see EigenFaceRecognizer::create.
- eigenvalues The eigenvalues for this Principal Component Analysis (ordered descending).
- eigenvectors The eigenvectors for this Principal Component Analysis (ordered by their eigenvalue).
- mean The sample mean calculated from the training data.
- projections The projections of the training data.
- labels The threshold applied in the prediction. If the distance to the nearest neighbor is larger than the threshold, this method returns -1.

The documentation for this class was generated from the following file:

- opencv2/face/facerec.hpp