pub trait EigenFaceRecognizer: BasicFaceRecognizer + EigenFaceRecognizerConst {
    // Required method
    fn as_raw_mut_EigenFaceRecognizer(&mut self) -> *mut c_void;
}

Required Methods§

Implementations§

source§

impl dyn EigenFaceRecognizer + '_

source

pub fn create( num_components: i32, threshold: f64 ) -> Result<Ptr<dyn EigenFaceRecognizer>>

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.
C++ default parameters
  • num_components: 0
  • threshold: DBL_MAX

Implementors§