简单使用 cvCalcPCA 计算主成分的代码
CvMat* pData = cvCreateMat(100, 2, CV_32FC1); //二维数据点
for(int i = 0; i < 100; i++)
...{
cvSet2D(pData, i, 0,cvRealScalar(i));
cvSet2D(pData, i, 1,cvRealScalar(i));
}
CvMat* pMean = cvCreateMat(1, 2, CV_32FC1);
CvMat* pEigVals = cvCreateMat(1, 2, CV_32FC1);
CvMat* pEigVecs = cvCreateMat(2, 2, CV_32FC1);
cvCalcPCA(pData, pMean, pEigVals, pEigVecs, CV_PCA_DATA_AS_ROW );
float pp[100];
memcpy(pp,pEigVals->data.fl,100 );
memcpy(pp,pEigVecs->data.fl,100 );
memcpy(pp,pMean->data.fl,100 );
本文介绍了一个简单的示例,展示如何使用OpenCV中的cvCalcPCA函数来计算二维数据集的主成分。该示例创建了包含100个二维数据点的数据集,并通过cvCalcPCA函数计算出平均值、特征值及特征向量。
6101

被折叠的 条评论
为什么被折叠?



