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。

此類文件由以下檔案生成