FaceRecognitionLib
PCA.h
Go to the documentation of this file.
1 /* Copyright (C) 2016 Kristian Sloth Lauszus. All rights reserved.
2 
3  This software may be distributed and modified under the terms of the GNU
4  General Public License version 2 (GPL2) as published by the Free Software
5  Foundation and appearing in the file GPL2.TXT included in the packaging of
6  this file. Please note that GPL2 Section 2[b] requires that all works based
7  on this software must also be made publicly available under the terms of
8  the GPL2 ("Copyleft").
9 
10  Contact information
11  -------------------
12 
13  Kristian Sloth Lauszus
14  Web : http://www.lauszus.com
15  e-mail : lauszus@gmail.com
16 */
17 
18 #ifndef __pca_h__
19 #define __pca_h__
20 
21 #include <Eigen/Dense> // http://eigen.tuxfamily.org
22 
23 using namespace Eigen;
24 
25 class PCA {
26 public:
33  int32_t compute(const MatrixXi &images, int32_t numComponents = -1);
34 
35 protected:
36  MatrixXf U; // Eigenvectors
37  VectorXf mu; // Mean along each row
38 
39 private:
40  const float cumulativeEnergyThreshold = .9f; // Determine the number of principal components required to model 90 % of data variance
41 };
42 
43 #endif
MatrixXf U
Definition: PCA.h:36
VectorXf mu
Definition: PCA.h:37
Definition: PCA.h:25