# Link to this section Summary

## Types

Type that represents an Face.FisherFaceRecognizer struct.

create

create

# t()

View Source
@type t() :: %Evision.Face.FisherFaceRecognizer{ref: reference()}

Type that represents an Face.FisherFaceRecognizer struct.

• ref. reference()

The underlying erlang resource variable.

# create()

View Source
@spec create() :: t() | {:error, String.t()}

create

##### Keyword Arguments
• num_components: int.

The 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.

• threshold: double.

The threshold applied in the prediction. If the distance to the nearest neighbor is larger than the threshold, this method returns -1.

##### Return
• retval: FisherFaceRecognizer

### notes 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 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.

Python prototype (for reference only):

create([, num_components[, threshold]]) -> retval

# create(opts)

View Source
@spec create([{atom(), term()}, ...] | nil) :: t() | {:error, String.t()}

create

##### Keyword Arguments
• num_components: int.

The 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.

• threshold: double.

The threshold applied in the prediction. If the distance to the nearest neighbor is larger than the threshold, this method returns -1.

##### Return
• retval: FisherFaceRecognizer

### notes 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 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.

Python prototype (for reference only):

create([, num_components[, threshold]]) -> retval