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

#include <opencv2/face/facerec.hpp>

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 (const Ptr< FileStorage > &fs, const String &name=String()) 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()

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: