OpenCV 4.10.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 FileNode &fn) CV_OVERRIDE=0
 
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
 
virtual void write (FileStorage &fs) const CV_OVERRIDE=0
 
- 从 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]]) -> retval
cv.face.FisherFaceRecognizer_create([, num_components[, threshold]]) -> retval
参数
num_components使用 Fisherface 准则进行线性判别分析时保留的成分(即 Fisherface)数量。最好保留所有成分,这意味着您的类别数 c(即您要识别的主题、人员)。如果您将其保留为默认值(0)或将其设置为小于等于 0 或大于 (c-1) 的值,它将自动设置为正确的值 (c-1)。
threshold在预测中应用的阈值。如果与最近邻居的距离大于阈值,则此方法返回 -1。

注释

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

模型内部数据

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

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