Loading...
Searching...
No Matches
cv::face::FisherFaceRecognizer Class Reference

#include <opencv2/face/facerec.hpp>

Inheritance diagram for cv::face::FisherFaceRecognizer:
cv::face::BasicFaceRecognizer cv::face::FaceRecognizer cv::Algorithm

Static Public Member Functions

static Ptr< FisherFaceRecognizercreate (int num_components=0, double threshold=DBL_MAX)
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

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::MatgetProjections () const
 
double getThreshold () const CV_OVERRIDE
 
virtual void read (const FileNode &fn) CV_OVERRIDE
 
virtual void read (const FileNode &fn) CV_OVERRIDE=0
 
virtual void read (const String &filename)
 Loads a FaceRecognizer and its model state.
 
void setNumComponents (int val)
 
void setThreshold (double val) CV_OVERRIDE
 
virtual void write (const String &filename) const
 Saves a FaceRecognizer and its model state.
 
virtual void write (FileStorage &fs) const CV_OVERRIDE
 
virtual void write (FileStorage &fs) const CV_OVERRIDE=0
 
- Public Member Functions inherited from cv::face::FaceRecognizer
virtual bool empty () const CV_OVERRIDE=0
 
virtual String getLabelInfo (int label) const
 Gets string information by label.
 
virtual std::vector< int > getLabelsByString (const String &str) const
 Gets vector of labels by string.
 
virtual double getThreshold () const =0
 threshold parameter accessor - required for default BestMinDist collector
 
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.
 
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

 
virtual void read (const FileNode &fn) CV_OVERRIDE=0
 
virtual void read (const String &filename)
 Loads a FaceRecognizer and its model state.
 
virtual void setLabelInfo (int label, const String &strInfo)
 Sets string info for the specified model's label.
 
virtual void setThreshold (double val)=0
 Sets threshold of model.
 
virtual void train (InputArrayOfArrays src, InputArray labels)=0
 Trains a FaceRecognizer with given data and associated labels.
 
virtual void update (InputArrayOfArrays src, InputArray labels)
 Updates a FaceRecognizer with given data and associated labels.
 
virtual void write (const String &filename) const
 Saves a FaceRecognizer and its model state.
 
virtual void write (FileStorage &fs) const CV_OVERRIDE=0
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 
- 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< FisherFaceRecognizer > cv::face::FisherFaceRecognizer::create ( int  num_components = 0,
double  threshold = DBL_MAX 
)
static
Parameters
num_componentsThe number of components (read: Fisherfaces) kept for this Linear Discriminant Analysis with the Fisherfaces criterion. It's useful to keep all components, that means the number of your classes c (read: subjects, persons you want to recognize). If you leave this at the default (0) or set it to a value less-equal 0 or greater (c-1), it will be set to the correct number (c-1) automatically.
thresholdThe threshold applied in the prediction. If the distance to the nearest neighbor is larger than the threshold, this method returns -1.

Notes:

  • Training and prediction must be done on grayscale images, use cvtColor to convert between the color spaces.
  • THE FISHERFACES 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 FisherFaceRecognizer::create.
  • threshold see FisherFaceRecognizer::create.
  • eigenvalues The eigenvalues for this Linear Discriminant Analysis (ordered descending).
  • eigenvectors The eigenvectors for this Linear Discriminant Analysis (ordered by their eigenvalue).
  • mean The sample mean calculated from the training data.
  • projections The projections of the training data.
  • labels The labels corresponding to the projections.

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