OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::face::EigenFaceRecognizer 类参考

#include <opencv2/face/facerec.hpp>

cv::face::EigenFaceRecognizer 的协作图

静态公共成员函数

static Ptr< EigenFaceRecognizercreate (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< EigenFaceRecognizer > cv::face::EigenFaceRecognizer::create ( int num_components = 0,
double threshold = DBL_MAX )
static
Python
cv.face.EigenFaceRecognizer.create([, num_components[, threshold]]) -> retval
cv.face.EigenFaceRecognizer_create([, num_components[, threshold]]) -> retval
参数
num_components为此主成分分析保留的组件(读作:特征脸)的数量。提示:没有规则规定应该保留多少组件(读作:特征脸)以获得良好的重建能力。它基于您的输入数据,因此请尝试使用该数字。保留 80 个组件几乎总是足够的。
RANSAC参数。它是点到像素中对极线的最大距离,超过此距离的点将被视为异常值,不用于计算最终的基本矩阵。它可以设置为1-3左右,具体取决于点定位的精度、图像分辨率和图像噪声。预测中应用的阈值。

注释

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

模型内部数据

  • num_components 请参见 EigenFaceRecognizer::create
  • threshold 请参见 EigenFaceRecognizer::create
  • eigenvalues 此主成分分析的特征值(按降序排列)。
  • eigenvectors 此主成分分析的特征向量(按其特征值排序)。
  • mean 从训练数据计算的样本均值。
  • projections 训练数据的投影。
  • labels 预测中应用的阈值。如果到最近邻的距离大于阈值,则此方法返回 -1。

此类文档由以下文件生成