OpenCV 5.0.0-pre
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::face::FisherFaceRecognizer Class Reference

#include <opencv2/face/facerec.hpp>

Collaboration diagram for cv::face::FisherFaceRecognizer:

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 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
 
- Public Member Functions inherited from cv::face::FaceRecognizer
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.
 
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 setLabelInfo (int label, const String &strInfo)
 Sets string info for the specified model's label.
 
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.
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual String getDefaultName () const
 
virtual void save (const String &filename) const
 
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
Python:
cv.face.FisherFaceRecognizer.create([, num_components[, threshold]]) -> retval
cv.face.FisherFaceRecognizer_create([, num_components[, threshold]]) -> retval
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: