OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::face::FisherFaceRecognizer 类参考

#include <opencv2/face/facerec.hpp>

cv::face::FisherFaceRecognizer 的协作图

静态公共成员函数

static Ptr< FisherFaceRecognizercreate (int num_components=0, double threshold=DBL_MAX)
 
- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 

其他继承成员

- 从 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)
 加载 FaceRecognizer 及其模型状态。
 
void setNumComponents (int val)
 
void setThreshold (double val) CV_OVERRIDE
 
virtual void write (const String &filename) const
 保存 FaceRecognizer 及其模型状态。
 
virtual void write (FileStorage &fs) const CV_OVERRIDE
 
- 从 cv::face::FaceRecognizer 继承的公共成员函数
virtual String getLabelInfo (int label) const
 根据标签获取字符串信息。
 
virtual std::vector< int > getLabelsByString (const String &str) const
 根据字符串获取标签向量。
 
int predict (InputArray src) const
 
void predict (InputArray src, int &label, double &confidence) const
 预测给定输入图像的标签和关联置信度(例如距离)。
 
virtual void predict (InputArray src, Ptr< PredictCollector > collector) const =0
 
  • 如果实现 - 将预测的所有结果发送到收集器,该收集器可用于某种自定义结果处理

 
virtual void setLabelInfo (int label, const String &strInfo)
 设置指定模型标签的字符串信息。
 
virtual void train (InputArrayOfArrays src, InputArray labels)=0
 使用给定的数据和关联标签训练 FaceRecognizer
 
virtual void update (InputArrayOfArrays src, InputArray labels)
 使用给定的数据和关联标签更新 FaceRecognizer
 
- 从 cv::Algorithm 继承的公共成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
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
 
- 继承自 cv::Algorithm 的保护成员函数
void writeFormat (FileStorage &fs) const
 
- 继承自 cv::face::BasicFaceRecognizer 的保护成员变量
Mat _eigenvalues
 
Mat _eigenvectors
 
Mat _labels
 
Mat _mean
 
int _num_components
 
std::vector< Mat_projections
 
double _threshold
 
- 继承自 cv::face::FaceRecognizer 的保护成员变量
std::map< int, String_labelsInfo
 

成员函数文档

◆ 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]]) -> 返回值
cv.face.FisherFaceRecognizer_create([, num_components[, threshold]]) -> 返回值
参数
num_components保留的特征脸(Fisherfaces)数量,用于基于Fisherfaces准则的线性判别分析。保留所有特征脸通常很有用,这意味着您的类别数c(即,您想要识别的对象或人员)。如果将其保留为默认值(0)或设置为小于等于0或大于(c-1)的值,则它将自动设置为正确的值(c-1)。
threshold预测中应用的阈值。如果到最近邻的距离大于阈值,则此方法返回-1。

注意

  • 训练和预测必须在灰度图像上进行,使用cvtColor在颜色空间之间转换。
  • **FISHERFACES方法假设训练和测试图像大小相同。**(大写加粗,因为我收到了很多询问此问题的邮件)。您必须确保输入数据具有正确的形状,否则会抛出有意义的异常。使用resize调整图像大小。
  • 此模型不支持更新。

模型内部数据

  • num_components 参见 FisherFaceRecognizer::create
  • threshold 参见 FisherFaceRecognizer::create
  • eigenvalues 此线性判别分析的特征值(按降序排列)。
  • eigenvectors 此线性判别分析的特征向量(按其特征值排序)。
  • mean 从训练数据计算出的样本均值。
  • projections 训练数据的投影。
  • labels 与投影对应的标签。

此类的文档是从以下文件生成的: