0

我正在尝试在 EmguCV 中执行 PCA:

Matrix matrix = new Matrix(noOfSamples, noOfFeatures); 

// put data in matrix 

Matrix pMean = new Matrix(1, noOfFeatures);

Matrix pEigVals = new Matrix(noOfFeatures, 1); 

Matrix pEigVecs = new Matrix(noOfFeatures, noOfFeatures); 

CvInvoke.cvCalcPCA(matrix, pMean, pEigVals, pEigVecs, PCA_TYPE.CV_PCA_DATA_AS_ROW);

但是当noOfFeatures > noOfSamples. 它在其他情况下工作正常。这意味着如果我有 size 的图像32*32=1024=noOfFeatures,那么我将需要至少 1024 个样本,这是不切实际的。我只有大约 100 个样本。在这种情况下如何执行 PCA?

4

0 回答 0